Files
rustfs/crates
唐小鸭 d1e5431908 fix(object-lock): let authorized replication writes pass the WORM overwrite gate
An inbound replication PUT for an explicit version carries the source's
legal-hold/retention state. Both the app-layer pre-check
(`validate_existing_object_lock_for_write`) and the set-layer commit gate
rejected it whenever the destination version was under an active legal
hold, COMPLIANCE, or GOVERNANCE retention, so a source-side hold release
or retention change could never land and the replication looped through
MRF forever.

Skip both gates only when `opts.replication_request` is set (requires
ReplicateObjectAction). Non-replication overwrites stay rejected, and the
receiver-side LWW merge still keeps a category locked more recently on
this site.

Refs rustfs/backlog#1953
2026-08-23 00:45:56 +08:00
..