-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support non-selection-only GRPC server request handler #7839
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #7839 +/- ##
============================================
- Coverage 71.46% 68.35% -3.11%
+ Complexity 4079 4012 -67
============================================
Files 1583 1194 -389
Lines 81871 59366 -22505
Branches 12239 9173 -3066
============================================
- Hits 58509 40580 -17929
+ Misses 19393 15922 -3471
+ Partials 3969 2864 -1105
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
a98d316
to
d12a963
Compare
...-core/src/main/java/org/apache/pinot/core/query/request/context/utils/QueryContextUtils.java
Outdated
Show resolved
Hide resolved
pinot-core/src/main/java/org/apache/pinot/core/plan/StreamingInstanceResponsePlanNode.java
Outdated
Show resolved
Hide resolved
pinot-core/src/main/java/org/apache/pinot/core/operator/streaming/StreamingResponseUtils.java
Outdated
Show resolved
Hide resolved
pinot-core/src/main/java/org/apache/pinot/core/operator/StreamingInstanceResponseOperator.java
Outdated
Show resolved
Hide resolved
pinot-core/src/main/java/org/apache/pinot/core/common/datatable/DataTableUtils.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest adding 2 methods DataTable toMetadataOnlyDataTable()
and DataTable toDataOnlyDataTable()
to the DataTable
interface
pinot-core/src/main/java/org/apache/pinot/core/common/datatable/DataTableImplV2.java
Outdated
Show resolved
Hide resolved
pinot-common/src/main/java/org/apache/pinot/common/utils/DataTable.java
Outdated
Show resolved
Hide resolved
pinot-core/src/main/java/org/apache/pinot/core/common/datatable/DataTableUtils.java
Outdated
Show resolved
Hide resolved
9f874a4
to
4f9012b
Compare
4f9012b
to
3871b01
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM otherwise
public DataTable toMetadataOnlyDataTable() { | ||
DataTable destDataTable = DataTableBuilder.getEmptyDataTable(); | ||
destDataTable.getMetadata().putAll(this.getMetadata()); | ||
if (!this.getExceptions().isEmpty()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method needs to be implemented in each individual data table implementation as in V2 the exception is stored in _metadata
, but in V3 it is stored as a separate map. We don't want to add the exception again if it is already stored in _metadata
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a. good catch.. btw when are we deprecating v2 :-P ?
Currently GRPCServer only support selection-only queries.
This PR adds support for streaming back all other types of query response from server to broker.
This makes possible for the next step --> stream processing GRPC broker handler that can do partial data reduce in streaming fashion.