-
Notifications
You must be signed in to change notification settings - Fork 475
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
HDDS-10804. Reduce unnecessary Port when AllocateBlock and GetContainerWithPipeline. #6655
base: master
Are you sure you want to change the base?
Conversation
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 @xichen01 for working on this.
Can SCM simply always send a limited set of ports (STANDALONE, RATIS, RATIS_DATASTREAM
) in response to AllocateBlock
requests? I don't think client needs any other ports.
It would let us avoid:
- new config
- new proto for port names
- requiring client to send port names
- changing OM requests
patch: master...adoroszlai:ozone:dce755c4f3a3e409dfc4b43bc16a48cf2a068842
CI: https://github.com/adoroszlai/ozone/actions/runs/9004107560
How was this patch tested?
Unit test. Existing test
To let existing tests cover the changes, we need to set ozone.client.limit.port.enable=true
. Since the default setting is false
, they only cover old behavior. Please see failures found by run with true
in my fork. Some of the failures are due to RATIS_DATASTREAM
port missing from the limited set.
Good idea, I will update this. Do you think that these ports ( |
I think so. |
…inerWithPipeline requests
@adoroszlai I have |
Thanks @xichen01 for updating the patch. I'd like someone else to also review it. |
What changes were proposed in this pull request?
DatanodeDetails.Port
of Ozone has a lot of ports, which will cause greater serialization and deserialization pressure (Port#Name is of String type) and may cause high memory consumption.RpcClient.java
Can enable this feature by this configuration (default value is
false
)What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10804
How was this patch tested?
Unit test. Existing test