Skip to content

back compat test#6917

Open
joseph-isaacs wants to merge 13 commits intodevelopfrom
ji/back-compat
Open

back compat test#6917
joseph-isaacs wants to merge 13 commits intodevelopfrom
ji/back-compat

Conversation

@joseph-isaacs
Copy link
Contributor

@joseph-isaacs joseph-isaacs commented Mar 12, 2026

The part PR for vortex-data/rfcs#23.

We add a generator and a validator, which will naturally be keep up to date with new releases. Future work can add this as a pre-release run.

Next these files must be generated for older versions of vortex.

joseph-isaacs and others added 6 commits March 11, 2026 15:26
Standalone crate for generating backward-compat fixture .vortex files.
Uses Epoch A adapter targeting the v0.36.0 write API:
  - VortexWriteOptions::default() (no session)
  - .write(sink, stream).await returns the sink

Fixtures: primitives, strings, booleans, nullable, struct_nested,
chunked, tpch_lineitem, tpch_orders.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Write API is the same as Epoch A but with stricter stream bounds
(Send + 'static). Also has write_blocking() for sync usage.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Session-based API: VortexSession::default() + session.write_options().
write() now returns WriteSummary and takes &mut sink.

This is the adapter that compiles against the current codebase.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds: compat-test binary design, ClickBench fixture, per-encoding
stubs, validation strategy (ChunkedArray + assert_arrays_eq!),
reqwest-based HTTPS fetching, CI workflow specs, and complete
code size / shared-vs-branch-specific breakdown.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…workflows

- adapter.rs: add read_file() for Epoch C (session-based open_buffer + async scan)
- fixtures/clickbench.rs: download pinned ClickBench hits_0.parquet, take 1k rows
- fixtures/encodings.rs: todo!() stubs for Dict, RunEnd, Constant, Sparse, ALP, BitPacked, FSST
- test_main.rs: CLI with --fixtures-url (HTTPS) or --fixtures-dir (local)
- validate.rs: fetch manifest + fixtures, compare via ChunkedArray + assert_arrays_eq!
- compat-gen-upload.yml: generate + upload to S3 on tag push, updates versions.json
- compat-test-weekly.yml: weekly validation of all versions against HEAD reader
- Cargo.toml: add reqwest, parquet deps + compat-test binary target

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the changelog/chore A trivial change label Mar 12, 2026
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@codspeed-hq
Copy link

codspeed-hq bot commented Mar 12, 2026

Merging this PR will not alter performance

✅ 994 untouched benchmarks
⏩ 1515 skipped benchmarks1


Comparing ji/back-compat (e82e9cf) with develop (6982389)

Open in CodSpeed

Footnotes

  1. 1515 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: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs marked this pull request as ready for review March 12, 2026 15:00
@joseph-isaacs joseph-isaacs requested a review from AdamGS March 12, 2026 15:04
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This should keep the backwards change to this file and the fixtures

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant