HDDS-8239. RATIS_DATASTREAM port compatibility issue #4500
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
Based on previous discussions we found out that the
RATIS_DATASTREAM
port inDatanodeDetails
suffers from incompatibility problem and we decided to add a HDDS layout version asRATIS_DATASTREAM_PORT_IN_DATANODEDETAILS
to handle that. I created aBelongsToHDDSLayoutVersion
annotation and used it to annotate theRATIS_DATASTREAM
port with it. In thegetDatanodeDetailsYaml()
when we are adding the ports I checked if the port has this annotation and checked if the current layout version is smaller than the layout version of the annotation. In that case I am not writing the ports in to the DatanodeDetails yaml file.As not the
DATANODE_SCHEMA_V3
is the latest HDDS layout version anymore I changed some tests to not require exact match with the versions in theTestDatanodeUpgradeToSchemaV3
.What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8239
How was this patch tested?
CI on my fork: https://github.com/dombizita/ozone/actions/runs/4558939757