jugomezv commented on code in PR #9994: URL: https://github.com/apache/pinot/pull/9994#discussion_r1054698326
########## pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/RealtimeTableDataManager.java: ########## @@ -212,6 +217,63 @@ protected void doShutdown() { if (_leaseExtender != null) { _leaseExtender.shutDown(); } + // Make sure we do metric cleanup when we shutdown the table. + if (_consumptionDelayTracker != null) { + _consumptionDelayTracker.shutdown(); + } + // Now that segments can't report metric destroy metric for this table + _serverMetrics.removeTableGauge(_tableNameWithType, ServerGauge.MAX_PINOT_CONSUMPTION_DELAY_MS); + } + + /* + * Method to handle CONSUMING->DROPPED transition. + * + * @param partitionGroupId Partition id that we must stop tracking on this server. + */ + public void stopTrackingPartitionDelay(long partitionGroupId) { + if (_consumptionDelayTracker != null) { + _consumptionDelayTracker.stopTrackingPartitionConsumptionDelay(partitionGroupId); + } + } + + /* + * Method to handle CONSUMING->ONLINE transition. + * If no new consumption is noticed for this segment in some timeout, we will read + * ideal state to verify the partition is still hosted in this server. + * + * @param partitionGroupId partition id of partition to be verified as hosted by this server. + */ + public void markPartitionForVerification(long partitionGroupId) { + if (_consumptionDelayTracker != null) { + _consumptionDelayTracker.markPartitionForConfirmation(partitionGroupId); + } + } + + /* + * Method used by LLRealtimeSegmentManagers to update their partition delays + * + * @param ingestionDelayMillis Ingestion delay being reported. + * @param currentTimeMillis Timestamp of the measure being provided, i.e. when this delay was computed. + * @param partitionGroupId Partition ID for which delay is being updated. + */ + public void updatePinotIngestionDelay(long ingestionDelayMillis, long currenTimeMillis, long partitionGroupId) { + if (_consumptionDelayTracker != null) { + _consumptionDelayTracker.storeConsumptionDelay(ingestionDelayMillis, currenTimeMillis, + partitionGroupId); + } + } + + /** + * Returns all partitionGroupIds for the partitions hosted by this server for current table. + */ + public List<Integer> getTablePartitionsHostedByThisServer() { Review Comment: makes sense -- 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