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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to