Github user DaanHoogland commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/535#discussion_r33421446 --- Diff: framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java --- @@ -122,6 +122,13 @@ public boolean equals(Object obj) { if (obj instanceof ConfigKey) { ConfigKey<?> that = (ConfigKey<?>)obj; return this._name.equals(that._name); + } + return false; + } + + public boolean isSameKeyAs(Object obj) { + if(this.equals(obj)) { + return true; } else if (obj instanceof String) { --- End diff -- Thanks @jburwell , I am aware of that. The change at hand is not to improve this point though it is worth investigating how much our code relies on the containers management of classloaders. This change was written is to make these classes adhere to the equals(other) contract. The reason I didn't just commit is that this change might introduce huge amount of work where code relies on the crooked equals returning true. It seems travis is satisfied but as I often don't accept a problem report by our travis tests I am not sure if we should accept the 'All is well' in this case.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---