|
|
|
|
|
by riking
2031 days ago
|
|
To be clear: the "blowing up" would occur when a client observed the new maven-metadata.xml file, but old ("does-not-exist") records for the newly uploaded artifact, correct? With this update, ordering the metadata update after the artifact upload means this failure is now impossible. |
|
Because updating an existing object in S3 didn't have read-after-write consistency, we could have a publishing flow that looked like:
And then downstream builds would fetch the maven-metadata.xml: So downstream builds could read a stale maven-metadata.xml file, which results in silently using an out-of-date artifact.We ended up just switching to GCS because it was relatively straight-forward and gave us the consistency guarantees we want.