-
Notifications
You must be signed in to change notification settings - Fork 73
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
fix missing commons-lang3 #363
fix missing commons-lang3 #363
Conversation
Signed-off-by: Yaliang Wu <[email protected]>
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, we should wait until CI passes then merge.
https://stackoverflow.com/questions/56878268/build-gradle-compile-deprecated-warning. One note is that we will need to deprecate "compile" at some point. |
Signed-off-by: Yaliang Wu <[email protected]>
@ylwu-amzn does this need to be front-ported to |
Yes, send out PR #364 |
I would expect some test to fail in anomaly-detection CI if it's going to cause OpenSearch not to start. Are we missing something @ohltyler @ylwu-amzn? |
I might be wrong on this but initially when it first failed we couldn't compile at all. After that we added the dependency as "compileOnly" meaning it didn't cause any build issues but the most up to version dependency wasn't bundled with the JAR so it failed in runtime for opensearch. It passed following tests in our case because we didn't have the most up to date job-scheduler-1.2.4 in our repo that took out the dependency recently so we weren't testing with the exact same version as was in opensearch 1.2.4 official build. This is another indicator in my opinion that we really need to be pulling job-scheduler from maven. @ylwu-amzn @ohltyler does this make sense or should we be adding additional testing for after the artificat is built. |
@dblock Amit's explanation is correct, you can also check the description part of this PR. We built job-scheduler plugin zip from source code before, but this logic removed and just depends static job-scheduler zip now after this PR #286 To make sure we always use the latest job-scheduler artifact in AD CI, we can either pull job-scheduler plugin zip from somewhere like Maven but job-scheduler team must make sure they always publish the latest plugin zip before AD CI. The other easier way to avoid such potential circular dependency(OpenSearch build workflow needs both AD and JobScheduler ready to publish JobScheduler to Maven, and AD needs JobScheduler ready to pass CI) is change back to old logic to build JobScheduler plugin zip from source code in AD CI. What do you think/prefer, @dblock, @amitgalitz ? |
Thanks, I understand. We will fix the circular dependency in opensearch-project/opensearch-build#1463, so I think there's nothing else to do here. |
Signed-off-by: Yaliang Wu [email protected]
Description
Fix missing commons lang3 when start OpenSearch cluster by changing
compileOnly
tocompile
.We should also use latest
job-scheduler
zip to pass build as the old zip has duplicate commons-lang3 which will cause jar hellWhy AD passed CI:
commons-lang3
commons-lang3
dependency explicitly. But we used oldjob-scheduler
1.2.4 zip which still hascommons-lang3
packed. So it was ok to usecompileOnly
in AD and CI can pass.job-scheduler
is built from latest code which doesn't havecommons-lang3
packed any more, then AD can't findcommons-lang3
.We plan to pull job scheduler from maven or build locally with latest code or build JobScheduler plugin zip from source to avoid such issue.
Issues Resolved
[List any issues this PR will resolve]
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.