Skip to content

HDDS-14555. [Recon] Clarify Open Key Bytes breakdown in Cluster Capacity page#9705

Merged
ArafatKhan2198 merged 8 commits intoapache:masterfrom
priyeshkaratha:HDDS-14555
Feb 27, 2026
Merged

HDDS-14555. [Recon] Clarify Open Key Bytes breakdown in Cluster Capacity page#9705
ArafatKhan2198 merged 8 commits intoapache:masterfrom
priyeshkaratha:HDDS-14555

Conversation

@priyeshkaratha
Copy link
Contributor

@priyeshkaratha priyeshkaratha commented Feb 3, 2026

What changes were proposed in this pull request?

This pull request enhances the Apache Ozone Recon UI by providing a more detailed breakdown of "Open Key Bytes" on the Cluster Capacity page. Previously, only a single aggregated value was displayed. The changes introduce a new data structure in the backend to differentiate between "Open Key/File Bytes" and "Multipart Key Bytes," which is then exposed via the Recon API and presented to users in an informative tooltip on the frontend. This improvement offers greater transparency and clarity regarding storage utilization related to open keys.

What is the link to the Apache JIRA

HDDS-14555

How was this patch tested?

Tested API change using updated unit test cases.
Tested UI manually.
image

@priyeshkaratha priyeshkaratha changed the title HDDS-14555. Clarify Open Key Bytes breakdown in Cluster Capacity page HDDS-14555. [Recon] Clarify Open Key Bytes breakdown in Cluster Capacity page Feb 4, 2026
Copy link
Contributor

@devabhishekpal devabhishekpal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the patch @priyeshkaratha.
Overall the UI changes looks good to me, one minor comment, please take a look.

Could you also attach the UI screenshots in the PR description?
An also update the test description that the java patch was tested with Unit tests? since the tests got modified

@priyeshkaratha
Copy link
Contributor Author

@devabhishekpal Thanks for reviewing changes. I have addressed your comments. Please have a look again.

@priyeshkaratha priyeshkaratha marked this pull request as ready for review February 11, 2026 02:01
Copy link
Contributor

@ArafatKhan2198 ArafatKhan2198 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes @priyeshkaratha mostly looks good to me.
Some minor comments -

Comment on lines +217 to +219
assertEquals(0, storageResponse.getUsedSpaceBreakDown().getOpenKeyBytes().getTotalOpenKeyBytes());
assertEquals(0, storageResponse.getUsedSpaceBreakDown().getOpenKeyBytes().getMultipartOpenKeyBytes());
assertEquals(0, storageResponse.getUsedSpaceBreakDown().getOpenKeyBytes().getOpenKeyAndFileBytes());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only test covering this is the integration test which only asserts all-zero values. There's no test that verifies the openKeyAndFileBytes and multipartOpenKeyBytes are correctly split (e.g., non-zero MPU size is correctly put in multipartOpenKeyBytes and not added to openKeyAndFileBytes).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have already ticket created for missing test cases. Because creating open key is tricky
https://issues.apache.org/jira/browse/HDDS-13968

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated same PR with adding openkeys and mpu keys. But more areas will be covered by above mentioned Jira

Comment on lines 245 to 247
<Tag color='red'>{filesize(selectedDNDetails.minimumFreeSpace, {round: 1})}</Tag>
Remaining
<Tag color='green'>{filesize(selectedDNDetails.remaining, { round: 1})}</Tag>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Red for Open Key/File Bytes and green for Multipart Key Bytes is arbitrary red conventionally signals a warning/error. The unusedSpaceBreakdown uses red for minimum free space (a constraint) which is semantically justified.

Here neither value has a warning connotation. Use neutral colours (e.g., blue/orange)

}

.ant-popover-inner{
.datanodes-container .ant-popover-inner {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the use of this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this style overriding position of popover globally which is causing layout issues. Ideally it should be handled for particular classes.

@priyeshkaratha
Copy link
Contributor Author

@ArafatKhan2198 Thanks for the feedbacks. I have addressed all the comments.

Copy link
Contributor

@ArafatKhan2198 ArafatKhan2198 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the taking care of the comments @priyeshkaratha
LGTM +1

@ArafatKhan2198 ArafatKhan2198 merged commit 4f29762 into apache:master Feb 27, 2026
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants