Skip to content

deps: bump arrow and parquet to 59.3.2 - #7419

Merged
andygrove merged 3 commits into
apache:mainfrom
fresh-borzoni:deps-parquet-59.3.2
Nov 3, 2026
Merged

andygrove merged 3 commits into
apache:mainfrom
fresh-borzoni:deps-parquet-59.3.2

Conversation

@fresh-borzoni

@fresh-borzoni fresh-borzoni commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #7417.

Rationale for this change

Pick up the fixes in arrow-rs 59.3.2. It is a patch release over 59.3.1 with 15 backported fixes. The changes most relevant to Comet are:

Full changelog: https://github.com/apache/arrow-rs/blob/59.3.2/CHANGELOG.md

What changes are included in this PR?

  • Refresh the native and Delta contrib lockfiles with cargo update, moving the arrow-*, parquet and parquet-variant* crates from 59.3.1 to 59.3.2.
  • Update the RSS shuffle frame-size test: arrow-rs 59.3.2 writes no validity bitmap for a column without nulls, so the frame is 2,048 bytes smaller.

DataFusion, iceberg-rust and object_store remain unchanged.

How are these changes tested?

Locally verified on macOS/aarch64:

  • cargo check --workspace --all-targets --locked
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo fmt --all -- --check
  • cargo check -p datafusion-comet --features contrib-delta --locked
  • cargo check --locked --all-targets in contrib/delta/native

With this change, a 1.2.0-rc1 build returns Spark's results for the reproduction in #7417.

The run-iceberg-tests and run-delta-build-gate labels would request the corresponding CI coverage.

arrow-rs 59.3.2 includes apache/arrow-rs#11754, the 59.x backport of
apache/arrow-rs#11021: DeltaBitPackDecoder::skip reads miniblocks wider
than 64 values instead of failing with "cannot skip miniblock of size N".
Snowflake writes 512-value miniblocks and Databricks Photon 256, and a
native scan reaches skip when it skips a long run of rows, such as a run
of Iceberg position deletes.

The native and Delta contrib lockfiles move arrow-*, parquet and
parquet-variant* from 59.3.1 to 59.3.2. See apache#7417.
@github-actions github-actions Bot added dependencies Pull requests that update a dependency file area:scan Parquet scan / data reading area:Delta Delta Lake contrib (native scan, deletion vectors) labels Nov 2, 2026
@fresh-borzoni

fresh-borzoni commented Nov 2, 2026 •

Copy link
Copy Markdown
Member Author

@andygrove could this be backported to branch-1.1 and branch-1.2?
Both are on parquet 59.3.0 and have the same bug (#7417).

Comment thread native/Cargo.lock Outdated
dependencies = [
"heck 0.5.0",
"itertools 0.14.0",
"itertools 0.13.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this intended?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not intended, fixed

Comment thread native/Cargo.lock Outdated
dependencies = [
"anyhow",
"itertools 0.14.0",
"itertools 0.13.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this intended?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ditto

@andygrove andygrove added backport-1.1 Candidate for backporting to 1.1 release branch backport-1.2 labels Nov 2, 2026
cargo update re-picked itertools 0.13.0 for them when moving arrow and
parquet. Restore the previous choice, so the lockfiles only change the
arrow and parquet crates.
@fresh-borzoni

Copy link
Copy Markdown
Member Author

@andygrove Thank you, good catch, fixed

@andygrove andygrove left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@github-actions github-actions Bot added the area:shuffle Shuffle (JVM and native) label Nov 2, 2026
@fresh-borzoni

fresh-borzoni commented Nov 2, 2026 •

Copy link
Copy Markdown
Member Author

Fixed the RSS frame-size test: arrow-rs 59.3.2 emits an empty validity bitmap for non-null columns, so the frame is 2,048 bytes smaller.

@andygrove
andygrove added this pull request to the merge queue Nov 2, 2026
@andygrove

Copy link
Copy Markdown
Member

@andygrove could this be backported to branch-1.1 and branch-1.2? Both are on parquet 59.3.0 and have the same bug (#7417).

@fresh-borzoni Sounds good. Do you want to create the back-port PRs? You (or your agent) can read the contributor guide to know the rules about this.

@fresh-borzoni

Copy link
Copy Markdown
Member Author

@andygrove Thank you, sure, will open both once this merges 👍

Merged via the queue into apache:main with commit 644a870 Nov 3, 2026
26 checks passed
@fresh-borzoni

Copy link
Copy Markdown
Member Author

@andygrove Opened #7447 and #7448 for backports, thank you 🙏

andygrove pushed a commit that referenced this pull request Nov 3, 2026
* deps: bump arrow and parquet to 59.3.2

arrow-rs 59.3.2 includes apache/arrow-rs#11754, the 59.x backport of
apache/arrow-rs#11021: DeltaBitPackDecoder::skip reads miniblocks wider
than 64 values instead of failing with "cannot skip miniblock of size N".
Snowflake writes 512-value miniblocks and Databricks Photon 256, and a
native scan reaches skip when it skips a long run of rows, such as a run
of Iceberg position deletes.

The native and Delta contrib lockfiles move arrow-*, parquet and
parquet-variant* from 59.3.0 to 59.3.2. See #7417.

* deps: keep prost-build and prost-derive on itertools 0.14.0

cargo update re-picked itertools 0.13.0 for them when moving arrow and
parquet. Restore the previous choice, so the lockfiles only change the
arrow and parquet crates.

* test: update the RSS frame size for arrow-rs 59.3.2

(cherry picked from commit 644a870)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Delta Delta Lake contrib (native scan, deletion vectors) area:scan Parquet scan / data reading area:shuffle Shuffle (JVM and native) backport-1.1 Candidate for backporting to 1.1 release branch backport-1.2 dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Native Iceberg scan fails on DELTA_BINARY_PACKED miniblocks wider than 64 values

2 participants