Skip to content

Commit 8d055e0

Browse files
g-talbotclaude
andcommitted
docs(legacy_adapter): note where reader-side SS-3 handling lands
Codex P2 on PR #6425: the adapter records `None` for missing prefix columns and stamps `rg_partition_prefix_len = target_prefix_len` anyway. In isolation that produces a file with an advertised prefix the current reader (`find_prefix_parquet_col_indices` on the #6425 state) bails on. The reader-side fix — returning `Vec<Option<PrefixColumn>>` and synthesizing a constant `[0x00, 0x00]` byte for `None` slots — lands in PR #6426 (the hardening slice, F12 from the adversarial review). The only caller of this adapter is `execute_merge_operation`, introduced in PR #6423 which sits above #6426 in the stack, so no production caller can produce a missing- column prefix until the reader fix is in place. Adding the in-code pointer so a future reader bisecting the stack doesn't have to trace the relationship from scratch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 57e0a21 commit 8d055e0

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

quickwit/quickwit-parquet-engine/src/storage/legacy_adapter.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,19 @@ fn resolve_prefix_sort_cols(
356356
// null at every row is constant, which trivially satisfies
357357
// alignment on that column. The transition computation
358358
// synthesizes a NullArray in its place.
359+
//
360+
// Adapter-vs-reader consistency note (Codex P2 on PR #6425):
361+
// we record `None` here and the caller stamps
362+
// `rg_partition_prefix_len = target_prefix_len` on the output.
363+
// The matching reader-side handling — `find_prefix_parquet_col_indices`
364+
// returning `Vec<Option<PrefixColumn>>` and synthesizing a
365+
// constant `[0x00, 0x00]` byte sequence for `None` slots —
366+
// lands in the next slice (PR #6426, the hardening PR; F12
367+
// from the adversarial review). The only caller of this
368+
// adapter is `execute_merge_operation` introduced in
369+
// PR #6423, which sits above #6426 in the stack, so there is
370+
// no production caller that can produce a missing-column
371+
// prefix until the reader fix is in place.
359372
indices.push(arrow_schema.index_of(resolved).ok());
360373
}
361374
Ok(indices)

0 commit comments

Comments
 (0)