+1 (non-binding) Thank you, Voon, for preparing the second release candidate.
I validated release-1.2.1-rc2 (2a8f71144873) as a member of the Apache XTable (incubating) community. I tested a local source build with Spark 3.x and Scala 2.12. I checked the sha512 checksum and the signature against the key in this vote. I also checked that the source release matches the tag. The tests passed for three XTable changes. - Table version 9 support (#835). The full xtable-core suite passed, including column statistics for partitioned tables with externally registered files. - Hudi secondary indexes for Iceberg tables (#935). The full xtable-core suite passed, including file and row position checks across inserts, updates, and deletes. - Iceberg support through HoodieTableFormat (#894). The module passed 25 integration tests and 7 unit tests, with one skip for a known limitation. For externally written Parquet files without record keys - positional record keys, secondary key mappings, deletes during replace commits, and validation checks all behaved as expected. One compatibility concern remains from RC1, but it does not block my vote. HoodieCleanStat exposed two public constructors in 1.2.0. Version 1.2.1 removes the seven-argument constructor and makes the eleven-argument constructor non-public. These changes break source and binary compatibility for callers that use these constructors. XTable now uses the builder, but a release note could help other consumers. Thanks, Vinish
