Skip to content

HDDS-13110. Add SCM metric for number of blocks deleted#10768

Open
priyeshkaratha wants to merge 1 commit into
apache:masterfrom
priyeshkaratha:HDDS-13110
Open

HDDS-13110. Add SCM metric for number of blocks deleted#10768
priyeshkaratha wants to merge 1 commit into
apache:masterfrom
priyeshkaratha:HDDS-13110

Conversation

@priyeshkaratha

Copy link
Copy Markdown
Contributor

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

@priyeshkaratha
priyeshkaratha marked this pull request as ready for review July 15, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant