+1 (binding) - Source release: checksum, signature, LICENSE/NOTICE/DISCLAIMER, no binaries, RAT all pass - Source tarball matches the release-1.2.1-rc2 tag; RC1 to RC2 delta is the 3 listed PRs - Built from source with JDK 11 (-Dspark3.5 -Dflink2.1); hudi-common unit tests pass - Staged Spark 3.5, Flink 2.1 and utilities bundles: sha1 and GPG verified, contents match the local build - Spark 3.5.5 (JDK 11 and 17), COW and MOR: insert/upsert/delete, time travel, incremental, compaction, read-optimized, metadata table with record index - Spark SQL: CREATE/INSERT/UPDATE/DELETE/MERGE INTO, _ro/_rt, hudi_table_changes, show_commits - HoodieStreamer with the staged utilities-slim bundle: ParquetDFSSource to MOR, upserts and inline compaction verified
Thanks, Voon, for driving the release. Best, - Ethan On Fri, Sep 18, 2026 at 1:20 PM Vinish Reddy <[email protected]> wrote: > +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 >
