refactor(FQDN): further more refator on idl/dsn.layer2.thrift #2049
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.
This is a further refactor on idl/dsn.layer2.thrift, the main effects are on
partition_configuration structure.
To keep compatible and support rolling update, it should be accepted that partial
servers or clients with the FQDN supporting feature and partial of them without
the feature. In this patch, macros like
GET_HOST_PORT
andGET_HOST_PORTS
areused in almost all places where partition_configuration objects appear. (Unit
tests don't require this because the tests must in the latest version which has
this feature).
When invoking a RPC, it's preferred to use host_port because we suppose that the
IP address is possible to be changed, but the hostname is permanent.
When received a proposol request, the optional
hp_primary
andhp_secondaries
will be filled by the related host_ports of the
primary
andsecondaries
andfields. Then we can simplily deal with the logic.