xushiyan opened a new issue, #600:
URL: https://github.com/apache/hudi-rs/issues/600

   ## Description
   
   `hoodie.table.ordering.fields` supports comma-separated multiple fields 
(e.g., `ts,seq`) for lexicographic record ordering. The config parsing already 
handles this as a `List`, but the value is currently rejected at validation 
time (`UnsupportedValue`) because downstream code only handles a single 
ordering field.
   
   ## What needs to change
   
   To support multiple ordering fields, the following code paths need updates:
   
   ### Data record merging (`merge/record_merger.rs`)
   - `lexsort_to_indices` should build sort columns from all ordering fields 
instead of a single one
   - Event time converter and extraction should handle multiple columns
   
   ### Ordering comparison (`merge/ordering.rs`)
   - `process_batch_for_max_orderings` should extract and compare across all 
ordering fields
   - `MaxOrderingInfo` event time comparison should be multi-column
   
   ### Record extraction (`record/mod.rs`)
   - `create_event_time_ordering_converter` and 
`extract_event_time_ordering_values` should accept `&[String]` instead of `&str`
   
   ### Delete record handling
   - Hudi delete records (`HoodieDeleteRecord.avsc`) only store a single 
`orderingVal`. Need to decide how multi-field ordering interacts with delete 
records — likely compare on the first field only for data-vs-delete 
comparisons, since the delete format is a Hudi spec constraint.
   
   ### Config validation (`config/table.rs`)
   - Remove the `UnsupportedValue` guard for multiple ordering fields in 
`parse_value`
   
   ## Context
   
   Introduced in #598 — config alias support and `OrderingFields` rename.


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