walterddr commented on code in PR #10886:
URL: https://github.com/apache/pinot/pull/10886#discussion_r1230250511
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java:
##########
@@ -206,41 +179,318 @@ private Map<String, RoutingTable> getRoutingTable(String
logicalTableName, long
}
private RoutingTable getRoutingTable(String tableName, TableType tableType,
long requestId) {
- String tableNameWithType =
TableNameBuilder.forType(tableType).tableNameWithType(
- TableNameBuilder.extractRawTableName(tableName));
+ String tableNameWithType =
+
TableNameBuilder.forType(tableType).tableNameWithType(TableNameBuilder.extractRawTableName(tableName));
return _routingManager.getRoutingTable(
CalciteSqlCompiler.compileToBrokerRequest("SELECT * FROM " +
tableNameWithType), requestId);
}
- // TODO: Find a better way to determine whether a stage is leaf stage or
intermediary. We could have query plans that
- // process table data even in intermediary stages.
- private boolean isLeafStage(DispatchablePlanMetadata
dispatchablePlanMetadata) {
- return dispatchablePlanMetadata.getScannedTables().size() == 1;
+ private void assignWorkersToIntermediateFragment(PlanFragment fragment,
DispatchablePlanContext context) {
+ if (isColocatedJoin(fragment.getFragmentRoot())) {
+ try {
+ assignWorkersForColocatedJoin(fragment, context);
Review Comment:
ideally this can be generic as assignWorkersWithPartitionRequirements and we
can also do partitioned-group-by or window partition aggregate
but a TODO would be sufficient.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]