alibuild icon indicating copy to clipboard operation
alibuild copied to clipboard

Abort build when upload conflict on S3 is detected

Open TimoWilken opened this issue 3 years ago • 2 comments

If two aliBuild instances are building the same package at the same time and uploading it to S3, make sure that only one can upload at a time, and abort the other one.

There are probably ways to make aliBuild recover more intelligently from conflicts, but this commit only includes basic conflict detection.

TimoWilken avatar Nov 21 '22 15:11 TimoWilken

I've set some non-critical nightly Jenkins builds to use this patched version of alibuild, namely DailyO2-ubuntu2004, DailyO2Dataflow-slc7 and DailyO2Dataflow-slc8.

TimoWilken avatar Dec 06 '22 13:12 TimoWilken

One more change to do, discussed today: if there is a failure between uploading dist symlinks and the tarball, then the partial dist tree can block subsequent aliBuilds from uploading the same package. Moving dist symlink uploads to between the "main" symlink and the tarball in the store would solve this, as the "main" symlink reserves the revision number.

TimoWilken avatar Jan 10 '23 10:01 TimoWilken

The latest commit should fix the problem mentioned in my previous comment. I've also rebased on master to fix merge conflicts.

I've set some non-essential Jenkins nightly builds (the o2-dataflow ones that are only used for CI caching) to use this branch in order to test the changes.

TimoWilken avatar Feb 15 '23 17:02 TimoWilken