Skip to content

HDDS-15007. SCM Web UI search box should filter the entire datanodes set, not just the displayed rows#10076

Open
navinko wants to merge 7 commits into
apache:masterfrom
navinko:HDDS-15007
Open

HDDS-15007. SCM Web UI search box should filter the entire datanodes set, not just the displayed rows#10076
navinko wants to merge 7 commits into
apache:masterfrom
navinko:HDDS-15007

Conversation

@navinko
Copy link
Copy Markdown
Contributor

@navinko navinko commented Apr 13, 2026

What changes were proposed in this pull request?

Implemented globalSearch for Node Status Search bar.
'HDDS-15007. SCM Web UI search box should filter the entire datanodes set, not just the displayed rows '

In the existing design, the search box on the SCM Web UI "Node Status" table had a page-level filter where we could only search across the currently visible rows governed by 'Show' dropdown (e.g., 10 ,20, 50 , All nodes at a time). Finding a specific datanode in a large cluster requires :
1: Either change the 'Show' dropdown to have more records in the table manually + search -> If target match found Ok else clicking through multiple pages in (previous - next ) fashion until the target node appeared on the active page.
2: Keep searching on the table with default size 10

Proposed Changes:
This PR introduces a global search mechanism to the SCM Web UI. The search input now filters against the entire master dataset of datanodes before the pagination slicing occurs, allowing users to instantly find nodes regardless of which page they originally resided on. Also it shows the pagination .

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-15007

How was this patch tested?

  • **Validated the existing implementation first **

-> page-1

image

-> page-2

image

-> Search "ozone-ha-datanode-7.ozone-ha_default" UUID on serach bar at Page-1

image

If we could have search on page-2, we have the target match , and since have one more records on 3rd page next navigation is enable.

image
  • Validated Proposed Implementation

Scaled the cluster to 21 datanodes using docker-compose up --scale datanode=21 to force multiple pages of records.
Navigated to Page 1 and searched for a datanode known to be located on Page 2. Verified that the node immediately appeared in the table. Verified that the pagination text dynamically updated to reflect the search results (e.g., "Showing 1 to 1 of the total 1 entries.") and that the Next/Previous buttons disabled appropriately to prevent navigating to empty pages.
Cleared the search box and verified that the table restored the full cluster view and correct pagination.

-> page-1

1  page-1

-> page-2 (taken ozone-ha-datanode-19.ozone-ha_default for global serach)

2  Page-2

-> page-3

3  Page-3

-> global serach found! (ozone-ha-datanode-19.ozone-ha_default -found)

GlobalSearch-Found

-> prev, next navigation disabled

globalsearch_prev_next-disabled

Latest progressing CI : https://github.com/navinko/ozone/actions/runs/25694210225

@navinko navinko marked this pull request as draft April 13, 2026 20:54
@navinko navinko marked this pull request as ready for review April 13, 2026 21:02
@jojochuang jojochuang requested a review from smengcl April 13, 2026 21:24
@navinko
Copy link
Copy Markdown
Contributor Author

navinko commented May 1, 2026

Hi @smengcl @jojochuang
Could you please review the changes.
Thanks.

Copy link
Copy Markdown
Contributor

@smengcl smengcl left a comment

Choose a reason for hiding this comment

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

Thanks @navinko for the patch. I have some comments inline.

Comment thread hadoop-hdds/server-scm/src/main/resources/webapps/scm/scm.js
Comment thread hadoop-hdds/server-scm/src/main/resources/webapps/scm/scm.js Outdated
@navinko navinko marked this pull request as draft May 10, 2026 16:47
@adoroszlai adoroszlai added the UI label May 11, 2026
@navinko
Copy link
Copy Markdown
Contributor Author

navinko commented May 11, 2026

Thanks @smengcl for the review.
Tried addressing suggestions , once you get some time please review once .

@navinko navinko marked this pull request as ready for review May 11, 2026 20:13
@smengcl smengcl changed the title HDDS-15007. SCM Web UI search box should filter the entire datanodes set, not just the displayed rows HDDS-15007. SCM Web UI search box should filter the entire datanodes set, not just the displayed rows May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants