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]
