snleee commented on a change in pull request #8422:
URL: https://github.com/apache/pinot/pull/8422#discussion_r838865953
##########
File path:
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/OfflineClusterIntegrationTest.java
##########
@@ -408,7 +413,41 @@ public void testUploadSegmentRefreshOnly()
assertEquals(segmentsZKMetadata.size(), 1);
assertNotEquals(segmentsZKMetadata.get(0).getRefreshTime(),
Long.MIN_VALUE);
}
+ waitForNumOfSegmentsBecomeOnline(offlineTableName, 1);
Review comment:
What happens if we remove this?
##########
File path:
pinot-common/src/main/java/org/apache/pinot/common/metrics/ServerMeter.java
##########
@@ -33,6 +33,7 @@
QUERY_EXECUTION_EXCEPTIONS("exceptions", false),
HELIX_ZOOKEEPER_RECONNECTS("reconnects", true),
DELETED_SEGMENT_COUNT("segments", false),
+ DELETE_TABLE_FAILURES("tables", true),
Review comment:
are we emitting the metrics per table? In that case, does this needs to
be `false`? For instance, refresh failure sets this to be `false`. Can you
double-check on this?
##########
File path:
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManager.java
##########
@@ -1757,6 +1758,10 @@ public void deleteOfflineTable(String tableName) {
HelixHelper.removeResourceFromBrokerIdealState(_helixZkManager,
offlineTableName);
LOGGER.info("Deleting table {}: Removed from broker resource",
offlineTableName);
+ // Drop the table on servers
+ deleteTableOnServer(offlineTableName);
Review comment:
I see that we don't send the message if `externalview` is null from
`deleteTableOnServer()`. If we send without filtering, the helix side will
throw the exception? Or, you mention that we explicitly throw the exception?
##########
File path:
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManager.java
##########
@@ -3285,10 +3324,11 @@ private void waitForSegmentsBecomeOnline(String
tableNameWithType, Set<String> s
tableNameWithType, segmentsToCheck));
}
- private Set<String> getOnlineSegmentsFromExternalView(String
tableNameWithType) {
+ public Set<String> getOnlineSegmentsFromExternalView(String
tableNameWithType) {
ExternalView externalView = getTableExternalView(tableNameWithType);
- Preconditions
- .checkState(externalView != null, String.format("External view is null
for table (%s)", tableNameWithType));
+ if (externalView == null) {
Review comment:
Have you checked all the usage of `getOnlineSegmentsFromExternalView`?
This will change the behavior (returning null instead of throwing the
exception).
--
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]