-
Notifications
You must be signed in to change notification settings - Fork 588
HDDS-10869. SCMNodeManager#getUsageInfo memory occupancy optimization #6737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
adoroszlai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @guohao-rosicky for the patch, LGTM.
The new method can be used in Recon, too:
ozone/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java
Lines 155 to 157 in 611066a
| Set<ContainerID> allContainers = nodeManager.getContainers(datanode); | |
| builder.withContainers(allContainers.size()); |
|
LGTM. It's better to improve the operation in Recon code too, as @adoroszlai suggested. |
siddhantsangwan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch @guohao-rosicky. Approving this, but it'll be good if we can incorporate the suggestion made by @adoroszlai.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @guohao-rosicky for the update. The last patch LGTM. Thanks @adoroszlai and @siddhantsangwan for the review.
…DDS-10870 (apache#221) * CDPD-65217. HDDS-10085. Improve method name in ContainerBalancerSelectionCriteria (apache#5957) (cherry picked from commit b932e16) * CDPD-65645. HDDS-10160. Cache sort results in ContainerBalancerSelectionCriteria (apache#6050) (cherry picked from commit 95666eb) * CDPD-52140. HDDS-7252. Polled source Datanodes are wrongly not re-considered for balancing in Container Balancer (apache#6305) (cherry picked from commit fdc38b5) * CDPD-70112. HDDS-10869. SCMNodeManager#getUsageInfo memory occupancy optimization (apache#6737) (cherry picked from commit 39baf0f) * CDPD-70110. HDDS-10871. ContainerBalancerSelectionCriteria memory occupancy optimization (apache#6738) (cherry picked from commit 19d4419) * CDPD-70111. HDDS-10870. moveSelectionToFutureMap cleanup when future complete (apache#6746) (cherry picked from commit 4f02853) * CDPD-78919. HDDS-12231. Logging in Container Balancer is too verbose. (apache#7826) (cherry picked from commit 371792f) --------- Conflicts: 1. Forced to include CDPD-65217 (minor commit that only changes a method name) and CDPD-52140 to resolve conflicts. No major changes made. 2. Had to change a test method to use the full Assertions.assertEquals instead of just assertEquals. 3. CDPD-70111 - had to merge manually to exclude changes from other unrelated commits in ContainerBalancerTask. --------- Co-authored-by: Siddhant Sangwan <[email protected]> Co-authored-by: Symious <[email protected]> Co-authored-by: Tejaskriya <[email protected]> Co-authored-by: hao guo <[email protected]>
What changes were proposed in this pull request?
SCMNodeManager#getUsageInfo this method will obtain the number of containers for the node, create a container ID set, calculate the size of this set, and create a large temporary object.
When there are too many containers in a node, this is a very time-consuming operation.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10869