Skip to content

Commit cc5d2a1

Browse files
authored
feat(storage): Takeover idempotence. (#13230)
Takeovers at a specific object generation are safe to retry.
1 parent 612e608 commit cc5d2a1

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

storage/writer.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,8 @@ func (w *Writer) openWriter() (err error) {
272272
}
273273

274274
isIdempotent := w.o.conds != nil && (w.o.conds.GenerationMatch >= 0 || w.o.conds.DoesNotExist)
275+
// Append operations that takeover a specific generation are idempotent.
276+
isIdempotent = isIdempotent || w.Append && w.o.gen > 0
275277
opts := makeStorageOpts(isIdempotent, w.o.retry, w.o.userProject)
276278
params := &openWriterParams{
277279
ctx: w.ctx,

0 commit comments

Comments
 (0)