Skip to content

Gate compat fixture writes with editions - #10077

Merged
mhk197 merged 2 commits into
developfrom
mk/compat-gen-editions
Sep 25, 2026
Merged

mhk197 merged 2 commits into
developfrom
mk/compat-gen-editions

Conversation

@mhk197

@mhk197 mhk197 commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Compat fixtures are written with disable_editions(), so a fixture can record an encoding with no read-compatibility guarantee. Once published, the additive-only manifest rule makes that encoding permanent. This PR writes fixtures under the default session's enabled editions (core2026.08.3), so a fixture can only emit encodings an edition already guarantees.

Changes

  • Gated writes. adapter::write_compressed and adapter::write_compressed_to_bytes_with_session no longer call disable_editions(). check regenerates its comparison files through the same path, so it is gated too.
  • Dataset compressor. TPC-H and ClickBench fixtures build their compressor and write strategy from VortexSession::default(), the session the file is written with, instead of from array_session() with disable_editions(). Since Filter compressor schemes by the session's allowed serialized IDs on build #10067, BtrBlocksCompressorBuilder::from_session keeps only schemes whose encodings the session registers and its editions allow. The compressor therefore can't choose an encoding the gated write would reject, such as vortex.patched under VORTEX_EXPERIMENTAL_PATCHES. The regular and compact variants now share one code path.
  • decimal_byte_parts_v2.vortex disabled, like delta and patched. It writes vortex.decimal_byte_parts.v2, which no edition includes yet. It isn't in any published manifest (checked through 0.86.1), so removing it doesn't break the additive-only rule. It comes back once DBP v2 joins an edition.
  • DESIGN.md notes that new fixtures must use encodings from an enabled edition.

Every fixture in the 0.86.1 manifest uses core encodings. That comes from reading the code, not from a run, so the published fixture set should be unchanged.

Checks

  • cargo clippy -p vortex-compat --all-targets --all-features -- -D warnings
  • cargo +nightly-2026-09-10 fmt -p vortex-compat --check
  • cargo nextest run -p vortex-compat
  • cargo run -p vortex-compat --release -- generate --output /tmp/compat --exclude clickbench: confirms every remaining fixture writes under core

@mhk197
mhk197 force-pushed the mk/compat-gen-editions branch from 4f17c64 to fcf3bb6 Compare September 25, 2026 21:15
@mhk197 mhk197 added the changelog/fix A bug fix label Sep 25, 2026
@mhk197
mhk197 marked this pull request as ready for review September 25, 2026 21:17
@mhk197
mhk197 requested a review from robert3005 September 25, 2026 21:17
@mhk197
mhk197 force-pushed the mk/compat-gen-editions branch from fcf3bb6 to 377fa14 Compare September 25, 2026 21:17

@robert3005 robert3005 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to expand this but for now this should be just the default edition

@codspeed

codspeed Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 2062 untouched benchmarks
⏩ 503 skipped benchmarks1


Comparing mk/compat-gen-editions (00775b7) with develop (eb91521)

Open in CodSpeed

Footnotes

  1. 503 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

Signed-off-by: Matt Katz <[email protected]>
@mhk197
mhk197 enabled auto-merge (squash) September 25, 2026 21:45
@mhk197
mhk197 merged commit 32fa7aa into develop Sep 25, 2026
92 checks passed
@mhk197
mhk197 deleted the mk/compat-gen-editions branch September 25, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants