JingsongLi opened a new pull request, #10784:
URL: https://github.com/apache/paimon/pull/10784

   ### Purpose
   
   Keep PyPaimon's public table APIs focused on configuration, validation and 
delegation, with execution state owned by the selected backend.
   
   - Keep Python dynamic-bucket restoration within Python execution, including 
after Native preparation falls back. Retain a selected Python committer for 
later rounds.
   - Move Python writer state off the public facade. Remove backend-specific 
writer/committer attributes and generic Native attribute forwarding that could 
initialize or switch executors during inspection.
   - Remove TableRead's private Native method mirrors. Native adaptation calls 
its own helpers directly, while shared output and cache configuration stay 
outside execution. Allocate Python decoded caches within the Python reader.
   - Remove the unused SingleWriter facade, implementation and factories.
   - Construct physical Row/Blob/Vortex codecs in Python execution using FileIO 
streams. Remove format-specific FileIO convenience methods and their fixed 
Python dispatch bridge; keep shared URI/path conversion in filesystem.
   - Preserve descriptor URI routing, cached reads and REST credential 
refresh/authorization through FileIO wrappers, with regression coverage.
   
   Documented table API signatures and supported subclass hooks remain 
unchanged. The removed attributes and codec convenience methods were 
implementation-specific, undocumented surfaces. General validation, shared 
Arrow/Pandas adapters and utilities retain their existing ownership. Existing 
Rust APIs are sufficient for this cleanup.
   
   ### Tests
   
   - Affected Python write/read/Blob/format suites: **1278 passed, 247 
skipped**.
   - Additional commit, FileIO, row-ID retry and schema/history suites: **247 
passed, 24 skipped**.
   - Native-enabled joint regression suites: **3224 passed**, exercising **1639 
plans, 1591 reads, 3310 writes and 540 commits**. Reused the existing SDK test 
runtime without rebuilding or installing the extension.
   - Targeted public/import isolation and descriptor regressions: **53 passed, 
1 skipped**.
   - Packaging checks passed, including distribution contents after removing 
the obsolete bridge.
   - Changed Python files pass the repository Flake8 configuration; license 
headers and `git diff --check` pass.
   
   The new dynamic-bucket regressions fail when the old cross-backend dispatch 
is restored. Regressions also cover missing implementation attributes without 
backend allocation, stable commit selection, shared cache ownership, Native 
read cancellation/stream closure, and descriptor contents with REST refresh and 
access denial.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to