Skip to content

[python] Keep REST catalog operations on Python - #10622

Merged
JingsongLi merged 2 commits into
apache:masterfrom
JingsongLi:codex/native-rest-version-management
Oct 17, 2026
Merged

JingsongLi merged 2 commits into
apache:masterfrom
JingsongLi:codex/native-rest-version-management

Conversation

@JingsongLi

@JingsongLi JingsongLi commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Purpose

Keep PyPaimon's REST catalog operations on the Python HTTP client. These metadata calls do not benefit from a Native bridge, while Native table planning, reading, writing and committing continue to execute in Rust.

Changes

  • Undo the Native REST branch delegation introduced by [python] Use Native REST catalog branch operations #10619 and remove the Native version-management bridge from earlier revisions of this PR.
  • Call Python RESTApi directly for all branch, tag, snapshot-loading and rollback entry points.
  • Delete the Native catalog adapter, its authentication/header reconstruction and the corresponding Rust SDK requirements in Native CI. This PR no longer depends on paimon-rust [license] LICENSE.animal-sniffer should not be standard MIT #1142.
  • Retain the Java protocol corrections: omitted absent rollback guards, opaque pagination parameters, null versus empty tag pages, structured errors, and resource path validation.
  • Replace Native-bridge-only tests with real Python HTTP tests. A guard forbids imports of pypaimon_rust during metadata calls, even when Native table options are enabled.
  • Keep the shared Parquet/BLOB data-safety and uncertain-publication regressions using Native table reads/writes and Python catalog calls.
  • Update the README to describe the execution boundary.

Rust's public REST catalog APIs remain in the independent paimon-rust PR.

Verification

  • Python REST branch/version/tag/rollback suites: 174 passed, 3 Native-data tests skipped in the ordinary lane.
  • Native table branch-write and Python REST regressions with Native planning, reading, writing and committing enabled: 146 passed.
  • Added resource-path regressions: 6 passed, with no requests sent for parent-resource names.
  • Flake8 and git diff --check passed.

@JingsongLi JingsongLi changed the title [python] Use Native REST catalog version management [python] Keep REST catalog operations on Python Oct 17, 2026

@leaves12138 leaves12138 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.

LGTM

@JingsongLi
JingsongLi merged commit 220f0fe into apache:master Oct 17, 2026
10 of 15 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