Repository navigation
Use signed i64 generated tie breakers + bump Tantivy - #6882
Merged
Merged
Conversation
Pin Tantivy to quickwit-oss/tantivy#3158 and treat tie_breaker fields as signed integers in query parsing and JSON conversion. Validate the signed generation range, term/range queries, and pagination in both sort directions.
Mallets
force-pushed
the
mallets/tiebreaker-i64
branch
from
October 7, 2026 08:05
e0dfa4f to
58c303a
Compare
Mallets
force-pushed
the
mallets/tiebreaker-i64
branch
from
October 7, 2026 08:06
58c303a to
b1fcefe
Compare
Mallets
marked this pull request as ready for review
October 7, 2026 09:55
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Platane
approved these changes
Oct 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
tantivyandtantivy-commonto latest Tantivymainat2e87c2eb0c8577c96c82a777f345bbf236a985fe, which includes the merged Generate tie-breakers as i64 values tantivy#3158. Lockfile changes are limited to the Tantivy git revision.tie_breakerfields asi64when parsing term/range queries and converting values to JSON.i32range, term/range queries, and one-eventsearch_afterpagination in both directions.Motivation
Downstream cursors represent tie-breakers as signed integers. Tantivy #3158 maps generated values onto the signed
i32range while retaining 32 bits of entropy, allowing generated and legacy expliciti64tie-breakers to share the same representation.Backward compatibility
#6859 has been merged few days ago, I don't expect tiebreakers are used by any existing deployments .
Validation
cargo check -p quickwit-doc-mapper -p quickwit-query -p quickwit-search: passed.cargo test -p quickwit-query: 184 passed.cargo test -p quickwit-search --lib: 226 passed.cargo test -p quickwit-query -p quickwit-doc-mapper -p quickwit-search tie_breaker: 9 passed.cargo test -p quickwit-doc-mapper: 232 passed;test_concatenate_multiple_fieldfails due to concatenated string ordering. Reproduced the identical failure in a clean worktree atorigin/main(8952853b8) using the original Tantivy dependency. No unrelated test changes made.cargo clippy -p quickwit-doc-mapper -p quickwit-query -p quickwit-search --all-targets -- -D warnings: passed.make fmt(formatting, license headers, log format) andgit diff --check: passed.