jasperjiaguo commented on code in PR #10777: URL: https://github.com/apache/pinot/pull/10777#discussion_r1204787553
########## pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java: ########## @@ -628,13 +630,22 @@ private File downloadAndStreamUntarWithRateLimit(String segmentName, SegmentZKMe maxStreamRateInByte); String uri = zkMetadata.getDownloadUrl(); try { - File ret = SegmentFetcherFactory.fetchAndStreamUntarToLocal(uri, tempRootDir, maxStreamRateInByte); - LOGGER.info("Download and untarred segment: {} for table: {} from: {}", segmentName, _tableNameWithType, uri); - return ret; + AtomicInteger attempts = new AtomicInteger(0); + File ret = SegmentFetcherFactory.fetchAndStreamUntarToLocal(uri, tempRootDir, maxStreamRateInByte, attempts); + _serverMetrics.addMeteredTableValue(_tableNameWithType, ServerMeter.SEGMENT_STREAMED_DOWNLOAD_UNTAR_FAILURES, + attempts.get()); + LOGGER.info("Downloaded and untarred segment: {} for table: {} from: {} attempts: {}", segmentName, + _tableNameWithType, uri, attempts.get()); + return ret; } catch (AttemptsExceededException e) { + _serverMetrics.addMeteredTableValue(_tableNameWithType, ServerMeter.SEGMENT_STREAMED_DOWNLOAD_UNTAR_FAILURES, + e.getAttempts()); LOGGER.error("Attempts exceeded when stream download-untarring segment: {} for table: {} from: {} to: {}", segmentName, _tableNameWithType, uri, tempRootDir); - _serverMetrics.addMeteredTableValue(_tableNameWithType, ServerMeter.SEGMENT_STREAMED_DOWNLOAD_UNTAR_FAILURES, 1L); + throw e; + } catch (RetriableOperationException e) { + _serverMetrics.addMeteredTableValue(_tableNameWithType, ServerMeter.SEGMENT_STREAMED_DOWNLOAD_UNTAR_FAILURES, + e.getAttempts()); Review Comment: Should we use attempts.get() here as well for consistency, since we have already populated attempts even upon exception in fetchUntarSegmentToLocalStreamed? -- 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