Skip to content

Fix cross-parity version listing after pool removal - #267

Merged
Vonng merged 1 commit into
mainfrom
codex/issue-261-regression-tests
Nov 1, 2026
Merged

Vonng merged 1 commit into
mainfrom
codex/issue-261-regression-tests

Conversation

@Vonng

@Vonng Vonng commented Nov 1, 2026

Copy link
Copy Markdown
Member

Problem

Availability-optimized writes can leave a readable null version across separate EC groups when a disk is unavailable. The all-version listing path used by ListObjectVersions, decommission, and rebalance only re-counted this case for latest-only reads, so a readable object could disappear from version listings and from migration after complete source-pool removal.

Change

  • Recount ordinary null versions across modern EC groups for non-strict all-version reads as well.
  • Add end-to-end coverage for unversioned and suspended buckets.
  • Add a complete source-pool decommission, removal, restart, GET, LIST, and ListObjectVersions regression test.
  • Run the new listing tests in CI's race-detector listing job.

Validation

  • go test ./... -count=1
  • CGO_ENABLED=0 go test ./cmd/ -count=1 -timeout 30m
  • go test ./cmd -shuffle=on -count=1
  • Focused race tests and repeated focused runs
  • go vet ./cmd
  • make verifiers
  • make build
  • git diff --check

Signed-off-by: Feng Ruohang <rh@vonng.com>
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