Skip to content

Enforce Object Lock under the bulk-delete mutation lock - #330

Merged
Vonng merged 1 commit into
mainfrom
codex/release-20261109-closeout
Nov 9, 2026
Merged

Vonng merged 1 commit into
mainfrom
codex/release-20261109-closeout

Conversation

@Vonng

@Vonng Vonng commented Nov 9, 2026

Copy link
Copy Markdown
Member

S3 DeleteObjects could use stale retention metadata or miss a protected copy in another pool. Physical version removals in Object Lock buckets now use the existing single-object deletion path, which reconciles pool protection and evaluates legal hold, retention and governance bypass under the mutation lock.

Preserve per-item response identities, deduplicate replication work, retain pending purge decisions, and sweep tier objects only after successful deletion. Ordinary buckets and marker creation keep the bulk path. Locked version removals are sequential; the large-batch latency cost is documented.

Add race regressions for concurrent hold/retention updates (including directory null versions), divergent pool copies, mixed/quiet/duplicate responses, governance permissions and replication queue state. Both Go CI and release.yml include the new tests. Clarify batch downgrade boundaries and health-probe limits in CHANGELOG and the retained healthcheck guide.

Validation: targeted bulk-delete race matrix, the complete Object Lock release race gate, make verifiers, and make build passed. Final runtime acceptance and Linux A/B measurements are being completed before release. Bilingual operational guidance is in pgsty/silo.pgsty.com#56.

Signed-off-by: Feng Ruohang <rh@vonng.com>
@Vonng
Vonng merged commit d998292 into main Nov 9, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant