walterddr commented on code in PR #11234:
URL: https://github.com/apache/pinot/pull/11234#discussion_r1284544009
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java:
##########
@@ -391,32 +359,39 @@ private ColocatedTableInfo getColocatedTableInfo(String
tableName) {
}
return new ColocatedTableInfo(colocatedPartitionInfoMap,
timeBoundaryInfo);
} else if (offlineRoutingExists) {
- return getOfflineColocatedTableInfo(offlineTableName);
+ return getOfflineColocatedTableInfo(offlineTableName, partitionKey,
numPartitions);
} else {
- return getRealtimeColocatedTableInfo(realtimeTableName);
+ return getRealtimeColocatedTableInfo(realtimeTableName, partitionKey,
numPartitions);
}
} else {
if (tableType == TableType.OFFLINE) {
- return getOfflineColocatedTableInfo(tableName);
+ return getOfflineColocatedTableInfo(tableName, partitionKey,
numPartitions);
} else {
- return getRealtimeColocatedTableInfo(tableName);
+ return getRealtimeColocatedTableInfo(tableName, partitionKey,
numPartitions);
}
}
}
- private TablePartitionInfo getTablePartitionInfo(String tableNameWithType) {
+ private TablePartitionInfo getTablePartitionInfo(String tableNameWithType,
String partitionKey, int numPartitions) {
TablePartitionInfo tablePartitionInfo =
_routingManager.getTablePartitionInfo(tableNameWithType);
Preconditions.checkState(tablePartitionInfo != null, "Failed to find table
partition info for table: %s",
tableNameWithType);
+
Preconditions.checkState(tablePartitionInfo.getPartitionColumn().equals(partitionKey),
+ "Partition key: %s does not match partition column: %s for table: %s",
partitionKey,
+ tablePartitionInfo.getPartitionColumn(), tableNameWithType);
+ Preconditions.checkState(tablePartitionInfo.getNumPartitions() ==
numPartitions,
Review Comment:
yes technically speaking the table partition hint is used for 2 reasons
(mixed)
1. to indicate what's the table partition - which we can in the future
improved to be automatic
2. indicate that data is already partitioned and no need to reshuffle the
data when unnecessary - this we can debate whether we want to create a new hint
for such behavior change
--
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]