priyeshkaratha opened a new pull request, #10768:
URL: https://github.com/apache/ozone/pull/10768

   ## What changes were proposed in this pull request?
   
   SCM's `ScmBlockDeletingServiceMetrics` currently exposes only 
**transaction-level** deletion metrics, such as 
`numBlockDeletionTransactionCreated` and 
`numBlockDeletionTransactionCompleted`. This makes it difficult to measure 
actual block deletion throughput.
   
   This PR adds a new metric, `numBlocksDeleted` 
(`scm_block_deleting_service_metrics_num_blocks_deleted`), which counts the 
total number of blocks deleted once a delete transaction has been fully 
acknowledged by all replicas and removed from the deleted-block log.
   
   Since datanode acknowledgements only contain the transaction ID, container 
ID, and status, SCM tracks the block count using an in-memory 
`transactionToBlockCountMap` (`txID → block count`). The map is populated when 
transactions are prepared for sending and consumed when transactions are 
completed, covering both the normal ACK path and the container 
deleted/not-found path.
   
   This approach avoids RocksDB lookups during commit and does not rely on the 
existing `txSizeMap`, which is only populated for newer layout versions. 
Removing entries after use ensures each transaction is counted exactly once, 
even with retries or duplicate acknowledgements. The added work is O(1) and has 
no measurable impact on deletion performance.
   
   
   ## What is the link to the Apache JIRA
   
    HDDS-13110
   
   ## How was this patch tested?
   
   Tested manually and using mini ozone cluster in code
   
   Generated by AI
   


-- 
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]

Reply via email to