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

   ## 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
   
   <img width="1434" height="840" alt="image" 
src="https://github.com/user-attachments/assets/236b1506-4a9d-4aa7-8d1b-76583212c254";
 />
   
   -> page-2
   
   <img width="1429" height="869" alt="image" 
src="https://github.com/user-attachments/assets/fed02180-f6c6-4384-bdc6-f7e4bfb9c9a4";
 />
   
   -> Search "ozone-ha-datanode-7.ozone-ha_default" UUID on serach bar at Page-1
   
   <img width="2898" height="422" alt="image" 
src="https://github.com/user-attachments/assets/8f9ee3a9-dbc4-4c64-bec6-b344c61b7107";
 />
   
   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.
   
   <img width="2812" height="536" alt="image" 
src="https://github.com/user-attachments/assets/cdbf63cb-7a89-4748-8072-5cc0a1b5326a";
 />
   
   </body>
   </html>
   
   - **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 
   
   <img width="1470" height="839" alt="1  page-1" 
src="https://github.com/user-attachments/assets/95e82caf-c2a1-4179-87a1-dfa112aeab43";
 />
   
   
   -> page-2 (taken ozone-ha-datanode-19.ozone-ha_default for global serach)
   
   
   <img width="1389" height="780" alt="2  Page-2" 
src="https://github.com/user-attachments/assets/11d90720-2aef-43fa-aec5-09575c7d00f4";
 />
   
   
   -> page-3
   
   
   <img width="1397" height="266" alt="3  Page-3" 
src="https://github.com/user-attachments/assets/aad64e68-706e-400f-bc64-ec1c60d42536";
 />
   
   
   -> global serach found! (ozone-ha-datanode-19.ozone-ha_default -found)
   
   
   <img width="1411" height="302" alt="GlobalSearch-Found" 
src="https://github.com/user-attachments/assets/cebec94f-a0bb-411e-9dec-a09b1481aac1";
 />
   
   
   -> prev, next navigation disabled
   
   
   <img width="1423" height="288" alt="globalsearch_prev_next-disabled" 
src="https://github.com/user-attachments/assets/24b4bf48-67e3-478e-ac59-650d67fbc73d";
 />
   
   
   
   
   


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