-
Notifications
You must be signed in to change notification settings - Fork 25
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
[BUG] Incremental build copy the entire distribution folder from S3 without cleaning up component zips that requires rebuild #455
Comments
Hi @zelinh, Thanks |
I think according to our build workflow by default the new build plugin would override the previous artifacts. This might be a windows platform specific issue. |
This is not the windows issue but rather conflict with |
Yes. Discussed with @peterzhuamazon offline and this is more like a conflict with our 'continue-on-error' argument in build workflow. When one non-essential plugin failed, the build workflow will continue so there is no new artifact to override the old one. Therefore assemble workflow will assemble on the old artifacts and cause issue. |
@zelinh @peterzhuamazon With this the |
The first step of running incremental build is to download the previous built artifacts into local; and then start building incrementally based on the previous manifest. So I believe that's where the previous successful built artifacts was introduced. |
Right, it should not even pull here in case for alerting right Zelin? Since the alerting build failed (even though the artifacts are pushed to s3) the incremental should not even pull the alerting right ? |
It pulled, because of s3 copy beforehand and the cache is not removed. |
Got it thanks @peterzhuamazon and @zelinh , I might be missing something here, but if the past build is red (failed) for a component (here in this case for alerting), it should not even look for cache/recorder etc, it should blindly start the new build next time with incremental flag. |
This is more like a side effect of jenkins, as we use s3 copy function to copy the entire tar folder from s3 to agent. We need to look into cleaning up plugins that are labeled to rebuild instead of blindly copy the entire tar folder over. Thanks. |
I'm able to reproduce this issue when enabling both |
After discussed offline with @peterzhuamazon, I believe this behavior is by design. Closing this issue for now. |
In current 3.0.0, alerting succeed on building the zip, but failed on the next step of publishing zip to maven:
opensearch-project/alerting#1599
This means alerting build failed so new plugin zip will not copy to
<distribution>/builds/opensearch/plugins
, even if it build successfully after all.https://build.ci.opensearch.org/blue/organizations/jenkins/distribution-build-opensearch/detail/distribution-build-opensearch/10015/pipeline/69
However, due to incremental build, even though alerting requires a rebuild, the entire distribution folder including older alerting plugin zips are being copied from S3.
Since new alerting zip did not override the old alerting zip, the old alerting zip was pushed again to S3 and treated as new alerting zip. And recorded into the build manifest.
This ends up creating a docker image with alerting installed, and that alerting zip is old, and cause jarhell:
https://github.com/opensearch-project/security-analytics/actions/runs/9899572936/job/27348744950?pr=1156#step:6:124
Even though this issue has been fixed a month ago:
opensearch-project/alerting#1571
We should just remove the rebuilding plugin's zip after the initial S3 copy to avoid this invalid recording:
https://build.ci.opensearch.org/blue/rest/organizations/jenkins/pipelines/distribution-build-opensearch/runs/10015/nodes/69/steps/484/log/?start=0
Thanks.
The text was updated successfully, but these errors were encountered: