errose28 commented on pull request #3155:
URL: https://github.com/apache/ozone/pull/3155#issuecomment-1059564334
Thanks for the reply @adoroszlai
> but we have to consider the "newer than any versions this component is
aware of (i.e. has enum constants for)" case. Do we create a
FUTURE_VERSIONS(Integer.MAX_VALUE) enum constant for that case?
Yeah this is tricky. At least by providing a `FUTURE_VERSION` enum value, we
are acknowledging the existence of future versions. There's nothing with the
int that suggests to people using it they may see a value larger than
`CURRENT_VERSION`. I think adding this enum constant would be a good idea,
along with maybe a helper in the enum to go from the int version to the enum
value. This would return the `FUTURE_VERSION` enum member when an int larger
than `CURRENT_VERSION` is given.
> - Regarding {Shared,External,Advertised,Broadcasted}DatanodeVersion: I'm
not sure why plain DatanodeVersion would imply that it is internal.
> - ComponentVersion might be a good name for the common interface.
I was mostly just looking to add some sort of descriptor to distinguish this
version from layout versions. As you suggested, "component version" may be a
good name. I think something like `DatanodeComponentVersion implements
ComponentVersion` would serve this purpose. This gives us unique terminology to
use in explanations, for example "Layout version is used to track the format of
on disk data. Component version is used to determine compatibility between
components"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]