You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@paimon.apache.org by "JingsongLi (via GitHub)" <gi...@apache.org> on 2026/10/11 11:21:56 UTC
[PR] [Python] Commit snapshot properties through Native [paimon]
JingsongLi opened a new pull request, #10505:
URL: https://github.com/apache/paimon/pull/10505
## Summary
PyPaimon already supports caller `snapshot_properties` in batch, stream and overwrite commits. The presence of an explicit property map previously forced the Python publication path, even for `{}` and REST tables which otherwise qualified for Native.
- Route eligible commits with properties through Native and pass metadata to the existing batch/stream commit operation.
- Keep callback and non-REST routing on the Python path.
- Preserve the preparation/publication exception boundary: errors once Native publication begins must not trigger another publication or abort prepared files.
- Add REST tests for Append, PK and Data Evolution, stream checkpoint isolation, empty commits, static/dynamic empty overwrite and lost publication responses.
Properties describe the current commit, are not inherited by subsequent checkpoints, and empty maps are absent from snapshot metadata. These rules follow Java `ManifestCommittable.properties` and `FileStoreCommitImpl` snapshot construction. No new Python capability or API is introduced.
## Dependency
Depends on https://github.com/apache/paimon-rust/pull/1104 for Rust core snapshot-property publication and the optional binding argument. This PR is draft until that change reaches Rust main. Native CI continues to build upstream `apache/paimon-rust@main`.
## Verification
Built the companion Rust extension and enabled Native plan/read/write/commit for:
```
pypaimon/tests/native_snapshot_properties_test.py
pypaimon/tests/native_commit_test.py
pypaimon/tests/table_commit_test.py
```
- 117 tests passed, with 68 Native plans, 56 reads, 54 writes and 73 commits exercised.
- Existing Python `table_commit_test.py` and `table/simple_table_test.py`: 41 passed.
- Rust commit regression: 121 passed; Python binding commit suite: 58 passed.
- Clippy 1.98.0, Rust formatting, Python Flake8, Python 3.6 syntax parsing and diff checks passed.
- Independent core/API and Python adapter reviews have no remaining findings.
New cases assert that property maps cannot leak between stream checkpoints, empty-map metadata is omitted, static empty overwrite publishes properties while dynamic empty overwrite creates no snapshot, and publication response loss preserves both metadata and referenced data files.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [Python] Commit snapshot properties through Native [paimon]
Posted by "JingsongLi (via GitHub)" <gi...@apache.org>.
JingsongLi merged PR #10505:
URL: https://github.com/apache/paimon/pull/10505
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@paimon.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org