Catch runtime exceptions to make class loader race conditions easier to debug. #608
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.
Signed-off-by: dblock dblock@amazon.com
Description
Not sure we need this, but thought I'd PR anyway.
I came from opensearch-project/anomaly-detection#15 to find that the issue was fixed in #604. However, it took me a while to wrap my head around the problem and to find the explanation buried inside a comment: https://github.com/opensearch-project/OpenSearch/pull/604/files#r618861212. The root cause is a class loader race condition, where the static block requires fields of
LegacyESVersion
to be non-null, butVersion
is loaded beforeLegacyESVersion
, sinceLegacyESVersion
inherits from Version. Kudos @nknize for spotting this.Before this change you would get a
NullPointerException
error.With this change you can at least see which field is causing the problem.
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.