Stephen0421 opened a new pull request, #10570: URL: https://github.com/apache/paimon/pull/10570
### Purpose Primary-key Python writes externalize managed BLOB payloads into `.managed.blob` packs and store table-relative descriptors in the data file. Each data file's `extra_files` lists the `.blobref` sidecar and the pack names that file references. A pack may be listed on more than one data file when those files share it. When `blob-as-descriptor` is false, primary-key reads resolve those descriptors against the table directory and return payload bytes. Append tables still use dedicated `.blob` files and are unchanged. `commit.abort` deletes the aborted data files and their `.blobref` sidecars. A `.managed.blob` pack is deleted only when no `.blobref` outside that abort still names it, so aborting one file does not destroy a pack that a committed file still uses. Aborting every file that references a pack still removes the pack. Writer abort deletes packs that have not been handed to a data file. Packs already given to a `BlobConsumer` stay in place. ### Tests - Primary-key write registers `.blobref` and `.managed.blob` on `extra_files`, and `new_read_builder()` returns payload bytes. - Partial `commit.abort` keeps a pack that committed files still reference, and those rows still read back. - Full abort deletes packs that no surviving `.blobref` references. - Append dedicated-blob reads still return payload bytes. -- 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]
