lxy-9602 opened a new pull request, #8743: URL: https://github.com/apache/paimon/pull/8743
### Purpose This is a subtask of [MAP shared-shredding support](https://cwiki.apache.org/confluence/display/PAIMON/PIP-43%3A+Columnar+Storage+Optimization+for+MAP+Type+in+Paimon). This PR adds configurable physical column placement policies for MAP shared-shredding. It introduces the per-field option: ```text fields.<field-name>.map.shared-shredding.column-placement-policy ``` Supported policies are: - `plain`: place fields according to the MAP entry order. - `sequential`: place fields according to their dictionary IDs. - `lru`: preserve recently used field-to-column assignments and evict the least recently used columns. This is the default. The shared allocator now owns common file-level metadata collection, while each policy provides its own row allocation strategy. The selected policy is propagated through `MapSharedShreddingWritePlanFactory` and applied by `MapSharedShreddingRowConverter`. Schema validation now rejects unknown placement policies. Existing physical-layout tests explicitly use `plain`, while new tests cover all three policies. ### Tests - Added unit tests for option parsing and schema validation. - Added allocator tests for `plain`, `sequential`, and `lru`. - Added write-plan and row-converter policy tests. - Added ORC/Parquet table-level E2E tests covering all three policies, footer metadata, overflow placement, and logical read-back. - Ran the related `paimon-common` and `paimon-core` test suites. - Spotless and `git diff --check` passed. -- 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]
