Skip to content

fix(vortex): avoid footer read deadlock#402

Merged
JingsongLi merged 1 commit into
apache:mainfrom
QuakeWang:fix-vortex-ci-hang
Jun 22, 2026
Merged

fix(vortex): avoid footer read deadlock#402
JingsongLi merged 1 commit into
apache:mainfrom
QuakeWang:fix-vortex-ci-hang

Conversation

@QuakeWang

Copy link
Copy Markdown
Member

Purpose

Vortex 0.68 can hang while decoding file footers because session.layouts().registry() keeps a session borrow alive while session.allows_unknown() may lazily insert default session state. That can require a write lock on the same session map and deadlock.

Brief change log

  • Upgrade Vortex from 0.68 to 0.75.0, where allows_unknown() no longer lazily writes session state.
  • Adapt Vortex-to-Arrow conversion to the Vortex session execution API.
  • Keep constant_time_eq below 0.5.0 so fresh dependency resolution remains compatible with Rust 1.91.

Tests

  • RUSTUP_TOOLCHAIN=1.91.0 cargo fmt --all -- --check
  • git diff --check
  • RUSTUP_TOOLCHAIN=1.91.0 cargo clippy --all-targets --workspace --features fulltext,vortex,mosaic -- -D warnings
  • RUSTUP_TOOLCHAIN=1.91.0 cargo build --features fulltext,vortex,mosaic
  • RUSTUP_TOOLCHAIN=1.91.0 cargo test -p paimon --all-targets --features fulltext,vortex,mosaic
  • timeout 120s taskset -c 0 env RUSTUP_TOOLCHAIN=1.91.0 cargo test -p paimon-datafusion --features vortex --test vortex_tables -- --nocapture

API and Format

Documentation

Upgrade Vortex to a version where unknown plugin policy reads no longer lazily write session state while footer layout decoding holds a layout registry borrow.

Adapt Arrow conversion to the Vortex session execution API and keep constant_time_eq below 0.5.0 so a fresh resolver remains compatible with Rust 1.91.

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>

@JingsongLi JingsongLi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

+1

@JingsongLi JingsongLi merged commit 0834a0c into apache:main Jun 22, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants