-
Notifications
You must be signed in to change notification settings - Fork 9.1k
HADOOP-8865. Log warning message when loading deprecated properties from resources #7737
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
The goal is to emit the warning message when deprecated properties are loaded from XML configuration files to inform users that obsolete properties are in use. Before this patch we only inform users when a set/get operation is performed on a deprecated property but this is not sufficient cause if the users/apps are using the new key to obtain the value they will never see the warning. As a result when the property is finally removed or stops taking effect the application will fail or showcase different behavior. With this patch deprecated properties may be logged twice: * when a deprecated prop is loaded from a resource * when a deprecated prop is accessed via get/set; if the deprecated key is not accessed no additional log is generated
|
🎊 +1 overall
This message was automatically generated. |
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.
LGTM. Thank you @zabetak !
|
I committed this to trunk. @zabetak , thank you for the patch. |
|
Thanks for the review @cnauroth , much appreciated! |
The goal is to emit the warning message when deprecated properties are loaded from XML configuration files to inform users that obsolete properties are in use. Before this patch we only inform users when a set/get operation is performed on a deprecated property but this is not sufficient cause if the users/apps are using the new key to obtain the value they will never see the warning. As a result when the property is finally removed or stops taking effect the application will fail or showcase different behavior. With this patch deprecated properties may be logged twice: * when a deprecated prop is loaded from a resource * when a deprecated prop is accessed via get/set; if the deprecated key is not accessed no additional log is generated Closes apache#7737 Signed-off-by: Chris Nauroth <[email protected]>
|
@zabetak and @slfan1989 , sorry, I think we may need to revert #7766 and #7737 . I noticed that all of the deprecation warnings are coming out in shell command output, which is unexpected and may break scripting. These are warnings for properties declared in core-default.xml, so they aren't easily within the user's control. |
@cnauroth Thank you for your feedback. I believe rolling back is a feasible option. @zabetak, we really appreciate your contributions, but it seems this has affected some functionality, and a rollback is necessary. If we find a better solution, we will assist with the review. |
|
@cnauroth @slfan1989 Thanks for the feedback. Not sure if we should keep discussing here or under a new JIRA ticket but here are few thoughts. The fact that the built-in config files such as Moreover, the deprecation warnings can be disabled (or directed to another file) by end-users by changing the respective logging configuration. I am wondering if it is normal/expected to have all logs directed in the console for CLI utilities. |
Description of PR
The goal is to emit the warning message when deprecated properties are loaded from XML configuration files to inform users that obsolete properties are in use. Before this patch we only inform users when a set/get operation is performed on a deprecated property but this is not sufficient cause if the users/apps are using the new key to obtain the value they will never see the warning. As a result when the property is finally removed or stops taking effect the application will fail or showcase different behavior.
With this patch deprecated properties may be logged twice:
How was this patch tested?
For code changes:
LICENSE,LICENSE-binary,NOTICE-binaryfiles?