yihua opened a new issue, #802: URL: https://github.com/apache/hudi-rs/issues/802
### Description of the bug Two merge-on-read reads fail on log files that Hudi writes: 1. A table upgraded to version 6 from an earlier version keeps V2 log blocks (written by Hudi 0.13 and earlier) until compaction. hudi-rs refuses them: `Only support log block version 3 but got: V2`. V2 and V3 Avro data blocks share one layout, so they can be read. V2 delete blocks are Kryo-serialized and would still need a clear refusal. 2. A log block whose Avro schema has an `enum` field fails to merge: `reconcile: column '<name>' type Dictionary(Int32, Utf8) incompatible with target Utf8`. arrow-avro decodes the enum as a string dictionary, while the table schema and parquet base files hold the column as `Utf8`. ### Steps To Reproduce 1. MOR table (version 6) with a parquet base file and an Avro log block that updates or inserts a row, where the block is stamped V2, or the schema has an `enum` field. 2. Read a snapshot through `Table::read`. ### Expected behavior Both reads return the merged rows, with the enum column as `Utf8`. A V2 delete block is refused with an error naming the block kind and version. ### Software information - Operating system: any - Rust version: 1.94 - Project version: main -- 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]
