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

   ### Purpose
   
   Extract the remaining PyPaimon writer integration from #9743. This builds on 
the merged v1 codec/block-pruned reader in #9908 and the manifest-reference 
retry fix in #9921; it does not change the sidecar format or Java 
implementation.
   
   - Generate sidecars for ordinary and rolling manifest writes, including 
manifests produced by minor compaction.
   - Publish `_EXTRA_FILES` only after both immutable outputs close 
successfully. `manifest.sidecar.enabled` controls reads and writes and 
continues to inherit `manifest-sort.enabled` when unset.
   - Clean up newly created manifest/sidecar pairs on write or preparation 
failure, including previously completed rolling outputs. Preserve existing 
manifests and propagate cancellation. Commit outcomes that may be uncertain 
keep the existing no-cleanup behavior.
   - Keep coarse RowID bounds unknown for invalid ranges, consistent with 
sidecar coverage.
   - Document writer behavior and exercise the real writer in the existing 
pruning tests.
   
   ### Tests
   
   - Python 3.11: **276 passed** across manifest, commit/retry, explain, cache, 
file-type, and bucket-pruning suites.
   - Python 3.6: **116 passed** across sidecar, block-index, and file-type 
suites.
   - Flake8 passed with `paimon-python/dev/cfg.ini`; `git diff --check` passed.
   - Added coverage for explicit disablement, write/close failures, 
interruption, rolling cleanup, commit cleanup ownership, and invalid RowID 
bounds.
   - Additional isolated Python-write/Java-read check: 12 manifests, 1,806 
entries, null/deflate/Zstandard compression, ordinary and rolling outputs, an 
empty manifest, and 108 block-pruned read comparisons all matched the full Java 
reads.
   
   ```sh
   PYTHONPATH=paimon-python python -m pytest \
     paimon-python/pypaimon/tests/manifest \
     paimon-python/pypaimon/tests/file_store_commit_test.py \
     paimon-python/pypaimon/tests/read_builder_explain_test.py \
     paimon-python/pypaimon/tests/caching_file_io_test.py \
     paimon-python/pypaimon/tests/file_type_test.py \
     paimon-python/pypaimon/tests/pushdown_bucket_test.py -q
   ```
   


-- 
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