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]

Reply via email to