[Dev] Fix issues in the benchmark runner related to the serialized storage_version
#16533
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR relates to #15794
With that PR, we introduced an upgrade to the previously established
serialize_compatibility
flag.The
storage_version
now lives in the db, and dictates which compression algorithms are used.This storage_version defaults to 0.10.2 for the sake of backwards compatibility.
The ZSTD and Roaring compression algorithms were added as part of 1.2.0, which is not covered by this default.
Because of this, the benchmarks for these compression algorithms were silently using
Uncompressed
, as the forced compression algorithm is not available.This PR adds support for
assert
blocks in the benchmark runner, which are similar toresult_query
, any number ofassert
blocks can be added to verify the state of the db before running the benchmark.storage persistent
can currently be used to make the db used in the benchmark a persistent one that does not live in-memory, so that it can be checkpointed.This PR introduces a second optional option to
storage
:storage persistent <version>
which is similar to the SQL version:attach 'db' (STORAGE VERSION <version>)