Skip to content

HDDS-11155. Improve Volumes page UI - #7048

Merged
ArafatKhan2198 merged 16 commits into
apache:masterfrom
spacemonkd:HDDS-11155
Aug 20, 2024
Merged

HDDS-11155. Improve Volumes page UI#7048
ArafatKhan2198 merged 16 commits into
apache:masterfrom
spacemonkd:HDDS-11155

Conversation

@spacemonkd

@spacemonkdspacemonkd commented Aug 8, 2024

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

This PR will add a new Volumes page which contains a better implementation for the UI

Please describe your PR in detail:

  • This PR adds a new Volumes Page with improved layout and design.
  • The new page would help to eventually improve the overall look and feel for Recon
  • Currently the page is disabled to the user so as to not affect any existing functionality
  • Apart from this it also shifts towards lazy loading pages so that we can efficiently split the build into smaller chunks

What is the link to the Apache JIRA

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

How was this patch tested?

This patch was tested manually via both localhost and building and running Ozone via docker
Screenshots:

Old UI

ScreenshotDescription
Screenshot 2024-08-12 at 11 10 22Volumes Page
Screenshot 2024-08-12 at 11 10 35Columns Selector Dropdown
Screenshot 2024-08-12 at 11 10 45Limit Selector Dropdown

New UI

ScreenshotDescription
Screenshot 2024-08-08 at 21 24 20Volumes Page
Screenshot 2024-08-08 at 21 24 39Columns Selector Dropdown
Screenshot 2024-08-08 at 21 26 31Limit Selector Dropdown
Screenshot 2024-08-08 at 21 26 49Volume Search

@spacemonkdspacemonkd changed the title Initial Volumes commitHDDS-11155. Improve Volumes page UIAug 8, 2024
@ArafatKhan2198
ArafatKhan2198 requested review from ArafatKhan2198 and devmadhuu and removed request for ArafatKhan2198August 12, 2024 05:47

@devmadhuudevmadhuu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @devabhishekpal for the patch. Few comments. Patch review still in progress.

@spacemonkd

Copy link
Copy Markdown
ContributorAuthor

Hi @devmadhuu, thanks for the extensive review.
Could you please take another look?

@spacemonkd

spacemonkd commented Aug 13, 2024

Copy link
Copy Markdown
ContributorAuthor

@smitajoshi12 Could you please take a look as well?

@smitajoshi12

Copy link
Copy Markdown
Contributor

Loader Can we increase so it will be clearly visiible

image

@spacemonkd

spacemonkd commented Aug 15, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi @smitajoshi12, current loader animation is attached below relative to screen size.
I think we won't require a larger loader size as it will occupy the screen space more than required and look odd.
Please do let me know what you think and I can go ahead with increasing the size.
Thanks

Screen.Recording.2024-08-15.at.23.04.02.mov

@ArafatKhan2198ArafatKhan2198 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks a lot for keeping the patch updated @devabhishekpal here are a few more comments for you to look into.

@ArafatKhan2198ArafatKhan2198 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the continuous effort on this @devabhishekpal
LGTM !

@devmadhuu

Copy link
Copy Markdown
Contributor

I am getting below NS_BINDING_ABORTED error for the first time when we landup on volumes page from Overview page. Pls check this.
image

@spacemonkd

Copy link
Copy Markdown
ContributorAuthor

Hi @devmadhuu, thanks for pointing this out.
So NS_BINDING_ABORTED is coming because when we are switching the context/page we are aborting any background requests that might be present.
Since when we are switching the page from V1 to V2 we are by default mounting new components, this is being thrown as all background requests are being rejected.
You might also be seeing the pop-up telling previous request was cancelled.

@devmadhuu

Copy link
Copy Markdown
Contributor

Hi @devmadhuu, thanks for pointing this out. So NS_BINDING_ABORTED is coming because when we are switching the context/page we are aborting any background requests that might be present. Since when we are switching the page from V1 to V2 we are by default mounting new components, this is being thrown as all background requests are being rejected. You might also be seeing the pop-up telling previous request was cancelled.

IMO, user might not be interested in that UI popup for error. Backend in F12 window for debugging is OK, but we shouldn't show on UI which is of no interest to user what we are doing technically. So whenever any background requests being cancelled or terminated, pls make sure we don't know this pop-up message. Its of no relevance to end user.

@spacemonkd

Copy link
Copy Markdown
ContributorAuthor

Thanks for your inputs @devmadhuu.
Yes I believe since this is already being logged inside the network tab as cancelled request, we can remove the notifications from the UI.
Removed it in the latest commit 94c1798

@devmadhuudevmadhuu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for improving the patch @devabhishekpal , I think we should make the search on volumes intuitive. I mean since this is UI side search where we have all data available and no backend call needed here, so better if we show and filter as user types in and there should not be any need of hitting Enter or Search icon.

image

@spacemonkd

Copy link
Copy Markdown
ContributorAuthor

Hi @devmadhuu, thanks for your inputs, changed this in the latest PR.
Added a debounce with timeout of 300ms. Now we do not need to press any search button, but whatever we will be typing in that 300ms timeframe will be used as a search term till we type again.

@devmadhuudevmadhuu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @devabhishekpal for improving the patch. Changes LGTM now. +1

@ArafatKhan2198

Copy link
Copy Markdown
Contributor

Thank you, @devabhishekpal, for your excellent work on this improvement—the new UI will greatly enhance the user experience & thanks @devmadhuu for the thorough review.

@ArafatKhan2198
ArafatKhan2198 merged commit ebad350 into apache:masterAug 20, 2024
@spacemonkd
spacemonkd deleted the HDDS-11155 branch August 20, 2024 05:20
errose28 added a commit to errose28/ozone that referenced this pull request Aug 21, 2024
* master: (50 commits)
HDDS-11331. Fix Datanode unable to report for a long time (apache#7090)
HDDS-11346. FS CLI gives incorrect recursive volume deletion prompt (apache#7102)
HDDS-11349. Add NullPointer handling when volume/bucket tables are not initialized (apache#7103)
HDDS-11209. Avoid insufficient EC pipelines in the container pipeline cache (apache#6974)
HDDS-11284. refactor quota repair non-blocking while upgrade (apache#7035)
HDDS-9790. Add tests for Overview page (apache#6983)
HDDS-10904. [hsync] Enable PutBlock piggybacking and incremental chunk list by default (apache#7074)
HDDS-11322. [hsync] Block ECKeyOutputStream from calling hsync and hflush (apache#7098)
HDDS-11325. Intermittent failure in TestBlockOutputStreamWithFailures#testContainerClose (apache#7099)
HDDS-11340. Avoid extra PubBlock call when a full block is closed (apache#7094)
HDDS-11155. Improve Volumes page UI (apache#7048)
HDDS-11324. Negative value preOpLatencyMs in DN audit log (apache#7093)
HDDS-11246. [Recon] Use optional chaining instead of explicit undefined check for Objects in Container and Pipeline Module. (apache#7037)
HDDS-11323. Mark TestLeaseRecovery as flaky
HDDS-11338. Bump zstd-jni to 1.5.6-4 (apache#7085)
HDDS-11337. Bump Spring Framework to 5.3.39 (apache#7084)
HDDS-11327. [hsync] Revert config default ozone.fs.hsync.enabled to false (apache#7079)
HDDS-11325. Mark testWriteMoreThanMaxFlushSize as flaky
HDDS-11336. Bump slf4j to 2.0.16 (apache#7086)
HDDS-11335. Bump exec-maven-plugin to 3.4.1 (apache#7087)
...
Conflicts:
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/OzoneContainer.java
errose28 added a commit to errose28/ozone that referenced this pull request Aug 21, 2024
* master: (50 commits)
HDDS-11331. Fix Datanode unable to report for a long time (apache#7090)
HDDS-11346. FS CLI gives incorrect recursive volume deletion prompt (apache#7102)
HDDS-11349. Add NullPointer handling when volume/bucket tables are not initialized (apache#7103)
HDDS-11209. Avoid insufficient EC pipelines in the container pipeline cache (apache#6974)
HDDS-11284. refactor quota repair non-blocking while upgrade (apache#7035)
HDDS-9790. Add tests for Overview page (apache#6983)
HDDS-10904. [hsync] Enable PutBlock piggybacking and incremental chunk list by default (apache#7074)
HDDS-11322. [hsync] Block ECKeyOutputStream from calling hsync and hflush (apache#7098)
HDDS-11325. Intermittent failure in TestBlockOutputStreamWithFailures#testContainerClose (apache#7099)
HDDS-11340. Avoid extra PubBlock call when a full block is closed (apache#7094)
HDDS-11155. Improve Volumes page UI (apache#7048)
HDDS-11324. Negative value preOpLatencyMs in DN audit log (apache#7093)
HDDS-11246. [Recon] Use optional chaining instead of explicit undefined check for Objects in Container and Pipeline Module. (apache#7037)
HDDS-11323. Mark TestLeaseRecovery as flaky
HDDS-11338. Bump zstd-jni to 1.5.6-4 (apache#7085)
HDDS-11337. Bump Spring Framework to 5.3.39 (apache#7084)
HDDS-11327. [hsync] Revert config default ozone.fs.hsync.enabled to false (apache#7079)
HDDS-11325. Mark testWriteMoreThanMaxFlushSize as flaky
HDDS-11336. Bump slf4j to 2.0.16 (apache#7086)
HDDS-11335. Bump exec-maven-plugin to 3.4.1 (apache#7087)
...
Conflicts:
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/OzoneContainer.java
Sign up for freeto 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.

5 participants

@spacemonkd@smitajoshi12@devmadhuu@ArafatKhan2198@adoroszlai