Align interleaved source locators with Parquet FILE - #2284
Open
VibhuJawa wants to merge 5 commits into
Open
Conversation
VibhuJawa
force-pushed
the
codex/interleaved-file
branch
from
August 1, 2026 06:26
3276dbc to
7ec6416
Compare
VibhuJawa
marked this pull request as ready for review
August 1, 2026 06:32
Contributor
Greptile SummaryThe PR aligns interleaved source locators with the Parquet FILE physical shape while retaining compatibility with existing serialized locators.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the previously reported legacy-alignment, locator-caller, and PDF-provenance issues are addressed at the current head. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[Legacy JSON source_ref] --> B[align_interleaved_table]
B --> C[FILE-compatible source_ref struct]
B --> D[source_member / source_frame_index]
B --> E[page_number / source_bbox]
C --> F[Materialization]
D --> F
C --> G[Parquet or Lance output]
D --> G
E --> G
Reviews (7): Last reviewed commit: "fix(interleaved): preserve PDF provenanc..." | Re-trigger Greptile |
Signed-off-by: Vibhu Jawa <vjawa@nvidia.com>
Signed-off-by: Vibhu Jawa <vjawa@nvidia.com>
VibhuJawa
force-pushed
the
codex/interleaved-file
branch
from
August 1, 2026 07:02
528e8a5 to
a58f01d
Compare
Signed-off-by: Vibhu Jawa <vjawa@nvidia.com>
Signed-off-by: Vibhu Jawa <vjawa@nvidia.com>
VibhuJawa
force-pushed
the
codex/interleaved-file
branch
from
August 1, 2026 20:01
d86a4a6 to
8fad1aa
Compare
Signed-off-by: Vibhu Jawa <vjawa@nvidia.com>
Contributor
Author
|
/okay to test 7a5a8e9 |
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
Align interleaved source locators with the Parquet
FILElogical-type shape, simplify materialization, and improve actual Parquet reader/writer throughput.source_ref.pathsource_ref.urisource_ref.byte_offsetsource_ref.offsetsource_ref.byte_sizesource_ref.sizesource_ref.membersource_membercolumnsource_ref.frame_indexsource_frame_indexcolumnsource_refhas all six optional FILE children from the specification:uri,offset,size,content_type,checksum, andinline.What changed
{page, bbox}provenance migrates to typed adjacentpage_numberandsource_bboxcolumns instead of being discarded.uri + sizenow correctly resolves[0, size)whenoffsetis absent.fs.cat_ranges()path, with one call per filesystem backend.storage_options.use_dictionary.Archive-member and TIFF-frame metadata remain adjacent because FILE is a closed group.
source_memberis only needed for tar extraction when a usable FILE byte range is unavailable; ranged and whole-object FILE reads do not depend on it.Compatibility and scope
The change keeps
binary_contentunchanged. TheinlineFILE child is present in the canonical schema, but moving existing payload storage or materialization toinlineis outside this PR.PyArrow 19 can write the exact physical group but cannot emit the new
LogicalType.FILEfooter annotation. The FILE specification merged on 2026-07-26, and the cited parquet-java and arrow-rs implementations are still open/unreleased. This PR therefore avoids a custom Thrift footer rewriter and can adopt native Arrow support when it lands.Performance validation
Compared latest upstream
main(5732455) with this branch on the same CPU host. These are realInterleavedParquetWriterStageandInterleavedParquetReaderStageruns over 200,000 typed Arrow rows; values are medians of seven warm runs.Remote HTTP materialization used a pinned, range-capable 466 KB object and verified every returned payload:
Validation
nemo_curatorand interleaved tests.main, upstreammain, and the PR base all resolve to5732455; the branch is based directly on current main.Diff