JingsongLi opened a new issue, #1062:
URL: https://github.com/apache/paimon-rust/issues/1062

   ### Problem
   
   PyPaimon already supports `with_blob_consumer`, but installing a consumer 
currently switches NativeTableWrite back to the Python writer because Rust core 
and the Python bindings do not provide it. Rust also ignores the existing 
`blob.copy-buffer-size` option.
   
   ### Expected behavior
   
   Keep append Blob writes native while implementing Java BlobConsumer 
semantics:
   
   - Report physical payload descriptors for BLOB, ARRAY<BLOB> and MAP<K, BLOB> 
fields.
   - Report null descriptors for null fields, skip null collection elements, 
and preserve Java's callback timing and record-level flush requests.
   - Preserve consumer Blob files during automatic writer cleanup, including 
callback errors and partial prepare failures. Explicit TableCommit.abort 
remains available to discard prepared files.
   - Honor the positive, int-sized copy buffer option with Java's 4 KiB default 
without turning each small copy into a separate remote range request.
   - Keep descriptor conversion and Python exception transport in the binding, 
with write behavior implemented in Rust core.
   
   Primary-key managed Blob writers do not invoke the append consumer, 
consistent with Java. This does not introduce a new storage format or new 
PyPaimon functionality.
   


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