You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by si...@apache.org on 2022/09/14 05:21:41 UTC
[pinot] branch master updated: adding routing entry checker for null tables (#9396)
This is an automated email from the ASF dual-hosted git repository.
siddteotia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new b777a620c4 adding routing entry checker for null tables (#9396)
b777a620c4 is described below
commit b777a620c48c542fb6e42e04da4eed1b9cb5992d
Author: Rong Rong <wa...@gmail.com>
AuthorDate: Tue Sep 13 22:21:35 2022 -0700
adding routing entry checker for null tables (#9396)
Co-authored-by: Rong Rong <ro...@startree.ai>
---
.../org/apache/pinot/query/routing/WorkerManager.java | 19 ++++++++++++++++---
.../apache/pinot/query/QueryEnvironmentTestUtils.java | 2 +-
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java b/pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java
index 9238c33ca4..112aec606b 100644
--- a/pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java
+++ b/pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java
@@ -64,6 +64,9 @@ public class WorkerManager {
// table scan stage, need to attach server as well as segment info for each physical table type.
String logicalTableName = scannedTables.get(0);
Map<String, RoutingTable> routingTableMap = getRoutingTable(logicalTableName);
+ if (routingTableMap.size() == 0) {
+ throw new IllegalArgumentException("Unable to find routing entries for table: " + logicalTableName);
+ }
// acquire time boundary info if it is a hybrid table.
if (routingTableMap.size() > 1) {
TimeBoundaryInfo timeBoundaryInfo = _routingManager.getTimeBoundaryInfo(TableNameBuilder
@@ -125,11 +128,21 @@ public class WorkerManager {
String rawTableName = TableNameBuilder.extractRawTableName(logicalTableName);
TableType tableType = TableNameBuilder.getTableTypeFromTableName(logicalTableName);
Map<String, RoutingTable> routingTableMap = new HashMap<>();
+ RoutingTable routingTable;
if (tableType == null) {
- routingTableMap.put(TableType.OFFLINE.name(), getRoutingTable(rawTableName, TableType.OFFLINE));
- routingTableMap.put(TableType.REALTIME.name(), getRoutingTable(rawTableName, TableType.REALTIME));
+ routingTable = getRoutingTable(rawTableName, TableType.OFFLINE);
+ if (routingTable != null) {
+ routingTableMap.put(TableType.OFFLINE.name(), routingTable);
+ }
+ routingTable = getRoutingTable(rawTableName, TableType.REALTIME);
+ if (routingTable != null) {
+ routingTableMap.put(TableType.REALTIME.name(), routingTable);
+ }
} else {
- routingTableMap.put(tableType.name(), getRoutingTable(logicalTableName, tableType));
+ routingTable = getRoutingTable(logicalTableName, tableType);
+ if (routingTable != null) {
+ routingTableMap.put(tableType.name(), routingTable);
+ }
}
return routingTableMap;
}
diff --git a/pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTestUtils.java b/pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTestUtils.java
index e8c29aeb02..7197152d1d 100644
--- a/pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTestUtils.java
+++ b/pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTestUtils.java
@@ -75,7 +75,7 @@ public class QueryEnvironmentTestUtils {
public static TableCache mockTableCache() {
TableCache mock = mock(TableCache.class);
- when(mock.getTableNameMap()).thenReturn(ImmutableMap.of("a_REALTIME", "a", "b_REALTIME", "b", "c_REALTIME", "c",
+ when(mock.getTableNameMap()).thenReturn(ImmutableMap.of("a_REALTIME", "a", "b_REALTIME", "b", "c_OFFLINE", "c",
"d_OFFLINE", "d", "d_REALTIME", "d"));
when(mock.getSchema("a")).thenReturn(SCHEMA_BUILDER.setSchemaName("a").build());
when(mock.getSchema("b")).thenReturn(SCHEMA_BUILDER.setSchemaName("b").build());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org