-
Notifications
You must be signed in to change notification settings - Fork 587
HDDS-8091. Generate list of config tags from ConfigTag enum #4359
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
| public final class OzoneConfigKeys { | ||
| public static final String OZONE_TAGS_SYSTEM_KEY = | ||
| "ozone.tags.system"; | ||
| public static final String DFS_CONTAINER_IPC_PORT = |
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.
For my understanding, Is there a reason why this config needed to be taken out of OzoneConfigKeys and added in OzoneConfiguration?
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 @SaketaChalamchala for the review.
TestOzoneConfigurationFields verifies that all keys defined in OzoneConfigKeys (and some others) are also present in ozone-default.xml (and vice versa). It would have been enough to add as an exception in TestOzoneConfigurationFields.
|
Thanks for the patch @adoroszlai. The change looks good. Just had a question. See my comment above. |
fapifta
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.
Thank you for taking this on @adoroszlai.
Actually I think as the OZONE_TAGS_SYSTEM_KEY constant is used internally within the OzoneConfiguration, to work with the tagging system, it has a good place within OzoneConfiguration instead of within the config keys. Especially as we do not really want this to be set from outside after switching to the enum as the source of truth of the available tags.
|
Thanks @fapifta, @SaketaChalamchala for the review. |
What changes were proposed in this pull request?
Configuration properties can be tagged as a way of grouping (HADOOP-15005). Tags can be used as a filter when browsing config on the web UI.
While any string can be used as tag, the web UI only supports a specific set of tags, defined by
ozone.tags.system. To hook into Hadoop config tagging, the same value needs to be set ashadoop.tags.custom.ozone-default.xmlalso lists config tags in a header comment as a hint.Ozone also supports type-safe configuration annotated with
@Config, which allows tags defined in the enumConfigTag.All these result in duplication and discrepancies between the various lists of tags. Web UI has some unused tags, and approximately half of all tags in use are missing:
I propose to:
ConfigTagas the definitive sourceozone.tags.systemandhadoop.tags.customfromozone-default.xmlozone-default.xmlwith a reference toConfigTaghttps://issues.apache.org/jira/browse/HDDS-8091
How was this patch tested?
Updated
TestOzoneConfigurationandTestOzoneConfigurationFields.Verified config tags exposed in SCM web UI:
Regular CI (in progress):
https://github.com/adoroszlai/hadoop-ozone/actions/runs/4352553967