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

   ### Purpose
   
   Part of the primary-key BLOB split (#9099), after the descriptor format 
(#9539), the read path (#9608), and keeping BlobViewStruct bytes when 
blob-as-descriptor is true (#10057).
   
   - Add the `.blobref` sidecar format and `ManagedBlobReferenceCollector`. The 
on-disk layout matches Java `ManagedBlobReferenceFile` (magic, version 1, 
modified UTF-8, CRC of the payload only). The collector is a library and is not 
wired into the primary-key writer.
   - Commit abort deletes sidecar paths listed in `extra_files` (`.blobref`, 
`.row`). When a BlobConsumer owns the packs, paths ending in `.blob` (including 
`.managed.blob`) are left in place.
   - `prepare_commit` still returns a copy and leaves file ownership on the 
writer, so `writer.abort()` deletes uncommitted data files. Batch HASH index 
files stay owned until abort; only stream prepare releases them.
   
   Not in this change: `BlobFormatWriter._copy_exactly`, primary-key 
managed-BLOB writes, or the read/view path.
   
   ### Tests
   
   - [x] `managed_blob_reference_file_test` (round trip, fixed Java-compatible 
fixture, truncated file, abort-then-close)
   - [x] `managed_blob_lifecycle_test` (sidecar deletion, consumer-owned packs 
preserved, resolved data file deleted when extras fail)
   - [x] `managed_blob_write_ownership_test` (prepare keeps writer ownership; 
BlobConsumer sets the preserve flag)
   - [x] `test_blob_abort_deletes_uncommitted_files`, 
`test_vector_abort_deletes_uncommitted_files`, 
`test_vector_close_failure_after_prepare_raises`
   - [x] `test_update_by_row_id_aborts_files_after_prepare_commit_failure`
   - [x] `test_batch_writer_abort_after_prepare_deletes_hash_index`, 
`test_stream_writer_releases_prepared_hash_index_ownership`
   - [x] `test_multi_prepare_commit_ao`, `test_multi_prepare_commit_pk`


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