mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-01 17:58:22 +00:00
3e3eb4d8d5
A replicated version purge reaches the peer without the governance bypass header, so a GOVERNANCE-retained version deleted on the source with x-amz-bypass-governance-retention was rejected by the peer's WORM deletion gate forever: retryStats ended at a permanent failed count and the sites stayed diverged (issue #6850). The source is authoritative for such a purge: the same WORM gate already ran there, and GOVERNANCE retention with an authorized bypass is the only lock state it can purge through. The peer's commit-time deletion gate now treats an authorized replication delete addressed to an explicit version as carrying that judged bypass, reusing the same trust judgment as the replication write exemption (ObjectOptions::replication_request, set only after the handler authorized ReplicateDeleteAction). COMPLIANCE retention and legal hold keep blocking replicated purges, and a plain client delete without the bypass header stays rejected.