You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by gi...@apache.org on 2026/07/24 09:43:19 UTC

(hudi) branch dependabot/maven/packaging/hudi-cli-bundle/org.apache.commons-commons-configuration2-2.15.0 updated (c18a25c689fb -> ba76210d051e)

This is an automated email from the ASF dual-hosted git repository.

dependabot[bot] pushed a change to branch dependabot/maven/packaging/hudi-cli-bundle/org.apache.commons-commons-configuration2-2.15.0
in repository https://gitbox.apache.org/repos/asf/hudi.git


 discard c18a25c689fb chore(deps): bump org.apache.commons:commons-configuration2
     add 50eb95c7d6f5 fix(flink): fix disable table service not effective in hudi-flink (#13875)
     add b82a5b2fe835 feat: add metrics for bucketassign.minibatch cache hit ratio (#18761)
     add facb517ef957 feat(spark): Drop Apache Spark 3.3 integration support (#18786)
     add e299b84b10b5 chore: fix asf.yaml invalid key (#18808)
     add e2e5598838a2 chore: remove outdated required status checks in asf.yaml (#18832)
     add 06dc09b1fedd feat(flink): Backport Flink 2.1 Dremel nested Parquet reader rewrite to hudi-flink1.19.x (FLINK-35702) (#18809)
     add 7e5b5351bbfa chore: Fix stale zip file for variant backward compatibility test (#18815)
     add 62ad88a3dc93 chore: Add release information for Apache Hudi 1.2.0 (#18831)
     add b5c5801bf7d5 fix(spark): Add options for archive procedure (#18437)
     add 652d95253648 fix: RLI bootstrap fails due to NPE with cleaner table service (#18836)
     add 76ddebcc5228 chore: Fix Flink CI Maven profile arguments (#18845)
     add 516d9e2093a5 [MINOR] Handle cancellation error with HoodieMetadataTableValidator (#18371)
     add b8cab719b205 fix(ci): make required status checks work for PRs (#18598)
     add ce29423932ec docs: Update DOAP file to include 0.15.1 (#18838)
     add e5ae1115458c feat(trino): [RFC-105] Trino Hudi Connector — Shim/Bundle Refactor (#18782)
     add 1bf6b44fcd1f feat(flink): add lance format for Flink append only table (#18741)
     add d5c6b4d727e1 feat(flink): Add metrics for remote RLI lookup time in BucketAssign op (#18813)
     add 853cbef630b3 feat(vector_search): Implement functionality for pre-filters and maxD… (#18797)
     add 588998fc7193 refactor(flink): Refactor RowData writer factory to use HoodieSchema (#18873)
     add ff72186936eb fix(cli): Fix the typo in show-inflight CLI command (#18868)
     add 4290550378d1 chore: Pin third-party GitHub Actions to commit SHAs (#18872)
     add 7af8cdf2c20e perf(streamer): fold validate() error-table WriteStatus sums into one pass (#18871)
     add fc85e3ea985c fix(flink): remove pre-seed in metrics in GlobalRecordLevelIndexBackend and RecordLevelIndexBackend (#18875)
     add 6e40cffcc92b fix(hudi-sync): Fix Hive test temp directory cleanup with JUnit TempDir (#18883)
     add 65562af43371 feat: Enable import order style check and error on violations (#18886)
     add da189952aaca fix(flink): set canonical base path in Hive sync config (#18884)
     add 314ffaf06e59 feat: add lance format support for Flink COW table (#18862)
     add 4e5034d35462 fix(flink): fix data loss in stream read from earliest (#18848)
     add 4fdac3d32931 fix(spark): fix MOR bulk insert commit operation error (#18878)
     add 8490c968d9dc feat(utilities): migrate HoodieStreamerWriteStatusValidator into pre-commit validator framework (#18765)
     add 11f0e7c797ed feat(spark): add input records & bytes metrics (#18882)
     add 8259182e7e32 fix: Fix NPE due to race condition while handling rocksdb handles (#18834)
     add ed9ea0ead908 fix(flink): Trigger a failover after pending instants recommitted for both global and partitioned RLI (#18793)
     add af38b880de5c feat(flink): add shard assign metrics for bucket assign function (#18790)
     add 095e80a9c256 refactor: Add Lombok annotations to hudi-utilities (Part 1) (#17823)
     add 7964202a751d refactor: Add Lombok Builders (#17781)
     add b7adeccfbb5e feat(schema): Config path implemented for spark record type (#18062)
     add ba8c4c7b82c7 fix(spark): align CTAS partition fields by table partition order (#18899)
     add 8ac3092dc4e3 fix(ci): Flink version corresponds to used in Docker image, resolution for Everit JSON schema (#18905)
     add 508e2955ef8b refactor: Add Lombok annotations to hudi-utilities (Part 3) (#17877)
     add 438bbdfcaef4 refactor: Add Lombok annotations to hudi-common module (part 3) (#17825)
     add 163a15a3c899 refactor: Add Lombok Builder annotation to HoodieLogFormat (#17785)
     add 95be21048d69 docs(examples): pin blob.inline.mode=CONTENT after Lance default flip (#18823)
     add c40f765ce58d chore(docker): silence Dockerfile lint warnings across image set (#18664)
     add cb14ca727583 refactor(core): Unify record key/index key splitting and extraction (#18842)
     add 9cddb237be14 fix(streamer): Use checkpoint V1 for non-incremental streamer sources (#18896)
     add 6f81c51fae1d fix(flink): Use the execution mode without rocksdb cache by default … (#18894)
     add 091caadfac40 feat: add lance format for Flink MOR table (#18911)
     add 5182bf851569 feat(flink): support remote partitioner for simple bucket index (#18897)
     add 77f5851a5d53 feat(spark): add Spark 4.2 support (#18621)
     add 9ca18678b8f0 chore: [MINOR] Update DOAP with 0.14.2 Release (#18924)
     add c5e3cd522692 chore: remove the CI validation for Flink1.17 (#18928)
     add aac975c9ff34 feat(flink): Support reading VECTOR columns from Parquet and Avro format (#18723)
     add f4816ce82109 fix(flink): avoid repeated timeline reload for unchanged lookup table commits (#18930)
     add eb863d84e42b chore: drop support for Flink 1.17 (#18920)
     add 782bf654ee4c fix(common): Close log writer output stream on append failure (#18909)
     add 348e7f13a7fb feat(flink): Add validation to reject multiple writers for flink RLI writes (#18946)
     add 1fd2c3671a80 fix(metrics): NPE handling when hudi metrics is disabled (#18947)
     add 86d1650d0f19 feat(flink): Backport Flink 2.1 Dremel nested Parquet reader to hudi-flink1.20 (#18953)
     add 89332241ea0b fix(clustering): retain missing partitions in selected/regex incremental scheduling (#18945)
     add 21121acf3561 fix(flink): Close write client properly in DefaultCleanHandler (#18940)
     add 17b396ebc87f feat(mdt): Support writing bloom filter for hfile log block (#18936)
     add f1c6fe4d0932 feat(flink): Backport Flink 2.1 Dremel nested Parquet reader to hudi-flink2.1.x (#18960)
     add 7f3676be3979 feat(flink): Backport Flink 2.1 Dremel nested Parquet reader to hudi-… (#18959)
     add 466ae49c7767 chore: clean and fix the rfc readme (#18970)
     add 84c1f591481d docs: RFC-106 - Record Level and Secondary Index Support for Flink Writers (#17610)
     add 91f3d227264d perf(clean): Avoid extra getPathInfo RPC per file during clean execution (#18963)
     add 173e76eb3ba8 [HUDI] Add input records caching to HoodieGlobalSimpleIndex (#18921)
     add 182428f803d0 fix(spark): catch HoodieSchemaNotFoundException in 3-arg DefaultSource.createRelation (#18977)
     add 612e327b51fb refactor: Add Lombok annotations to hudi-common module (part 7) (#18944)
     add 1f20fd42e2b9 fix(flink): relocate org.apache.flink.dropwizard (#18982)
     add a032431c81aa feat: add more metrics for delta streamer (#18085)
     add cde86ffd64a4 feat: Add HUDI version and engine properties to commit metadata (#18183)
     add fedf24ffc933 Fix NPE in getInputFileSlices when RO path filter returns empty partition (#18639)
     add 0915f7776be2 fix: Isolate classloader-aware parallel execution in HoodiePreCommitValidatorEngineContext (#18585)
     add 6428cb258366 perf(spark): Resolve drop-partition-columns projection once per writer instead of per row (#18972)
     add 97c03f75c737 fix(spark): strip _hoodie_* meta columns from CDC before/after images (#18948)
     add 27daf3df0757 perf(spark): Parse bucket index hash-field config once instead of per… (#18979)
     add 73ff4ea3aa4f perf(metadata): Parse RLI instant time once per batch instead of per … (#18965)
     add b75a5acc8d10 test(trino): de-flake TestHudi*FileOperations by disabling async table statistics (#18995)
     add 7c934f10f89b feat(spark): Reintroduce Apache Spark 3.3 integration support (#18956)
     add 097dd4a4c8df perf(metadata): Avoid per-record enum-array clone and string parse when materializing MDT records (#18997)
     add 1a8c8ad1f851 [MINOR] Disable codecov-commenter PR comment (comment: false) (#18994)
     add 9c66b47b474e docs: Claim RFC-107 Dynamic Partitioned Cache for Flink upsert (#18998)
     add 7eaa1c3630d2 [MINOR] Cap UT_FT_10 Azure install to -T 2 to avoid flaky compiler heap OOM (#19008)
     add dcfe9d403ecd refactor(metadata): Replace misused stream reduce with a plain for-loop (#18532)
     add e1193c385be6 perf(io): Derive log file size from AppendResult on append-handle close (#19002)
     add b140d249b6cc refactor: Add Lombok annotations to hudi-common module (part 8) (#18957)
     add f3ccf1b3c31b [MINOR] Wait for ZK connection in lock provider to de-flake direct-marker detection test (#19014)
     add e853440bac04 fix(flink): fix the mor small file record size estimation (#18991)
     add b5879f95ad14 perf(kafka-connect): reuse AvroConvertor across records in the connect writer (#19015)
     add a4f0e261b950 fix(spark): Propagate merge configs to file group reader during clustering (#19007)
     add 8389464e1613 perf(kafka-connect): memoize file id per partition path in the connect writer (#19016)
     add 8c2eacffb160 perf(kafka-connect): use a pre-sized ArrayList when flushing buffered records (#19017)
     add abb9b349dbe7 chore(test): document macOS-specific consistency-guard slowness in cleaner test (#17714) (#19003)
     add fb08a156b6f6 perf(metadata): Resolve column-stats field schemas once per collection instead of per record (#19000)
     add 973aeba16778 test(hadoop-mr): enable rollback case in HoodieRealtimeRecordReader.testReader (#18693)
     add 3ada03d744fd feat(flink): Support writing out-of-line BLOB columns (#18958)
     add 059649c51fbb perf(flink): Parse bucket index hash-field config once instead of per ... (#18993)
     add 5579715ef7d9 fix(flink): reuse the preceeding avg size if there is no eligible estimation (#19022)
     add d671c276261a test(flink): de-flake testStreamReadMorTableWithCompactionFromEarliest (#19019)
     add 30fcb2a77e19 feat(metadata): Fix partitioned RLI lookup to use full record key (#19026)
     add c4426265e1f4 test(flink): retry short CollectSink reads to de-flake stream-read ITs (#19030)
     add 5de762f6b2bc feat(flink): Support data skipping based on partitioned RLI (#19006)
     add 23fe7bfcd7e6 feat(variant): Add support to write shredded variants for HoodieRecordType.AVRO (#18065)
     add 4bafe5a6075e test(trino): de-flake TestHudi*FileOperations by asserting only synchronous reads (#19004)
     add 0d547475b3ee feat(spark): add repair_clustering_plan procedure for requested clustering plans (#19040)
     add c3be97b7c910 docs: RFC-103 Hudi LSM Tree Layout (#17827)
     add 7af4fb9acfae feat(flink): Support writing VECTOR columns for flink writer (#18877)
     add d6f0c11dbbb5 feat(flink): Support reading and writing VECTOR fields in clustering (#18913)
     add c6f38c6b6e84 fix: prevent heartbeat timer from being permanently killed by slow or delayed heartbeats (#18904)
     add d8292870f3b7 feat(flink): Add Flink VECTOR validation and compaction tests (#19044)
     add b7da18e322d9 refactor(flink): Unify file reader creation in FlinkRowDataReaderContext (#19050)
     add cf314f1c3c75 perf: Add dedicated batch size config for LSM timeline migration on u… (#19052)
     add 6170ac905273 feat: Add a lsm-tree based FG reader (#18987)
     add 8c45288dadc4 test(clean): Cover tests executing pending clean before scheduling a new one (#19051)
     add 3648230469f5 feat(variant): support reading shredded variant base files via the AVRO reader (#18938)
     add 08ba3f7e4e80 test(spark): de-flake TestHoodieClientMultiWriter early-conflict detection (#19069)
     add 014e8a281319 fix(test): close TestingServer + write clients on all exit paths in TestHoodieClientMultiWriter (#19062)
     add c6d707c6a8bd [MINOR] Guard detailed metadata size metrics with a config (#18803)
     add e4ee7e3023ef test(metadata): Add test coverage for deferred RLI init and bulk_insert (#18865)
     add 0311d6c43961 feat: support write native format log files (#19067)
     add 245f47f50352 fix(spark): support consistent hashing clustering on non-partitioned tables (#18968)
     add 8195fb5d9022 chore(integ-test): bump trino-jdbc 390 to 481 (#19073)
     add 95ac693351ae Fix typo in PartitionTTLStrategyType#getPartitionTTLStrategyClassName (#19076)
     add aafbb638e3be fix: Skip missing properties files gracefully in DFSPropertiesConfiguration (#18805)
     add 17a76973a34e [HUDI-18827] Fix per-task write token for MOR (table v6) rollback log files (#18828)
     add e2cf7216fddf fix(spark): reject INSERT_OVERWRITE when overlapping with pending clustering (#18829)
     add 4efc74739158 fix(streamer): override all deserialize() overloads in KafkaAvroSchemaDeserializer (#18892)
     add 1f479c890cc5 fix(spark): preserve Spark's native unresolved-column errors in HoodieAnalysis (#18147)
     add 01f1496ff565 [MINOR] Forward spark.hoodie.* SparkConf to write path (parity with read path) (#18650)
     add 1f277dd89a60 feat(hudi-notebooks): add Spark 4 image and notebook improvements (#18939)
     add 5e1b89fd490c feat: sort input for lsm write (#19079)
     add d4d7e20771b1 fix(partition-ttl): Fix the integer overflow issue when TTL exceeded 24 days (#19075)
     add 57e557535b51 perf(common): Avoid per-record HoodieSchema rebuilds on Avro read/merge paths (#18967)
     add 848d33e11823 test(flink): de-flake testLookupJoin lookup-join IT (#19093)
     add 38e2e12556fa feat: switch default log format version to v2 (#19091)
     add d9e44c5c519a feat(reader): Adapt the HoodieFileGroupReader to read the native format log files (#19072)
     add 3da0a9807dd1 fix(partition-ttl): Fix IllegalArgumentException in KeepByTimeStrategy when no candidate partitions exist (#19092)
     add 89ffcb1cf317 feat: Allow disabling the partition stats index independently of column stats (#19111)
     add f47ef8067fe5 feat: support read native cdc logs (#19114)
     add 2de099c97269 feat: Support read and write of HFile footer metadata (#19129)
     add 63a1ab19254f feat(spark): add repair_orphan_files stored procedure (#19121)
     add 2912bf63bf04 chore(ci): upload integration-test coverage to Codecov (#19130)
     add 3c74ecf1eace chore(ci): add commit co-author validation as a required PR check (#19134)
     add eca5e883a70a  feat: support configurable parallelism for partition TTL stats collection (#19137)
     add 727ded72b252 fix: remove the dependency to flink-table-planner (#19131)
     add 667626cb9b37 chore(glue-sync): Ignore EntityNotFoundException when dropping Glue partitions (#19142)
     add 6f2fbaaf6e4b fix(storage-format): return all records when scanning multi-block native HFiles (#19146)
     add 9953687a2c93 refactor(spark): consolidate the vendored AvroUtils fork into hudi-spark-common (#19147)
     add 39aa022c8f26 refactor(spark): share Spark 4.x partition-values and mapping classes in hudi-spark4-common (#19148)
     add b933fab87559 refactor(spark): dedup catalyst utils and analysis rules across Spark version modules (#19149)
     add ed9e36851031 refactor(spark): consolidate duplicated small utils across Spark version modules (#19150)
     add e38e043de9e5 refactor: Retire leftover Avro Schema usages in AvroSchemaUtils and LSMTimelineWriter (#19153)
     add 369ca5cb3596 refactor: Migrate reconcileSchema/reconcileSchemaRequirements to HoodieSchema (#19154)
     add 3697001e8485 perf(common): replace BitSet with a fixed word array in the ported bloom filter (#19140)
     add a84a4654cbfc feat: [HUDI-9553] Add equals and hashCode override to Predicate inner classes (#13481)
     add 562c3d94ba23 test: handle expected OCC conflict in concurrent Java writer test (#19124)
     add fc91325b6381 refactor(flink): use SLF4J parameterized logging instead of string concatenation (#19156)
     add 9e20f34e81cb refactor(hadoop-mr): use SLF4J parameterized logging instead of string concatenation (#19157)
     add 9a8edd6e6495 refactor(hadoop-common): use SLF4J parameterized logging instead of string concatenation (#19160)
     add 1030cf9d1af7 refactor(common): use SLF4J parameterized logging instead of string concatenation (#19158)
     add 88d34dc77146 fix(spark): correct self-recursive equals in ProcedureParameterImpl (#19167)
     add d585f83462d7 refactor(cli): use SLF4J parameterized logging instead of string concatenation (#19159)
     add f6ca15ffd011 test(spark): add streaming source and writer support coverage (#19166)
     add 79543235ebdc refactor(spark): use SLF4J parameterized logging instead of string concatenation (#19184)
     add 60a3e9a96957 refactor(aws): use SLF4J parameterized logging instead of string concatenation (#19186)
     add bf787205bbfb refactor(utilities): use SLF4J parameterized logging instead of string concatenation (#19185)
     add 51b57330a8e9 refactor(examples): use SLF4J parameterized logging instead of string concatenation (#19187)
     add 8347be48ce31 fix(spark): make export_instants desc ordering work (#19172)
     add 905fcdda42ac refactor(sync): use SLF4J parameterized logging instead of string concatenation (#19189)
     add 865a554be39e refactor(client): use SLF4J parameterized logging instead of string concatenation (#19155)
     add 2ab2c0a38952 refactor(io): use SLF4J parameterized logging instead of string concatenation (#19188)
     add feea94ba1848 refactor(flink): migrate hand-declared LOG to Lombok @Slf4j (#19190)
     add 0d760762907e refactor(client)!: reorganize hudi-client-common internal package layout (#19192)
     add 3cc8fd128b40 refactor(common)!: reorganize hudi-common packages into core and common namespaces (#19193)
     add 8a653836db55 feat(writer): Switch default to native log format for table version >= 10 (#19118)
     add d291efccaad2 refactor(common)!: continue hudi-common core/common package reorganization (#19195)
     add cf2566cd06c4 feat: Support insert-order record positions for native log files (#19200)
     add aefabf79f707 test(trino): de-flake testRecordLevelFileSkipping by setting the record-index wait timeout (#19213)
     add a1dbb5620bd1 feat: Support table version 10 to 9 downgrade (#19199)
     add ee3692cf3142 fix(flink): avoid AIOOBE in NestedColumnReader across the read batch boundary (#19210)
     add b84f61823610 fix(reader): Remove redundant partition value conversion in RecordContext (#19201)
     add a001ea87da7b feat(index): Add Indexer abstraction and refactor metadata table init… (#18348)
     add c56cca6187b1 feat: add FileNameParser for file name decoding (#19198)
     add 3015eb944083 test(integ-test): add Testcontainers E2E for VECTOR/BLOB/VARIANT Hive… (#19203)
     add 2baa29b14d37 feat(index): Refactor metadata table update logic based on index abstraction (#18372)
     add c18b366e3794 docs: update javadoc spark-submit examples to Spark 3.5 / Scala 2.12 (#19171)
     add 1165eb536b01 fix(spark): demote spurious per-write INFO logs to debug (#19170)
     add 21a931572dfd test(client): cover low-coverage small classes across hudi-client (#19224)
     add 0fc240bf5f95 test: add Vortex reader/writer round-trip test (#19182)
     add 1046ec084732 test(integ-test): add Spark 4.1.1 stack to hive-sync E2E matrix (#19216)
     add 6fa846164892 fix(ci): cap UT_FT_10 reactor install to -T 1 to avoid GCLocker-induced compile OOM (#19119)
     add 9df73c747453 fix(bundle): shade parquet-variant into common bundle includes for Spark 4.1+ (#19235)
     add b22a3d7af37a test(spark): add extended SQL parser coverage for index DDL and Hudi column types (#19218)
     add 14fe7393a42f fix(spark): read Lance BLOB columns in <=512-row chunks to avoid lance-core FFI abort (#19181)
     add bc874774af17 fix(common): name the offending expression in BindVisitor's unsupported-predicate error (#19241)
     add 7b843ae2c35f refactor(spark): consolidate the vendored 3.x Avro serde forks into hudi-spark3-common (#19168)
     add be8a54c4ebda fix(flink): prevent data loss on global failover for streaming writes (#19237)
     add 120d73fcc4db fix(spark): read INLINE blobs as CONTENT on internal write-side Lance… (#19236)
     add 1e2736f5a51b fix(ci): retry transient Maven Central 5xx and stop seeding a 10 MB Maven cache (#19244)
     add 541ab01b9f5a Remove spaces around partition columns (#18423)
     add 7854419d70b5 fix(writer): skip unsupported native log column stats metadata (#19245)
     add bbe73d3e2ee4 fix: align log4j2 and slf4j versions to resolve IntelliJ test failures (#18177)
     add 2a5c83b73075 feat(ui): [HUDI-9315] Add RFC-94: Hudi Timeline UI (#13152)
     add 014358a3e6c8 [HUDI-18075] Cap files per batch in cloud incremental source (#18076)
     add 770e8aabf367 fix(spark): match the staged table, not LogicalWriteInfo, in BasicStagedTable.newWriteBuilder (#19251)
     add a4cde3a1d0bc test(spark): cover the legacy parquet read path with file-group reader disabled (#19133)
     add 72c9558ca9ca [MINOR] Add restore action in all commits timeline (#19277)
     add 2bed01a98acd refactor(common): consolidate *Utils classes (dead code, fold-ins, renames, dedup) (#19212)
     add 43b2926ce397 feat(tools): add TimelineInspector standalone Java tool for timeline forensics (#19238)
     add 29a4925a0f01 feat(flink): support nested data type for flink lance reader/writer (#19242)
     add 1dfbdcb265ea fix: reuse Inflater/Deflater in BitCaskDiskMap to avoid JDK8 finalizer contention (#18818)
     add ac179e48a0c1 feat(spark): Support data skipping based on partitioned RLI (#19013)
     add 502f0cea0866 docs(rfc): [HUDI-9315] Mark RFC-94 (Timeline UI) as IN PROGRESS (#19294)
     add 59e62dd488cd fix: Improve error message for conflict resolution (#18119)
     add 6543aec2553e feat(lance): enable lance as native log format (#19283)
     add b0a2563e25e5 fix(build): declare lombok in annotationProcessorPaths to deflake parallel-build compilation (#19020)
     add e098da78c501 fix(ci): make the source-release binary-file check actually run (#19267)
     add 89da9601b149 docs: claim RFC-109 Hudi Native Vector Index (#19303)
     add 442261014f39 refactor(common): utils consolidation sweep remnants (#19284)
     add d10b868d90c9 fix(flink): remove the Source V2 read teardown race via materialized bounded minibatches (#19202)
     add 79908efc59c4 docs: claim RFC-108 Multi-dataset incremental reads in Hudi Streamer (#19308)
     add f6590309b42a fix: fix the file size calibration for native log format (#19293)
     add d8b75259e7f4 fix(ci): let validate-source's RAT check fail on unlicensed files outside Maven modules (#19275)
     add 5f7f7660a08b fix(test): stabilize flaky testReattemptOfFailedClusteringCommit (#19120)
     add a806d3968488 [HUDI-8970] Change scheduleandexecute in RunCompactionProcedure to compact all pending plans too (#12794)
     add 4394513a8cb7 test(common): add log-format reader and scanner coverage (#19223)
     add 5178a3bedae8 fix(metadata-table): add config to skip zero-size data files on MDT initialization (#18611)
     add 59ed745c08fd fix(hive-sync): sync column and partition column comments to HMS (#19289)
     add 93f2d4c16aae test(spark): add unit coverage for Spark row, schema and sort utilities (#19219)
     add bd2888c63708 test(common): add unit coverage for config and utility classes (#19220)
     add f558c0039457 test(client): add unit coverage for client utilities and services (#19222)
     add afec0c9adcce fix(hive-sync): close proxied IMetaStoreClient in HoodieHiveSyncClient.close() to prevent HMS connection leak (#19331)
     add d78a7b5baa42 fix(flink): avoid reusing split reader functions across fetchers (#19315)
     add 41a8fc881ac8 fix(mdt): use native log format for file group initialization (#19312)
     add b90627ae393d test(common): add unit coverage for metrics reporters and schema utilities (#19221)
     add cc75051fc4ef fix(hive-sync): fix partition-value parsing on '=' and pushdown comparator overflow (#19336)
     add d8ebba4974e7 fix: relax existing column to nullable in reconcileSchema when source made it nullable (#19337)
     add 58dd532e64a7 fix(hive-sync): set HMS table createTime in seconds instead of milliseconds (#19335)
     add 7f786d434fa8 chore: upload Flink integration-test coverage (#19343)
     add 55becc7b03f4 fix: do not fall back to timeline server markers on transient HDFS failures (#18887)
     add 0acf20fed0cc refactor(spark): share the Spark 3.x legacy parquet file format via a common base (#19341)
     add a18f22126dfa [HUDI-18060] Improve error message when ordering field value is null (#18061)
     add 9f8376e3723d fix(hive-sync): keep HMS lock heartbeat alive and release its thread pool on close (#19334)
     add 76a95f5d629b fix(utilities): guard Source.releaseResources() against transient RDD unpersist failures (#19328)
     add e4071ce54076 chore(utilities): add SQS backlog / in-flight visibility to S3 events source (#19333)
     add fb07a2dfa5c8 fix(reader): derive pre-v9 CDC delete markers from the effective payload class (#19348)
     add e7b0ba818df9 test(common): add LSM file group read path coverage (#19347)
     add 76f81ec55821 fix(flink): make hudi-flink-bundle built with flink-bundle-shade-hive usable for Hive sync (#19330)
     add a44829aa6ed9 feat: agentic lakehouse v1 - hudi-lakehouse charts and hudi-agent-gateway (#19265)
     add f25e0799c5b7 fix: Handle map/array-nested leaf columns in column stats collection during MOR log-append (#19126)
     add 9f53c46d0de8 feat(flink): enable LSM end-to-end for Flink by default (#19307)
     add 5a42f8957f09 test(spark): Fix flaky TestSparkFilterHelper by giving it its own SparkSession (#19356)
     add 30a4ba33e385 docs(docker): document build_docker_images.sh flags (#18687)
     add 5f19cf32b039 fix(metadata-table): follow-ups for the zero-size file skip (#18611) (#19355)
     add 427efb265429 fix(flink): normalize row logical conversions and improve coverage (#19351)
     add 4d11a60552e4 fix(flink): deduplicate delete keys and cover write paths (#19354)
     add ebbfcc500dc1 fix(timeline-service): fail marker creation requests when marker flush fails (#19368)
     add a4373f75bad4 test(hudi-client): improve metadata table writer coverage (#19363)
     add 506740a2c265 chore(ci): update .asf.yaml required checks for Spark 4.2.0 GA (#19367)
     add e5452c6ff38d feat(spark): upgrade Spark 4.2 dependency to GA 4.2.0 (#19365)
     add ba76210d051e chore(deps): bump org.apache.commons:commons-configuration2

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (c18a25c689fb)
            \
             N -- N -- N   refs/heads/dependabot/maven/packaging/hudi-cli-bundle/org.apache.commons-commons-configuration2-2.15.0 (ba76210d051e)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   41 +-
 .codecov.yml                                       |    8 +-
 .github/workflows/agent_gateway_ci.yml             |   91 +
 .github/workflows/bot.yml                          |  514 ++-
 .github/workflows/commit_coauthor_validation.yml   |   38 +
 .github/workflows/maven_artifact_validation.yml    |    5 +-
 .github/workflows/pr_title_validation.yml          |    2 +-
 .github/workflows/release_candidate_validation.yml |    9 +-
 README.md                                          |    5 +-
 azure-pipelines-20230430.yml                       |   17 +-
 doap_HUDI.rdf                                      |   23 +
 docker/README.md                                   |  107 +-
 ...r-compose_hadoop284_hive2310_spark353_amd64.yml |   76 -
 ...r-compose_hadoop284_hive2310_spark353_arm64.yml |   72 -
 ...r-compose_hadoop340_hive2310_spark411_amd64.yml |  267 ++
 ...r-compose_hadoop340_hive2310_spark411_arm64.yml |  267 ++
 docker/demo/sparksql-blob-type-df.commands         |  108 +
 docker/demo/sparksql-blob-type-sql.commands        |  126 +
 docker/demo/sparksql-variant-type-df.commands      |   80 +
 docker/demo/sparksql-variant-type-sql.commands     |   89 +
 docker/demo/sparksql-vector-type-df.commands       |   90 +
 docker/demo/sparksql-vector-type-sql.commands      |   90 +
 docker/hoodie/hadoop/base/Dockerfile               |   10 +-
 docker/hoodie/hadoop/base_java11/Dockerfile        |   10 +-
 docker/hoodie/hadoop/base_java17/Dockerfile        |    2 +-
 docker/hoodie/hadoop/datanode/Dockerfile           |    3 +-
 docker/hoodie/hadoop/historyserver/Dockerfile      |    3 +-
 docker/hoodie/hadoop/hive_base/Dockerfile          |   14 +-
 docker/hoodie/hadoop/hive_base/entrypoint.sh       |    2 +-
 docker/hoodie/hadoop/namenode/Dockerfile           |    3 +-
 docker/hoodie/hadoop/prestobase/Dockerfile         |   20 +-
 docker/hoodie/hadoop/spark_base/Dockerfile         |   26 +-
 docker/hoodie/hadoop/sparkadhoc/Dockerfile         |   10 +-
 docker/hoodie/hadoop/sparkmaster/Dockerfile        |    6 +-
 docker/hoodie/hadoop/sparkmaster/master.sh         |    2 +-
 docker/hoodie/hadoop/sparkworker/Dockerfile        |    6 +-
 docker/hoodie/hadoop/trinobase/Dockerfile          |    8 +-
 hudi-agent-gateway/.dockerignore                   |   25 +
 hudi-agent-gateway/.gitignore                      |    9 +
 hudi-agent-gateway/Dockerfile                      |   38 +
 hudi-agent-gateway/README.md                       |  134 +
 hudi-agent-gateway/pyproject.toml                  |   89 +
 .../src/hudi_agent_gateway/__init__.py             |   24 +
 .../src/hudi_agent_gateway/__main__.py             |   20 +
 hudi-agent-gateway/src/hudi_agent_gateway/agent.py |  155 +
 .../src/hudi_agent_gateway/api/__init__.py         |   15 +
 .../src/hudi_agent_gateway/api/chat.py             |  204 +
 .../src/hudi_agent_gateway/api/meta.py             |   99 +
 .../src/hudi_agent_gateway/api/models.py           |  112 +
 hudi-agent-gateway/src/hudi_agent_gateway/app.py   |   97 +
 hudi-agent-gateway/src/hudi_agent_gateway/cli.py   |   52 +
 .../src/hudi_agent_gateway/config.py               |   93 +
 hudi-agent-gateway/src/hudi_agent_gateway/llm.py   |  177 +
 hudi-agent-gateway/src/hudi_agent_gateway/log.py   |   71 +
 .../src/hudi_agent_gateway/mcp_server.py           |   41 +
 hudi-agent-gateway/src/hudi_agent_gateway/py.typed |   15 +
 .../src/hudi_agent_gateway/sessions.py             |   84 +
 .../src/hudi_agent_gateway/tools/__init__.py       |   37 +
 .../src/hudi_agent_gateway/tools/guardrails.py     |   92 +
 .../src/hudi_agent_gateway/tools/registry.py       |  158 +
 .../src/hudi_agent_gateway/tools/trino_client.py   |  123 +
 .../src/hudi_agent_gateway/tools/trino_tools.py    |  231 ++
 .../src/hudi_agent_gateway/ui/app.js               |  268 ++
 .../src/hudi_agent_gateway/ui/index.html           |  105 +
 .../src/hudi_agent_gateway/ui/markdown.js          |  130 +
 .../src/hudi_agent_gateway/ui/style.css            |  260 ++
 hudi-agent-gateway/tests/conftest.py               |  147 +
 hudi-agent-gateway/tests/integration/__init__.py   |   15 +
 .../tests/integration/test_live_stack.py           |   93 +
 hudi-agent-gateway/tests/test_agent_loop.py        |  143 +
 hudi-agent-gateway/tests/test_api_meta.py          |   93 +
 hudi-agent-gateway/tests/test_chat_sse.py          |  134 +
 hudi-agent-gateway/tests/test_config.py            |   76 +
 hudi-agent-gateway/tests/test_guardrails.py        |  104 +
 hudi-agent-gateway/tests/test_llm.py               |  114 +
 hudi-agent-gateway/tests/test_mcp.py               |   78 +
 hudi-agent-gateway/tests/test_registry.py          |  100 +
 hudi-agent-gateway/tests/test_sessions.py          |   68 +
 hudi-agent-gateway/tests/test_trino_tools.py       |  134 +
 hudi-agent-gateway/tests/test_ui.py                |   77 +
 .../cloudwatch/CloudWatchMetricsReporter.java      |    2 +-
 .../hudi/aws/sync/AWSGlueCatalogSyncClient.java    |   28 +-
 .../sync/util/GluePartitionFilterGenerator.java    |    2 +-
 ...amoDBBasedImplicitPartitionKeyLockProvider.java |    3 +-
 .../aws/transaction/lock/S3StorageLockClient.java  |    8 +-
 .../apache/hudi/aws/utils/DynamoTableUtils.java    |    4 +-
 .../cloudwatch/TestCloudWatchMetricsReporter.java  |    2 +-
 .../hudi/aws/sync/TestAWSGlueSyncClient.java       |   56 +
 .../lock/TestS3StorageBasedLockProvider.java       |    2 +-
 .../transaction/lock/TestS3StorageLockClient.java  |   14 +-
 .../transaction/lock/AzureStorageLockClient.java   |    8 +-
 .../lock/ITAzureStorageLockClientAzurite.java      |    8 +-
 .../lock/TestAzureStorageLockClient.java           |    8 +-
 .../main/java/org/apache/hudi/cli/HoodieCLI.java   |    2 +-
 .../hudi/cli/commands/ArchivedCommitsCommand.java  |   10 +-
 .../apache/hudi/cli/commands/CommitsCommand.java   |    2 +-
 .../hudi/cli/commands/CompactionCommand.java       |    2 +-
 .../apache/hudi/cli/commands/ExportCommand.java    |   13 +-
 .../hudi/cli/commands/FileSystemViewCommand.java   |    1 -
 .../hudi/cli/commands/HoodieLogFileCommand.java    |   21 +-
 .../hudi/cli/commands/LockAuditingCommand.java     |    8 +-
 .../apache/hudi/cli/commands/MetadataCommand.java  |   33 +-
 .../apache/hudi/cli/commands/RepairsCommand.java   |    6 +-
 .../org/apache/hudi/cli/commands/SparkMain.java    |    4 +-
 .../org/apache/hudi/cli/commands/TableCommand.java |    7 +-
 .../cli/commands/TestArchivedCommitsCommand.java   |    2 +-
 .../hudi/cli/commands/TestCleansCommand.java       |    2 +-
 .../hudi/cli/commands/TestCommitsCommand.java      |   12 +-
 .../hudi/cli/commands/TestCompactionCommand.java   |    2 +-
 .../apache/hudi/cli/commands/TestDiffCommand.java  |    2 +-
 .../cli/commands/TestFileSystemViewCommand.java    |    8 +-
 .../cli/commands/TestHoodieLogFileCommand.java     |   38 +-
 .../hudi/cli/commands/TestRepairsCommand.java      |    2 +-
 .../apache/hudi/cli/commands/TestTableCommand.java |    4 +-
 hudi-client/hudi-client-common/pom.xml             |    7 -
 .../apache/hudi/async/AsyncClusteringService.java  |    3 +-
 .../org/apache/hudi/async/AsyncCompactService.java |    7 +-
 .../java/org/apache/hudi/async/BaseClusterer.java  |   54 +
 .../java/org/apache/hudi/async/BaseCompactor.java  |   45 +
 .../org/apache/hudi/async/HoodieAsyncService.java  |    2 +-
 .../hudi/callback/HoodieCommitCallbackFactory.java |   45 +
 .../callback/HoodieWriteCommitCallbackUtil.java    |   44 +
 .../http/HoodieWriteCommitHttpCallbackClient.java  |  146 -
 .../impl/HoodieWriteCommitHttpCallback.java        |    3 +-
 .../impl/HoodieWriteCommitHttpCallbackClient.java  |  146 +
 .../callback/util/HoodieCommitCallbackFactory.java |   46 -
 .../util/HoodieWriteCommitCallbackUtil.java        |   44 -
 .../java/org/apache/hudi/client/BaseClusterer.java |   52 -
 .../java/org/apache/hudi/client/BaseCompactor.java |   43 -
 .../org/apache/hudi/client/BaseHoodieClient.java   |   12 +-
 .../hudi/client/BaseHoodieTableServiceClient.java  |   11 +-
 .../apache/hudi/client/BaseHoodieWriteClient.java  |   60 +-
 .../hudi/client/CommitMetadataProperties.java      |  145 +
 .../apache/hudi/client/CommitMetadataResolver.java |   48 -
 .../hudi/client/CommitMetadataResolverFactory.java |   43 -
 .../apache/hudi/client/CompactionAdminClient.java  |    5 +-
 .../hudi/client/HoodieColumnStatsIndexUtils.java   |   81 -
 .../client/HoodieTableServiceManagerClient.java    |    2 +-
 .../client/MarkerBasedCommitMetadataResolver.java  |  257 --
 .../hudi/client/NoOpCommitMetadataResolver.java    |   40 -
 .../hudi/client/StreamingMetadataWriteHandler.java |  120 -
 .../selector/BootstrapRegexModeSelector.java       |    2 +-
 .../client/embedded/EmbeddedTimelineService.java   |   24 +-
 .../hudi/client/heartbeat/HeartbeatUtils.java      |  107 -
 .../client/heartbeat/HoodieHeartbeatClient.java    |  152 +-
 .../client/heartbeat/WriterHeartbeatUtils.java     |  107 +
 .../hudi/client/timeline/ArchivalMetrics.java      |   75 +
 .../apache/hudi/client/timeline/ArchivalUtils.java |  140 +
 .../hudi/client/timeline/LSMTimelineWriter.java    |  461 +++
 .../timeline/LegacyArchivedMetaEntryReader.java    |  339 ++
 .../hudi/client/timeline/TimelineArchiverV1.java   |  510 +++
 .../hudi/client/timeline/TimelineArchiverV2.java   |  399 ++
 .../hudi/client/timeline/TimelineArchivers.java    |    2 -
 .../timeline/versioning/v1/TimelineArchiverV1.java |  509 ---
 .../timeline/versioning/v2/LSMTimelineWriter.java  |  463 ---
 .../timeline/versioning/v2/TimelineArchiverV2.java |  401 --
 ...urrentFileWritesConflictResolutionStrategy.java |    3 +-
 ...ConcurrentSchemaEvolutionTableSchemaGetter.java |    2 +-
 .../DirectMarkerTransactionManager.java            |   10 +-
 ...urrentFileWritesConflictResolutionStrategy.java |   68 +-
 .../hudi/client/transaction/TransactionUtils.java  |  188 +
 .../lock/BaseZookeeperBasedLockProvider.java       |   27 +-
 .../lock/FileSystemBasedLockProvider.java          |   13 +-
 .../client/transaction/lock/HeartbeatManager.java  |   49 +
 .../transaction/lock/HoodieInterProcessMutex.java  |    3 +-
 .../client/transaction/lock/HoodieLockMetrics.java |  214 ++
 .../client/transaction/lock/LockGetResult.java     |   35 +
 .../hudi/client/transaction/lock/LockManager.java  |    3 +-
 .../lock/LockProviderHeartbeatManager.java         |  371 ++
 .../client/transaction/lock/LockUpsertResult.java  |   37 +
 .../transaction/lock/StorageBasedLockProvider.java |    7 -
 .../client/transaction/lock/StorageLockClient.java |    4 -
 .../client/transaction/lock/StorageLockData.java   |   50 +
 .../client/transaction/lock/StorageLockFile.java   |  127 +
 .../lock/metrics/HoodieLockMetrics.java            |  214 --
 .../transaction/lock/models/HeartbeatManager.java  |   49 -
 .../transaction/lock/models/LockGetResult.java     |   35 -
 .../lock/models/LockProviderHeartbeatManager.java  |  371 --
 .../transaction/lock/models/LockUpsertResult.java  |   37 -
 .../transaction/lock/models/StorageLockData.java   |   50 -
 .../transaction/lock/models/StorageLockFile.java   |  127 -
 .../apache/hudi/client/utils/ArchivalMetrics.java  |   75 -
 .../apache/hudi/client/utils/ArchivalUtils.java    |  140 -
 .../hudi/client/utils/ClosableMergingIterator.java |   41 -
 .../utils/CloseableConcatenatingIterator.java      |   42 -
 .../hudi/client/utils/ConcatenatingIterator.java   |   64 -
 .../hudi/client/utils/DeletePartitionUtils.java    |   77 -
 .../hudi/client/utils/FileSliceMetricUtils.java    |   70 -
 .../hudi/client/utils/LazyIterableIterator.java    |  131 -
 .../utils/LegacyArchivedMetaEntryReader.java       |  340 --
 .../apache/hudi/client/utils/MergingIterator.java  |   59 -
 .../hudi/client/utils/OperationConverter.java      |   34 -
 .../hudi/client/utils/PreWriteValidatorUtils.java  |  137 -
 .../apache/hudi/client/utils/TransactionUtils.java |  192 -
 .../client/validator/PreWriteValidatorUtils.java   |  136 +
 .../client/validator/StreamingOffsetValidator.java |   14 +-
 .../apache/hudi/config/HoodieArchivalConfig.java   |   14 +
 .../org/apache/hudi/config/HoodieIndexConfig.java  |   11 +-
 .../config/HoodiePreCommitValidatorConfig.java     |    4 +-
 .../org/apache/hudi/config/HoodieTTLConfig.java    |   15 +
 .../org/apache/hudi/config/HoodieWriteConfig.java  |   51 +-
 .../hudi/estimator/AverageRecordSizeEstimator.java |  107 -
 .../apache/hudi/estimator/RecordSizeEstimator.java |   48 -
 .../hudi/estimator/RecordSizeEstimatorFactory.java |   43 -
 .../org/apache/hudi/execution/ExecutorFactory.java |   79 +
 .../FileMetadataWriteStatusConverter.java          |    3 +-
 .../hudi/execution/HoodieLazyInsertIterable.java   |    3 +-
 .../estimator/AverageRecordSizeEstimator.java      |  107 +
 .../execution/estimator/RecordSizeEstimator.java   |   48 +
 .../estimator/RecordSizeEstimatorFactory.java      |   43 +
 .../apache/hudi/index/HoodieGlobalSimpleIndex.java |  113 +
 .../apache/hudi/index/HoodieInMemoryHashIndex.java |  135 +
 .../org/apache/hudi/index/HoodieIndexUtils.java    |   20 +-
 .../org/apache/hudi/index/HoodieSimpleIndex.java   |  156 +
 .../apache/hudi/index/bloom/HoodieBloomIndex.java  |    2 +-
 .../apache/hudi/index/bucket/BucketIdentifier.java |    2 +-
 .../index/bucket/ConsistentBucketIndexUtils.java   |    9 +-
 .../hudi/index/bucket/HoodieBucketIndex.java       |    8 +-
 .../partition/PartitionBucketIndexUtils.java       |    2 +-
 .../index/inmemory/HoodieInMemoryHashIndex.java    |  137 -
 .../hudi/index/simple/HoodieGlobalSimpleIndex.java |  106 -
 .../hudi/index/simple/HoodieSimpleIndex.java       |  157 -
 .../org/apache/hudi/io/AppendHandleFactory.java    |   31 +-
 .../java/org/apache/hudi/io/BaseCreateHandle.java  |    6 +-
 .../hudi/io/ExternalFileClusteringWriteHandle.java |    3 +-
 .../hudi/io/FileGroupReaderBasedAppendHandle.java  |  128 -
 .../FileGroupReaderBasedInlineLogAppendHandle.java |  142 +
 .../hudi/io/FileGroupReaderBasedMergeHandle.java   |  135 +-
 .../FileGroupReaderBasedNativeLogAppendHandle.java |  149 +
 .../org/apache/hudi/io/HoodieAppendHandle.java     |  855 ++---
 .../org/apache/hudi/io/HoodieBinaryCopyHandle.java |   14 +-
 .../java/org/apache/hudi/io/HoodieCDCLogger.java   |  295 --
 .../org/apache/hudi/io/HoodieCreateHandle.java     |    4 +-
 .../hudi/io/HoodieInlineLogAppendHandle.java       |  357 ++
 .../hudi/io/HoodieKeyLocationFetchHandle.java      |    2 +-
 .../org/apache/hudi/io/HoodieKeyLookupHandle.java  |    2 +-
 .../apache/hudi/io/HoodieMergeHandleFactory.java   |   27 +-
 .../hudi/io/HoodieMergeHandleWithChangeLog.java    |   34 +-
 .../hudi/io/HoodieNativeLogAppendHandle.java       |  274 ++
 .../org/apache/hudi/io/HoodieRangeInfoHandle.java  |    2 +-
 .../java/org/apache/hudi/io/HoodieReadHandle.java  |    4 +-
 .../java/org/apache/hudi/io/HoodieWriteHandle.java |   17 +-
 .../org/apache/hudi/io/HoodieWriteMergeHandle.java |   10 +-
 .../src/main/java/org/apache/hudi/io/IOUtils.java  |  130 -
 .../io/LsmFileGroupReaderBasedMergeHandle.java     |  100 +
 .../main/java/org/apache/hudi/io/MergeUtils.java   |  130 +
 .../hudi/io/cdc/HoodieAvroNativeCDCLogger.java     |  181 +
 .../org/apache/hudi/io/cdc/HoodieCDCLogWriter.java |   44 +
 .../hudi/io/cdc/HoodieCDCLogWriterFactory.java     |   82 +
 .../org/apache/hudi/io/cdc/HoodieCDCLogger.java    |  288 ++
 .../hudi/io/cdc/HoodieNativeCDCFileWriter.java     |  167 +
 .../apache/hudi/io/cdc/HoodieNativeCDCLogger.java  |  205 +
 .../hudi/io/cdc/HoodieNativeLogFormatWriter.java   |  345 ++
 .../apache/hudi/keygen/CustomAvroKeyGenerator.java |    6 +-
 .../java/org/apache/hudi/keygen/KeyGenUtils.java   |   28 +-
 .../keygen/TimestampBasedAvroKeyGenerator.java     |    2 +-
 .../metadata/HoodieBackedTableMetadataWriter.java  | 1048 +----
 ...ieBackedTableMetadataWriterTableVersionSix.java |   41 +-
 .../hudi/metadata/HoodieMetadataWriteUtils.java    |  321 +-
 .../apache/hudi/metadata/RecordIndexMapper.java    |    9 +-
 .../SecondaryIndexRecordGenerationUtils.java       |   27 +-
 .../metadata/StreamingMetadataWriteHandler.java    |  120 +
 .../apache/hudi/metadata/index/BaseIndexer.java    |   74 +
 .../hudi/metadata/index/EngineIndexerSupport.java  |   99 +
 .../org/apache/hudi/metadata/index/Indexer.java    |   98 +
 .../apache/hudi/metadata/index/IndexerFactory.java |  105 +
 .../index/UnsupportedEngineIndexerSupport.java     |   86 +
 .../index/bloomfilters/BloomFiltersIndexer.java    |  202 +
 .../index/columnstats/ColumnStatsIndexer.java      |  259 ++
 .../index/expression/ExpressionIndexer.java        |  269 ++
 .../hudi/metadata/index/files/FilesIndexer.java    |  253 ++
 .../index/model/DataPartitionAndRecords.java       |   41 +
 .../metadata/index/model/IndexCleanContext.java    |   37 +
 .../index/model/IndexInitializationContext.java    |   47 +
 .../index/model/IndexInitializationPlan.java       |   90 +
 .../index/model/IndexPartitionAndRecords.java      |   41 +
 .../metadata/index/model/IndexRestoreContext.java  |   42 +
 .../metadata/index/model/IndexUpdateContext.java   |   42 +
 .../partitionstats/PartitionStatsIndexer.java      |  231 ++
 .../metadata/index/record/BaseRecordIndexer.java   |  503 +++
 .../index/record/PartitionedRecordIndexer.java     |   91 +
 .../hudi/metadata/index/record/RecordIndexer.java  |   58 +
 .../metadata/index/secondary/SecondaryIndexer.java |  154 +
 .../org/apache/hudi/metrics/HoodieMetrics.java     |   11 +-
 .../apache/hudi/optimize/HilbertCurveUtils.java    |   52 -
 .../table/BucketIndexBulkInsertPartitioner.java    |    4 +-
 .../java/org/apache/hudi/table/HoodieTable.java    |   23 +-
 .../hudi/table/action/BaseActionExecutor.java      |    2 +-
 .../hudi/table/action/FileSliceMetricUtils.java    |   70 +
 .../table/action/bootstrap/BootstrapUtils.java     |    2 +-
 .../table/action/clean/CleanActionExecutor.java    |   67 +-
 .../cluster/ClusteringPlanActionExecutor.java      |    2 +-
 .../strategy/ClusteringExecutionStrategy.java      |   27 +-
 .../cluster/strategy/ClusteringPlanStrategy.java   |   21 +-
 .../CommitBasedClusteringPlanStrategy.java         |    8 +-
 .../PartitionAwareClusteringPlanStrategy.java      |   24 +-
 .../action/cluster/strategy/UpdateStrategy.java    |   17 +-
 .../action/commit/BaseCommitActionExecutor.java    |   17 +-
 .../action/commit/CommitMetadataResolver.java      |   48 +
 .../commit/CommitMetadataResolverFactory.java      |   43 +
 .../table/action/commit/DeletePartitionUtils.java  |   77 +
 .../table/action/commit/HoodieMergeHelper.java     |   20 +-
 .../commit/MarkerBasedCommitMetadataResolver.java  |  257 ++
 .../action/commit/NoOpCommitMetadataResolver.java  |   40 +
 .../hudi/table/action/compact/HoodieCompactor.java |   34 +-
 .../compact/RunCompactionActionExecutor.java       |    2 +-
 .../compact/ScheduleCompactionActionExecutor.java  |    4 +-
 .../generators/HoodieCompactionPlanGenerator.java  |    2 +-
 .../HoodieLogCompactionPlanGenerator.java          |    3 +-
 .../compact/strategy/CompactionStrategy.java       |    2 +-
 .../action/index/AbstractIndexingCatchupTask.java  |    2 +-
 .../table/action/index/RunIndexActionExecutor.java |    2 +-
 .../action/restore/BaseRestoreActionExecutor.java  |    4 +-
 .../hudi/table/action/restore/RestoreUtils.java    |    2 +-
 .../rollback/BaseRollbackActionExecutor.java       |    6 +-
 .../CopyOnWriteRollbackActionExecutor.java         |    6 +-
 .../rollback/ListingBasedRollbackStrategy.java     |    2 +-
 .../MergeOnReadRollbackActionExecutor.java         |    8 +-
 .../table/action/rollback/RollbackHelperV1.java    |   47 +-
 .../action/ttl/strategy/KeepByTimeStrategy.java    |    9 +-
 .../ttl/strategy/PartitionTTLStrategyType.java     |    3 +-
 .../hudi/table/marker/DirectWriteMarkers.java      |    2 +-
 .../hudi/table/marker/DirectWriteMarkersV1.java    |    2 +-
 .../table/marker/MarkerBasedRollbackUtils.java     |   15 +-
 .../marker/TimelineServerBasedWriteMarkers.java    |   10 +-
 .../marker/TimelineServerBasedWriteMarkersV1.java  |    2 +-
 .../org/apache/hudi/table/repair/RepairUtils.java  |   15 +-
 .../table/upgrade/EightToNineUpgradeHandler.java   |    2 +-
 .../upgrade/EightToSevenDowngradeHandler.java      |    2 +-
 .../table/upgrade/FiveToSixUpgradeHandler.java     |    4 +-
 .../table/upgrade/NineToTenUpgradeHandler.java     |   39 +
 .../table/upgrade/SevenToEightUpgradeHandler.java  |   17 +-
 .../table/upgrade/TenToNineDowngradeHandler.java   |   42 +
 .../table/upgrade/TwoToOneDowngradeHandler.java    |    2 +-
 .../hudi/table/upgrade/UpgradeDowngrade.java       |    7 +-
 .../hudi/table/upgrade/UpgradeDowngradeUtils.java  |    4 +-
 .../org/apache/hudi/util/CommonClientUtils.java    |   36 +-
 .../apache/hudi/util/DistributedRegistryUtil.java  |   56 -
 .../java/org/apache/hudi/util/ExecutorFactory.java |   79 -
 .../org/apache/hudi/util/HttpRequestClient.java    |  101 -
 .../org/apache/hudi/util/OperationConverter.java   |   34 +
 .../org/apache/hudi/HoodieTestCommitGenerator.java |    4 +-
 .../hudi/avro/TestHoodieAvroParquetWriter.java     |    2 +
 .../client/http/TestCallbackHttpClient.java        |  202 -
 .../hudi/callback/impl/TestCallbackHttpClient.java |  202 +
 .../client/TestBaseHoodieTableServiceClient.java   |    4 +-
 .../hudi/client/TestBaseHoodieWriteClient.java     |   11 +-
 .../apache/hudi/client/TestClientStatsPojos.java   |   94 +
 .../hudi/client/TestCommitMetadataProperties.java  |  170 +
 .../TestHoodieTableServiceManagerClient.java       |  215 ++
 .../TestBootstrapPartitionPathTranslators.java     |   46 +
 .../embedded/TestEmbeddedTimelineService.java      |   24 +-
 .../heartbeat/TestHoodieHeartbeatClient.java       |  104 +-
 .../timeline/TestCompletionTimeQueryView.java      |    1 -
 .../timeline/TestHoodieTimelineArchiver.java       |    3 +-
 .../TestLegacyArchivedMetaEntryReader.java         |  152 +
 .../FileSystemBasedLockProviderTestClass.java      |    4 +-
 .../InProcessLockProviderWithRuntimeError.java     |    2 +-
 .../client/transaction/TestHoodieLockMetrics.java  |   12 +-
 ...TestPreferWriterConflictResolutionStrategy.java |    4 +-
 ...urrentFileWritesConflictResolutionStrategy.java |  172 +-
 ...TestSimpleSchemaConflictResolutionStrategy.java |    1 -
 .../client/transaction/TestTransactionManager.java |    4 +-
 .../client/transaction/TestTransactionUtils.java   |  135 +
 .../TestZookeeperBasedLockProvider.java            |   21 +
 .../lock/StorageLockClientFileTest.java            |  222 ++
 .../lock/TestFileSystemBasedLockProvider.java      |  228 ++
 .../lock/TestLockProviderHeartbeatManager.java     |  623 +++
 .../transaction/lock/TestLockResultEnums.java      |   62 +
 .../lock/TestStorageBasedLockProvider.java         |    8 +-
 .../lock/audit/TestAuditOperationState.java        |   54 +
 .../lock/models/StorageLockClientFileTest.java     |  223 --
 .../models/TestLockProviderHeartbeatManager.java   |  623 ---
 .../client/utils/TestCommitMetadataResolver.java   |  243 --
 .../client/utils/TestDeletePartitionUtils.java     |  109 -
 .../client/utils/TestFileSliceMetricUtils.java     |  108 -
 .../utils/TestLegacyArchivedMetaEntryReader.java   |  148 -
 .../client/utils/TestPreWriteValidatorUtils.java   |  434 ---
 .../hudi/client/utils/TestTransactionUtils.java    |  135 -
 .../validator/TestPreWriteValidatorUtils.java      |  433 +++
 .../validator/TestStreamingOffsetValidator.java    |   13 +-
 .../table/timeline/TestArchivedTimelineV2.java     |    2 +-
 .../apache/hudi/config/TestHoodieWriteConfig.java  |   48 +-
 .../config/TestHoodieWriteConfigFileStitching.java |    2 +-
 .../estimator/TestAverageRecordSizeEstimator.java  |  263 --
 .../estimator/TestRecordSizeEstimatorFactory.java  |   72 -
 .../hudi/exception/TestClientExceptions.java       |   71 +
 .../TestFileMetadataWriteStatusConverter.java      |   15 +-
 .../bulkinsert/TestBulkInsertSortMode.java         |   52 +
 .../estimator/TestAverageRecordSizeEstimator.java  |  263 ++
 .../estimator/TestRecordSizeEstimatorFactory.java  |   72 +
 .../apache/hudi/index/TestGlobalSimpleIndex.java   |  143 +
 .../org/apache/hudi/index/TestSimpleIndex.java     |  144 +
 .../hudi/index/bloom/TestBloomIndexFileInfo.java   |   79 +
 .../hudi/index/simple/TestGlobalSimpleIndex.java   |  144 -
 .../apache/hudi/index/simple/TestSimpleIndex.java  |  145 -
 .../org/apache/hudi/io/TestHoodieCreateHandle.java |    2 +-
 .../hudi/io/TestHoodieMergeHandleFactory.java      |   40 +-
 .../org/apache/hudi/io/TestHoodieWriteHandle.java  |    1 +
 .../io/TestSecondaryIndexStreamingTracker.java     |    2 +-
 .../hudi/io/cdc/TestHoodieNativeCDCFileWriter.java |   97 +
 .../io/cdc/TestHoodieNativeLogFormatWriter.java    |  347 ++
 .../org/apache/hudi/io/storage/TestFileWriter.java |   13 +-
 .../keygen/RawTripTestPayloadKeyGenerator.java     |    2 +-
 .../org/apache/hudi/keygen/TestKeyGenUtils.java    |   21 +
 .../TestHoodieBackedTableMetadataWriter.java       |  421 +-
 ...ieBackedTableMetadataWriterTableVersionSix.java |  153 +
 .../metadata/TestHoodieMetadataWriteUtils.java     |  126 +-
 .../TestSecondaryIndexRecordGenerationUtils.java   |   73 +
 .../hudi/metadata/index/TestIndexerFactory.java    |  104 +
 .../bloomfilters/TestBloomFiltersIndexer.java      |  164 +
 .../index/columnstats/TestColumnStatsIndexer.java  |  348 ++
 .../index/expression/TestExpressionIndexer.java    |  274 ++
 .../metadata/index/files/TestFilesIndexer.java     |  230 ++
 .../partitionstats/TestPartitionStatsIndexer.java  |  204 +
 .../index/record/TestBaseRecordIndexer.java        |   75 +
 .../index/record/TestPartitionedRecordIndexer.java |  269 ++
 .../metadata/index/record/TestRecordIndexer.java   |  268 ++
 .../index/secondary/TestSecondaryIndexer.java      |  180 +
 .../hudi/metrics/TestHoodieConsoleMetrics.java     |    2 +-
 .../hudi/metrics/TestHoodieGraphiteMetrics.java    |    2 +-
 .../apache/hudi/metrics/TestHoodieJmxMetrics.java  |    2 +-
 .../org/apache/hudi/metrics/TestHoodieMetrics.java |  318 +-
 .../org/apache/hudi/metrics/TestSlf4jMetrics.java  |    2 +-
 .../datadog/TestDatadogMetricsReporter.java        |    2 +-
 .../datadog/TestHoodieMetricsDatadogConfig.java    |    2 +-
 .../org/apache/hudi/metrics/m3/TestM3Metrics.java  |    2 +-
 .../metrics/prometheus/TestPrometheusReporter.java |    4 +-
 .../prometheus/TestPushGateWayReporter.java        |    2 +-
 .../hudi/optimize/TestHilbertCurveUtils.java       |   38 -
 .../org/apache/hudi/table/TestBaseHoodieTable.java |    2 +-
 .../org/apache/hudi/table/TestHoodieTable.java     |    4 +-
 .../table/action/TestFileSliceMetricUtils.java     |  108 +
 .../TestCommitBasedClusteringPlanStrategy.java     |   44 +-
 .../TestPartitionAwareClusteringPlanStrategy.java  |   34 +-
 .../table/action/commit/TestBucketTypeAndInfo.java |   72 +
 .../action/commit/TestCommitMetadataResolver.java  |  242 ++
 .../action/commit/TestDeletePartitionUtils.java    |  109 +
 .../TestScheduleCompactionActionExecutor.java      |    2 +-
 .../table/action/rollback/TestRollbackHelper.java  |   27 +-
 .../ttl/strategy/TestKeepByTimeStrategy.java       |  126 +
 .../ttl/strategy/TestPartitionTTLStrategy.java     |   82 +
 .../ttl/strategy/TestPartitionTTLStrategyType.java |   62 +
 .../table/marker/TestMarkerBasedRollbackUtils.java |  134 +
 .../upgrade/TestEightToSevenDowngradeHandler.java  |    2 +-
 .../upgrade/TestSevenToEightUpgradeHandler.java    |   74 +
 .../upgrade/TestTenToNineDowngradeHandler.java     |   50 +
 .../GenericRecordValidationTestUtils.java          |    6 +-
 .../hudi/testutils/HoodieWriteableTestTable.java   |   18 +-
 .../apache/hudi/util/TestOperationConverter.java   |   46 +
 .../hudi/utils/HoodieWriterClientTestHarness.java  |    4 +-
 .../apache/hudi/utils/TestCommonClientUtils.java   |   48 +-
 .../hudi/utils/TestConcatenatingIterator.java      |   67 -
 .../hudi/utils/TestMetadataConversionUtils.java    |   14 +-
 hudi-client/hudi-flink-client/pom.xml              |    2 +-
 .../client/FlinkStreamingMetadataWriteHandler.java |   31 +-
 .../hudi/client/HoodieFlinkTableServiceClient.java |    4 +-
 .../apache/hudi/client/HoodieFlinkWriteClient.java |   27 +-
 ...inkSizeBasedClusteringPlanStrategyRecently.java |    2 +-
 .../hudi/client/model/HoodieFlinkRecord.java       |    8 +-
 .../hudi/execution/FlinkLazyInsertIterable.java    |    1 -
 .../apache/hudi/index/FlinkHoodieIndexFactory.java |    2 -
 .../java/org/apache/hudi/io/FlinkAppendHandle.java |  128 -
 .../java/org/apache/hudi/io/FlinkCreateHandle.java |    2 +-
 .../FlinkIncrementalMergeHandleWithChangeLog.java  |   25 +-
 .../apache/hudi/io/FlinkInlineLogAppendHandle.java |  128 +
 ...FileGroupReaderBasedIncrementalMergeHandle.java |   77 +
 .../FlinkLsmFileGroupReaderBasedMergeHandle.java   |  118 +
 .../hudi/io/FlinkMergeHandleWithChangeLog.java     |   25 +-
 .../apache/hudi/io/FlinkNativeLogAppendHandle.java |   97 +
 .../apache/hudi/io/FlinkWriteHandleFactory.java    |   52 +-
 .../io/log/block/HoodieFlinkParquetDataBlock.java  |    6 +-
 .../row/HoodieBloomFilterRowDataWriteSupport.java  |   38 +
 .../io/storage/row/HoodieRowDataCreateHandle.java  |   28 +-
 .../io/storage/row/HoodieRowDataFileWriter.java    |   11 +-
 .../row/HoodieRowDataFileWriterFactory.java        |   65 +-
 .../io/storage/row/HoodieRowDataLanceWriter.java   |  168 +
 .../row/HoodieRowDataParquetWriteSupport.java      |   35 +-
 .../io/storage/row/HoodieRowDataParquetWriter.java |    6 +
 .../io/storage/row/RowDataParquetWriteSupport.java |   16 +-
 .../row/lance/HoodieFlinkLanceArrowUtils.java      |  308 ++
 .../io/storage/row/lance/LanceRowDataWriter.java   |  482 +++
 .../storage/row/parquet/ParquetRowDataWriter.java  |   57 +-
 .../row/parquet/ParquetSchemaConverter.java        |   74 +-
 .../hudi/io/v2/RowDataInlineLogWriteHandle.java    |  166 +
 .../apache/hudi/io/v2/RowDataLogWriteHandle.java   |  174 -
 .../hudi/io/v2/RowDataNativeLogWriteHandle.java    |   55 +
 .../FlinkHoodieBackedTableMetadataWriter.java      |   29 +-
 .../hudi/table/HoodieFlinkCopyOnWriteTable.java    |    4 +-
 .../hudi/table/HoodieFlinkMergeOnReadTable.java    |   26 +-
 .../org/apache/hudi/table/HoodieFlinkTable.java    |    4 +-
 .../commit/BaseFlinkCommitActionExecutor.java      |    4 +-
 .../table/action/commit/FlinkDeleteHelper.java     |    7 +-
 .../FlinkDeletePartitionCommitActionExecutor.java  |    1 -
 .../commit/FlinkPartitionTTLActionExecutor.java    |    2 +-
 .../hudi/table/action/commit/FlinkWriteHelper.java |    4 +-
 .../delta/BaseFlinkDeltaCommitActionExecutor.java  |    6 +-
 .../FlinkUpsertDeltaCommitActionExecutor.java      |    4 +-
 ...linkUpsertPreppedDeltaCommitActionExecutor.java |    4 +-
 .../hudi/table/format/FlinkRecordContext.java      |   16 +-
 .../apache/hudi/util/AvroToRowDataConverters.java  |  105 +-
 .../java/org/apache/hudi/util/FlinkClientUtil.java |    2 +-
 .../apache/hudi/util/HoodieSchemaConverter.java    |  114 +-
 .../org/apache/hudi/util/RowDataQueryContexts.java |    4 +-
 .../apache/hudi/util/RowDataToAvroConverters.java  |   13 +-
 .../hudi/util/SchemaEvolvingRowDataProjection.java |    2 +-
 .../org/apache/hudi/util/VectorColumnParser.java   |  130 +
 .../apache/hudi/util/VectorConversionUtils.java    |  345 ++
 .../apache/hudi/client/TestFlinkWriteClient.java   |  134 +-
 .../client/TestFlinkWriteClientFunctional.java     |  491 +++
 .../client/TestHoodieFlinkTableServiceClient.java  |  189 +-
 .../TestHoodieFlinkInternalRowSerializer.java      |  125 +
 .../hudi/client/model/TestHoodieFlinkRecord.java   |  116 +
 .../hudi/io/TestFlinkWriteHandleFactory.java       |  197 +
 .../row/TestHoodieFlinkLanceArrowUtils.java        |  115 +
 .../storage/row/TestHoodieRowDataCreateHandle.java |   70 +-
 .../TestHoodieRowDataParquetConfigInjector.java    |   65 +-
 .../io/storage/row/TestLanceRowDataWriter.java     |  274 ++
 .../row/parquet/TestParquetRowDataWriter.java      |  176 +
 .../row/parquet/TestParquetSchemaConverter.java    |  162 +-
 .../table/TestHoodieFlinkTableActionRouting.java   |  264 ++
 .../table/action/commit/TestFlinkDeleteHelper.java |  174 +
 .../table/action/commit/TestFlinkWriteHelper.java  |   65 +
 .../hudi/table/format/TestFlinkRecordContext.java  |   76 +
 .../testutils/HoodieFlinkWriteableTestTable.java   |   16 +-
 .../hudi/util/TestAvroToRowDataConverters.java     |  123 +
 .../org/apache/hudi/util/TestFlinkClientUtil.java  |    3 +-
 .../hudi/util/TestHoodieSchemaConverter.java       |   76 +-
 .../apache/hudi/util/TestRowDataAvroRoundTrip.java |  212 ++
 .../org/apache/hudi/util/TestRowDataUtils.java     |  127 +
 .../hudi/util/TestVectorConversionUtils.java       |  156 +
 .../run/strategy/JavaExecutionStrategy.java        |    6 +-
 .../client/common/HoodieJavaEngineContext.java     |   25 +
 .../hudi/execution/JavaLazyInsertIterable.java     |    1 -
 .../apache/hudi/index/JavaHoodieIndexFactory.java  |    3 -
 .../JavaHoodieBackedTableMetadataWriter.java       |   24 +-
 .../hudi/table/HoodieJavaCopyOnWriteTable.java     |    4 +-
 .../commit/BaseJavaCommitActionExecutor.java       |    8 +-
 .../hudi/table/action/commit/JavaDeleteHelper.java |   16 +-
 .../table/action/commit/JavaUpsertPartitioner.java |   18 +-
 .../BaseJavaDeltaCommitActionExecutor.java         |   16 +-
 ...JavaUpsertPreppedDeltaCommitActionExecutor.java |   10 +-
 .../hudi/client/TestJavaHoodieBackedMetadata.java  |   47 +-
 .../common/TestMultipleHoodieJavaWriteClient.java  |   26 +-
 .../read/HoodieFileGroupReaderOnJavaTestBase.java  |    2 +-
 .../read/TestHoodieFileGroupReaderOnJava.java      |    4 +-
 .../TestJavaBulkInsertInternalPartitioner.java     |    2 +-
 ...stJavaBulkInsertInternalPartitionerFactory.java |   53 +
 .../hadoop/TestHoodieFileGroupReaderOnHive.java    |    2 +-
 .../commit/TestJavaCopyOnWriteActionExecutor.java  |    2 +-
 .../table/action/commit/TestJavaDeleteHelper.java  |   72 +
 .../action/commit/TestSchemaEvolutionClient.java   |    2 +-
 .../testutils/HoodieJavaClientTestHarness.java     |    6 +-
 .../hudi/testutils/TestHoodieMetadataBase.java     |    5 +-
 hudi-client/hudi-spark-client/pom.xml              |   51 +
 .../hudi/io/storage/HoodieSparkVortexReader.java   |  205 +
 .../hudi/io/storage/HoodieSparkVortexWriter.java   |  259 ++
 .../hudi/io/storage/VortexRecordIterator.java      |  199 +
 .../hudi/io/storage/VortexResourceCloser.java      |   57 +
 .../hudi/async/SparkAsyncClusteringService.java    |    1 -
 .../hudi/async/SparkAsyncCompactService.java       |    1 -
 .../hudi/client/HoodieSparkClusteringClient.java   |    1 +
 .../apache/hudi/client/HoodieSparkCompactor.java   |    1 +
 .../hudi/client/SparkRDDTableServiceClient.java    |    1 +
 .../apache/hudi/client/SparkRDDWriteClient.java    |    3 +-
 .../client/SparkStreamingMetadataWriteHandler.java |    1 +
 .../SparkStreamCopyClusteringPlanStrategy.java     |    2 +-
 .../MultipleSparkJobExecutionStrategy.java         |   12 +-
 ...SparkJobConsistentHashingExecutionStrategy.java |   25 +-
 ...SparkBinaryCopyClusteringExecutionStrategy.java |    2 +-
 ...arkExternalFileClusteringExecutionStrategy.java |    2 +-
 .../update/strategy/BaseSparkUpdateStrategy.java   |   13 +-
 .../update/strategy/SparkAllowUpdateStrategy.java  |   11 +-
 ...arkConsistentBucketDuplicateUpdateStrategy.java |   12 +-
 .../update/strategy/SparkRejectUpdateStrategy.java |   17 +-
 .../client/common/HoodieSparkEngineContext.java    |   16 +-
 .../client/common/SparkReaderContextFactory.java   |   13 +-
 .../client/utils/SparkInternalSchemaConverter.java |   10 +-
 .../client/utils/SparkMetadataWriterUtils.java     |   49 +-
 .../hudi/client/utils/SparkValidatorUtils.java     |   38 +-
 .../client/validator/SparkPreCommitValidator.java  |   14 +-
 .../SqlQueryEqualityPreCommitValidator.java        |    8 +-
 .../SqlQueryInequalityPreCommitValidator.java      |    8 +-
 .../SqlQuerySingleResultPreCommitValidator.java    |    4 +-
 .../hudi/common/model/HoodieSparkRecord.java       |   10 +-
 .../org/apache/hudi/data/HoodieJavaPairRDD.java    |    2 +-
 .../hudi/execution/SparkLazyInsertIterable.java    |    1 -
 ...ntBucketIndexBulkInsertPartitionerWithRows.java |    9 +-
 .../RDDSimpleBucketBulkInsertPartitioner.java      |    4 +-
 .../apache/hudi/index/HoodieSparkIndexClient.java  |    4 +-
 ...titionedRecordIndexFileGroupLookupFunction.java |   79 +
 .../apache/hudi/index/SparkHoodieIndexFactory.java |    3 -
 .../index/SparkMetadataTableRecordLevelIndex.java  |   43 +-
 .../index/bloom/HoodieFileProbingFunction.java     |    2 +-
 .../HoodieMetadataBloomFilterProbingFunction.java  |    2 +-
 .../expression/ExpressionIndexSparkFunctions.java  |   21 +-
 .../expression/HoodieSparkExpressionIndex.java     |    1 +
 .../hudi/io/storage/BlobDescriptorTransform.java   |   24 +-
 .../apache/hudi/io/storage/BlobStructLayout.java   |   46 +
 .../io/storage/HoodieSparkBootstrapFileReader.java |    2 +
 .../hudi/io/storage/HoodieSparkFileReader.java     |    2 +
 .../io/storage/HoodieSparkFileReaderFactory.java   |   13 +
 .../hudi/io/storage/HoodieSparkFileWriter.java     |    7 +-
 .../io/storage/HoodieSparkFileWriterFactory.java   |   26 +-
 .../hudi/io/storage/HoodieSparkIOFactory.java      |    2 +
 .../hudi/io/storage/HoodieSparkLanceReader.java    |   24 +-
 .../hudi/io/storage/HoodieSparkLanceWriter.java    |   60 +-
 .../hudi/io/storage/HoodieSparkParquetReader.java  |   12 +-
 .../hudi/io/storage/HoodieSparkParquetWriter.java  |    6 +
 .../hudi/io/storage/LanceRecordIterator.java       |  172 +-
 .../hudi/io/storage/VectorConversionUtils.java     |   64 +-
 .../row/HoodieBloomFilterRowWriteSupport.java      |    2 +-
 .../hudi/io/storage/row/HoodieRowCreateHandle.java |    2 +-
 .../storage/row/HoodieRowParquetWriteSupport.java  |   74 +-
 .../org/apache/hudi/keygen/CustomKeyGenerator.java |    8 +-
 .../SparkHoodieBackedTableMetadataWriter.java      |   92 +-
 ...ieBackedTableMetadataWriterTableVersionSix.java |   24 +-
 .../hudi/metadata/index/SparkIndexerSupport.java   |  108 +
 .../metadata/stats/SparkValueMetadataUtils.java    |  157 +
 .../hudi/metrics/DistributedRegistryUtil.java      |   56 +
 .../org/apache/hudi/sort/HilbertCurveUtils.java    |   52 +
 .../apache/hudi/sort/SpaceCurveSortingHelper.java  |    1 -
 .../apache/hudi/stats/SparkValueMetadataUtils.java |  157 -
 .../hudi/table/HoodieSparkCopyOnWriteTable.java    |    4 +-
 .../table/HoodieSparkMergeOnReadMetadataTable.java |    2 +-
 .../hudi/table/HoodieSparkMergeOnReadTable.java    |   12 +-
 .../org/apache/hudi/table/HoodieSparkTable.java    |   12 +
 .../bootstrap/BaseBootstrapMetadataHandler.java    |    4 +-
 .../bootstrap/OrcBootstrapMetadataHandler.java     |    2 +-
 .../bootstrap/ParquetBootstrapMetadataHandler.java |    4 +-
 .../SparkBootstrapCommitActionExecutor.java        |   10 +-
 .../commit/BaseSparkCommitActionExecutor.java      |   57 +-
 .../BucketBulkInsertDataInternalWriterHelper.java  |   11 +-
 .../commit/BulkInsertDataInternalWriterHelper.java |   64 +-
 ...ntBucketBulkInsertDataInternalWriterHelper.java |    2 +-
 .../action/commit/SparkBucketIndexPartitioner.java |    9 +-
 .../SparkDeletePartitionCommitActionExecutor.java  |    1 -
 .../SparkInsertOverwriteCommitActionExecutor.java  |   28 +-
 ...rkInsertOverwriteTableCommitActionExecutor.java |   22 +
 .../SparkPartitionBucketIndexPartitioner.java      |    9 +-
 .../table/action/commit/UpsertPartitioner.java     |    4 +-
 .../BaseSparkDeltaCommitActionExecutor.java        |    4 +-
 .../SparkUpsertDeltaCommitPartitioner.java         |    6 +-
 .../org/apache/hudi/AvroConversionUtils.scala      |    2 +-
 .../hudi/BaseSparkInternalRecordContext.java       |   31 +-
 .../apache/hudi/HoodieSchemaConversionUtils.scala  |    2 +-
 .../scala/org/apache/hudi/HoodieSparkUtils.scala   |    4 +-
 .../org/apache/hudi/SparkAdapterSupport.scala      |    4 +-
 .../SparkFileFormatInternalRecordContext.scala     |    4 +-
 .../SparkFileFormatInternalRowReaderContext.scala  |   42 +-
 .../apache/spark/sql/BucketPartitionUtils.scala    |    6 +-
 .../apache/spark/sql/HoodieInternalRowUtils.scala  |    4 +-
 .../sql/avro/HoodieSparkSchemaConverters.scala     |    2 +-
 .../datasources/SparkColumnarFileReader.scala      |    2 +-
 .../parquet/HoodieParquetFileFormatHelper.scala    |   12 +-
 .../hudi/MultipleColumnarFileFormatReader.scala    |   13 +-
 .../org/apache/spark/sql/hudi/SparkAdapter.scala   |   14 +
 .../spark/sql/hudi/execution/RangeSample.scala     |    2 +-
 .../ClusteringIdentityTestExecutionStrategy.java   |    5 +-
 ...xternalFileClusteringTestExecutionStrategy.java |    9 +-
 .../org/apache/hudi/client/TestClientRollback.java |    6 +-
 .../hudi/client/TestFileBasedLockProvider.java     |  114 -
 .../hudi/client/TestPartitionTTLManagement.java    |    2 +-
 ...erBasedDetectionStrategyWithZKLockProvider.java |   31 +-
 .../client/TestSparkRDDMetadataWriteClient.java    |   16 +-
 .../hudi/client/TestSparkRDDWriteClient.java       |    4 +-
 .../TestSparkStreamingMetadataWriteHandler.java    |    2 +-
 .../hudi/client/TestUpdateSchemaEvolution.java     |    2 +-
 .../org/apache/hudi/client/TestWriteStatus.java    |    4 +-
 ...parkConsistentBucketClusteringPlanStrategy.java |    2 +-
 .../TestSparkSizeBasedClusteringPlanStrategy.java  |    2 +-
 .../TestHoodieSparkEngineDynamicRepartition.java   |    2 +-
 .../common/TestSparkReaderContextFactory.java      |   10 +-
 .../functional/TestExternalPathHandling.java       |   14 +-
 .../functional/TestHoodieBackedTableMetadata.java  |   12 +-
 .../client/functional/TestHoodieMetadataBase.java  |    5 +-
 .../functional/TestHoodieMetadataBootstrap.java    |   28 +
 .../TestSavepointRestoreCopyOnWrite.java           |    4 +-
 .../hudi/client/utils/TestSparkValidatorUtils.java |  211 +-
 .../validator/TestSparkPreCommitValidator.java     |  143 +
 .../fs/TestHoodieSerializableFileStatus.java       |    8 +-
 .../hudi/common/table/log/TestLogReaderUtils.java  |   62 +-
 .../hudi/execution/TestBoundedInMemoryQueue.java   |    2 +-
 .../apache/hudi/index/TestHoodieIndexConfigs.java  |    2 -
 .../bloom/TestHoodieBloomFilterProbingResult.java  |   64 +
 .../expression/TestHoodieSparkExpressionIndex.java |    8 +-
 .../apache/hudi/io/TestHoodieTimelineArchiver.java |   86 +-
 .../java/org/apache/hudi/io/TestSparkIOUtils.java  |   67 -
 .../org/apache/hudi/io/TestSparkMergeUtils.java    |   67 +
 .../storage/TestHoodieAvroFileWriterFactory.java   |    2 +
 .../apache/hudi/keygen/TestSimpleKeyGenerator.java |    2 +-
 .../TestSparkHoodieBackedTableMetadataWriter.java  |  183 +
 .../stats/TestSparkValueMetadataUtils.java         |  196 +
 .../apache/hudi/sort/TestHilbertCurveUtils.java    |   38 +
 .../java/org/apache/hudi/table/TestCleaner.java    |   30 +-
 .../apache/hudi/table/TestHoodieSparkTable.java    |   43 +-
 .../clean/TestCleanerInsertAndCleanByCommits.java  |    2 +-
 .../clean/TestCleanerInsertAndCleanByVersions.java |    4 +
 .../commit/TestCopyOnWriteActionExecutor.java      |    2 +-
 .../commit/TestInsertOverwriteWithClustering.java  |  834 ++++
 .../action/commit/TestSparkBucketInfoGetter.java   |   68 +
 .../table/functional/TestCleanActionExecutor.java  |   22 +-
 .../table/functional/TestCleanPlanExecutor.java    |    2 +-
 .../TestMarkerBasedRollbackStrategy.java           |   16 +-
 .../TestTimelineServerBasedWriteMarkers.java       |    6 +-
 .../table/upgrade/TestUpgradeDowngradeLegacy.java  |    8 +-
 .../hudi/testutils/FunctionalTestHarness.java      |    4 +-
 .../hudi/testutils/HoodieCleanerTestBase.java      |   31 +-
 .../hudi/testutils/HoodieClientTestBase.java       |    2 +-
 .../testutils/HoodieSparkClientTestHarness.java    |   16 +-
 .../SparkClientFunctionalTestHarness.java          |    4 +-
 .../sql/hudi/execution/TestRangeSampleSort.java    |  168 +
 hudi-common/pom.xml                                |    5 +-
 .../org/apache/hudi/BaseHoodieTableFileIndex.java  |  690 ----
 .../main/java/org/apache/hudi/HoodieVersion.java   |   43 +-
 .../main/java/org/apache/hudi/ParquetAdapter.java  |   50 -
 .../org/apache/hudi/avro/AvroLogicalTypeEnum.java  |   45 -
 .../org/apache/hudi/avro/AvroRecordContext.java    |  196 -
 .../org/apache/hudi/avro/AvroRecordSerializer.java |   53 -
 .../apache/hudi/avro/AvroRecordSizeEstimator.java  |   50 -
 .../java/org/apache/hudi/avro/AvroSchemaCache.java |   47 -
 .../java/org/apache/hudi/avro/AvroSchemaUtils.java |  139 -
 .../apache/hudi/avro/ConvertingGenericData.java    |  154 -
 .../apache/hudi/avro/GenericAvroSerializer.java    |  147 -
 .../apache/hudi/avro/HoodieAvroReaderContext.java  |  351 --
 .../java/org/apache/hudi/avro/HoodieAvroUtils.java | 1531 --------
 .../apache/hudi/avro/HoodieAvroWrapperUtils.java   |  361 --
 .../hudi/avro/HoodieBloomFilterWriteSupport.java   |  101 -
 .../org/apache/hudi/avro/JoinedGenericRecord.java  |   88 -
 .../apache/hudi/avro/MercifulJsonConverter.java    |  548 ---
 .../avro/processors/DateLogicalTypeProcessor.java  |   43 -
 .../processors/DecimalLogicalTypeProcessor.java    |   99 -
 .../processors/DurationLogicalTypeProcessor.java   |   67 -
 .../hudi/avro/processors/EnumTypeProcessor.java    |   32 -
 .../hudi/avro/processors/FixedTypeProcessor.java   |   38 -
 .../hudi/avro/processors/JsonFieldProcessor.java   |   38 -
 .../LocalTimestampMicroLogicalTypeProcessor.java   |   59 -
 .../LocalTimestampMilliLogicalTypeProcessor.java   |   56 -
 .../org/apache/hudi/avro/processors/Parser.java    |   83 -
 .../avro/processors/TimeLogicalTypeProcessor.java  |  266 --
 .../processors/TimeMicroLogicalTypeProcessor.java  |   48 -
 .../processors/TimeMilliLogicalTypeProcessor.java  |   48 -
 .../TimestampMicroLogicalTypeProcessor.java        |   51 -
 .../TimestampMilliLogicalTypeProcessor.java        |   51 -
 .../transaction/lock/InProcessLockProvider.java    |  107 +-
 .../client/transaction/lock/NoopLockProvider.java  |   66 +-
 .../client/validator/BasePreCommitValidator.java   |   80 -
 .../hudi/client/validator/ValidationContext.java   |  197 -
 .../org/apache/hudi/common/HoodieCleanStat.java    |  210 +-
 .../org/apache/hudi/common/HoodieJsonPayload.java  |    8 +-
 .../hudi/common/HoodiePendingRollbackInfo.java     |   18 +-
 .../org/apache/hudi/common/HoodieRollbackStat.java |   34 +-
 .../hudi/common/avro/AvroLogicalTypeEnum.java      |   45 +
 .../apache/hudi/common/avro/AvroRecordContext.java |  213 ++
 .../hudi/common/avro/AvroRecordSerializer.java     |   53 +
 .../hudi/common/avro/AvroRecordSizeEstimator.java  |   50 +
 .../apache/hudi/common/avro/AvroSchemaCache.java   |   47 +
 .../apache/hudi/common/avro/AvroSchemaUtils.java   |  135 +
 .../hudi/common/avro/ConvertingGenericData.java    |  154 +
 .../hudi/common/avro/GenericAvroSerializer.java    |  147 +
 .../hudi/common/avro/HoodieAvroReaderContext.java  |  384 ++
 .../apache/hudi/common/avro/HoodieAvroUtils.java   | 1607 ++++++++
 .../hudi/common/avro/HoodieAvroWrapperUtils.java   |  361 ++
 .../common/avro/HoodieBloomFilterWriteSupport.java |  101 +
 .../hudi/common/avro/JoinedGenericRecord.java      |   88 +
 .../hudi/common/avro/MercifulJsonConverter.java    |  548 +++
 .../hudi/common/avro/VariantSchemaUtils.java       |   85 +
 .../hudi/common/avro/VariantShreddingProvider.java |  111 +
 .../avro/processors/DateLogicalTypeProcessor.java  |   43 +
 .../processors/DecimalLogicalTypeProcessor.java    |   99 +
 .../processors/DurationLogicalTypeProcessor.java   |   67 +
 .../common/avro/processors/EnumTypeProcessor.java  |   32 +
 .../common/avro/processors/FixedTypeProcessor.java |   38 +
 .../common/avro/processors/JsonFieldProcessor.java |   38 +
 .../LocalTimestampMicroLogicalTypeProcessor.java   |   59 +
 .../LocalTimestampMilliLogicalTypeProcessor.java   |   56 +
 .../apache/hudi/common/avro/processors/Parser.java |   83 +
 .../avro/processors/TimeLogicalTypeProcessor.java  |  266 ++
 .../processors/TimeMicroLogicalTypeProcessor.java  |   48 +
 .../processors/TimeMilliLogicalTypeProcessor.java  |   48 +
 .../TimestampMicroLogicalTypeProcessor.java        |   51 +
 .../TimestampMilliLogicalTypeProcessor.java        |   51 +
 .../hudi/common/bloom/InternalBloomFilter.java     |   89 +-
 .../common/bloom/InternalDynamicBloomFilter.java   |    9 +-
 .../apache/hudi/common/bloom/InternalFilter.java   |    7 +-
 .../java/org/apache/hudi/common/bloom/Key.java     |    8 +-
 .../bootstrap/index/hfile/HFileBootstrapIndex.java |   15 +-
 .../index/hfile/HFileBootstrapIndexReader.java     |   22 +-
 .../index/hfile/HFileBootstrapIndexWriter.java     |   17 +-
 .../apache/hudi/common/config/ConfigGroups.java    |   24 +-
 .../apache/hudi/common/config/ConfigProperty.java  |   66 +-
 .../hudi/common/config/HoodieCommonConfig.java     |    4 +-
 .../apache/hudi/common/config/HoodieConfig.java    |   12 +-
 .../hudi/common/config/HoodieIndexingConfig.java   |    8 +-
 .../hudi/common/config/HoodieMetadataConfig.java   |   67 +-
 .../hudi/common/config/HoodieReaderConfig.java     |   16 +-
 .../hudi/common/config/HoodieStorageConfig.java    |  107 +-
 .../config/HoodieTableServiceManagerConfig.java    |    2 +-
 .../common/config/HoodieTimeGeneratorConfig.java   |    5 +-
 .../metrics/HoodieMetricsCloudWatchConfig.java     |   92 +
 .../common/config/metrics/HoodieMetricsConfig.java |  443 +++
 .../config/metrics/HoodieMetricsDatadogConfig.java |  240 ++
 .../metrics/HoodieMetricsGraphiteConfig.java       |  149 +
 .../config/metrics/HoodieMetricsJmxConfig.java     |  120 +
 .../config/metrics/HoodieMetricsM3Config.java      |  132 +
 .../metrics/HoodieMetricsPrometheusConfig.java     |  237 ++
 .../DirectMarkerBasedDetectionStrategy.java        |   21 +-
 .../hudi/common/data/HoodieBaseListData.java       |   16 +-
 .../common/engine/AvroReaderContextFactory.java    |   16 +-
 .../engine/ExecutorServiceBasedEngineContext.java  |  290 ++
 .../hudi/common/engine/HoodieEngineContext.java    |   38 +-
 .../hudi/common/engine/HoodieReaderContext.java    |  163 +-
 .../apache/hudi/common/engine/RecordContext.java   |   47 +-
 .../apache/hudi/common/expression/ArrayData.java   |   40 +
 .../hudi/common/expression/BinaryExpression.java   |   50 +
 .../apache/hudi/common/expression/BindVisitor.java |  187 +
 .../hudi/common/expression/BoundReference.java     |   53 +
 .../apache/hudi/common/expression/Comparators.java |   55 +
 .../apache/hudi/common/expression/Expression.java  |   69 +
 .../hudi/common/expression/ExpressionVisitor.java  |   41 +
 .../hudi/common/expression/LeafExpression.java     |   32 +
 .../org/apache/hudi/common/expression/Literal.java |  115 +
 .../hudi/common/expression/NameReference.java      |   48 +
 .../hudi/common/expression/PartialBindVisitor.java |  153 +
 .../apache/hudi/common/expression/Predicate.java   |   40 +
 .../apache/hudi/common/expression/Predicates.java  |  501 +++
 .../apache/hudi/common/expression/StructLike.java  |   26 +
 .../java/org/apache/hudi/common/fs/FSUtils.java    |  215 +-
 .../hudi/common/fs/FailSafeConsistencyGuard.java   |   16 +-
 .../org/apache/hudi/common/fs/FileNameParser.java  |  327 ++
 .../hudi/common/fs/OptimisticConsistencyGuard.java |   10 +-
 .../common/heartbeat/HoodieHeartbeatUtils.java     |    7 +-
 .../apache/hudi/common/model/BaseAvroPayload.java  |    2 +-
 .../common/model/DefaultHoodieRecordPayload.java   |    2 +-
 .../org/apache/hudi/common/model/FileSlice.java    |   39 +-
 .../hudi/common/model/HoodieAvroIndexedRecord.java |    6 +-
 .../hudi/common/model/HoodieAvroPayload.java       |    2 +-
 .../apache/hudi/common/model/HoodieAvroRecord.java |    4 +-
 .../apache/hudi/common/model/HoodieBaseFile.java   |   38 +-
 .../hudi/common/model/HoodieCommitMetadata.java    |    4 +-
 .../apache/hudi/common/model/HoodieFileFormat.java |   14 +-
 .../hudi/common/model/HoodieIndexDefinition.java   |   16 +-
 .../apache/hudi/common/model/HoodieLogFile.java    |   70 +-
 .../hudi/common/model/HoodiePartitionMetadata.java |    2 +-
 .../apache/hudi/common/model/HoodieWriteStat.java  |    2 +-
 .../apache/hudi/common/model/LogExtensions.java    |   33 +
 .../common/model/PartialUpdateAvroPayload.java     |    2 +-
 .../model/ReverseOrderHoodieRecordPayload.java     |    3 +-
 .../common/model/SerializableIndexedRecord.java    |    2 +-
 .../hudi/common/model/WriteOperationType.java      |   11 +
 .../debezium/AbstractDebeziumAvroPayload.java      |    2 +-
 .../hudi/common/schema/HoodieAvroSchemaCache.java  |   52 +
 .../apache/hudi/common/schema/HoodieSchema.java    |   95 +-
 .../common/schema/HoodieSchemaCompatibility.java   |   10 +-
 .../schema/HoodieSchemaCompatibilityChecker.java   |    2 +-
 .../hudi/common/schema/HoodieSchemaField.java      |   16 +-
 .../hudi/common/schema/HoodieSchemaRepair.java     |  240 ++
 .../hudi/common/schema/HoodieSchemaUtils.java      |   26 +-
 .../apache/hudi/common/schema/HoodieSchemas.java   |   52 +
 .../schema/internal/HoodieSchemaException.java     |   44 +
 .../common/schema/internal/InternalSchema.java     |  309 ++
 .../schema/internal/InternalSchemaBuilder.java     |  277 ++
 .../apache/hudi/common/schema/internal/Type.java   |  189 +
 .../apache/hudi/common/schema/internal/Types.java  | 1018 +++++
 .../action/InternalSchemaChangeApplier.java        |  165 +
 .../internal/action/InternalSchemaMerger.java      |  239 ++
 .../common/schema/internal/action/TableChange.java |  249 ++
 .../schema/internal/action/TableChanges.java       |  401 ++
 .../schema/internal/action/TableChangesHelper.java |   85 +
 .../internal/convert/InternalSchemaConverter.java  |  657 ++++
 .../io/AbstractInternalSchemaStorageManager.java   |   51 +
 .../io/FileBasedInternalSchemaStorageManager.java  |  200 +
 .../internal/utils/AvroSchemaEvolutionUtils.java   |  237 ++
 .../common/schema/internal/utils/Conversions.java  |   51 +
 .../schema/internal/utils/InternalSchemaUtils.java |  288 ++
 .../schema/internal/utils/SchemaChangeUtils.java   |  341 ++
 .../common/schema/internal/utils/SerDeHelper.java  |  379 ++
 .../internal/visitor/InternalSchemaVisitor.java    |   86 +
 .../schema/internal/visitor/NameToIDVisitor.java   |  113 +
 .../internal/visitor/NameToPositionVisitor.java    |  115 +
 .../hudi/common/table/HoodieTableConfig.java       |  108 +-
 .../hudi/common/table/HoodieTableMetaClient.java   |  181 +-
 .../hudi/common/table/HoodieTableVersion.java      |   30 +-
 .../hudi/common/table/TableSchemaResolver.java     |   38 +-
 .../hudi/common/table/cdc/HoodieCDCExtractor.java  |    6 +-
 .../hudi/common/table/cdc/HoodieCDCFileSplit.java  |   24 +-
 .../hudi/common/table/cdc/HoodieCDCOperation.java  |   14 +-
 .../hudi/common/table/checkpoint/Checkpoint.java   |   21 +-
 .../common/table/checkpoint/CheckpointUtils.java   |   79 +-
 .../HoodieIncrSourceCheckpointValUtils.java        |   71 -
 .../table/log/AbstractHoodieLogRecordScanner.java  |  100 +-
 .../table/log/BaseHoodieLogRecordReader.java       |  113 +-
 .../apache/hudi/common/table/log/FullKeySpec.java  |   15 +-
 .../table/log/HoodieCDCEngineRecordAccessor.java   |   33 +
 .../log/HoodieCDCInlineLogRecordIterator.java      |  170 +
 .../hudi/common/table/log/HoodieCDCLogRecord.java  |   40 +
 .../table/log/HoodieCDCLogRecordIterator.java      |  120 +-
 .../log/HoodieCDCNativeLogRecordIterator.java      |  117 +
 .../table/log/HoodieLogBlockMetadataScanner.java   |    2 +-
 .../hudi/common/table/log/HoodieLogFileReader.java |   28 +-
 .../hudi/common/table/log/HoodieLogFormat.java     |  364 +-
 .../common/table/log/HoodieLogFormatReader.java    |   49 +-
 .../table/log/HoodieMergedLogRecordReader.java     |   26 +-
 .../table/log/HoodieMergedLogRecordScanner.java    |   24 +-
 .../table/log/HoodieNativeLogFileReader.java       |  149 +
 .../table/log/HoodieUnMergedLogRecordScanner.java  |    2 +-
 .../apache/hudi/common/table/log/InstantRange.java |   17 +-
 .../hudi/common/table/log/LogReaderUtils.java      |   89 +-
 .../common/table/log/NativeLogFooterMetadata.java  |  171 +
 .../table/log/block/HoodieAvroDataBlock.java       |   13 +-
 .../common/table/log/block/HoodieCommandBlock.java |    7 +-
 .../common/table/log/block/HoodieDataBlock.java    |   37 +-
 .../common/table/log/block/HoodieDeleteBlock.java  |   26 +-
 .../table/log/block/HoodieHFileDataBlock.java      |   29 +-
 .../common/table/log/block/HoodieLogBlock.java     |  140 +-
 .../table/log/block/HoodieNativeLogDataBlock.java  |  133 +
 .../log/block/HoodieNativeLogDeleteBlock.java      |  142 +
 .../table/log/block/HoodieParquetDataBlock.java    |    2 +-
 .../hudi/common/table/read/BufferedRecord.java     |   52 +-
 .../common/table/read/BufferedRecordMerger.java    |    4 +
 .../table/read/BufferedRecordMergerFactory.java    |   29 +-
 .../hudi/common/table/read/DeleteContext.java      |   22 +-
 .../table/read/FileGroupReaderSchemaHandler.java   |   35 +-
 .../common/table/read/HoodieFileGroupReader.java   |  307 +-
 .../hudi/common/table/read/HoodieRecordReader.java |   71 +
 .../table/read/IncrementalQueryAnalyzer.java       |   70 +-
 .../apache/hudi/common/table/read/InputSplit.java  |   67 +-
 .../read/ParquetRowIndexBasedSchemaHandler.java    |    8 +-
 .../hudi/common/table/read/ReaderParameters.java   |   82 +-
 .../buffer/DefaultFileGroupRecordBufferLoader.java |   14 +-
 .../table/read/buffer/FileGroupRecordBuffer.java   |   61 +-
 .../read/buffer/HoodieFileGroupRecordBuffer.java   |    6 -
 .../read/buffer/KeyBasedFileGroupRecordBuffer.java |   18 +-
 .../read/buffer/LogScanningRecordBufferLoader.java |    2 +-
 .../buffer/PositionBasedFileGroupRecordBuffer.java |   63 +-
 .../ReusableFileGroupRecordBufferLoader.java       |    5 +-
 .../read/buffer/ReusableKeyBasedRecordBuffer.java  |   10 +-
 .../StreamingFileGroupRecordBufferLoader.java      |    4 +-
 .../read/buffer/UnmergedFileGroupRecordBuffer.java |   12 +-
 .../table/read/lsm/HoodieLsmFileGroupReader.java   |  283 ++
 .../table/read/lsm/LsmFileGroupRecordIterator.java |  527 +++
 .../common/table/read/lsm/LsmFileIterators.java    |  243 ++
 .../table/read/lsm/SpillableLsmRecordIterator.java |  173 +
 .../common/table/timeline/ActiveTimelineUtils.java |   23 -
 .../common/table/timeline/BaseHoodieTimeline.java  |   15 +-
 .../hudi/common/table/timeline/HoodieInstant.java  |   33 +-
 .../common/table/timeline/HoodieInstantReader.java |    2 +-
 .../hudi/common/table/timeline/LSMTimeline.java    |   13 +-
 .../table/timeline/MetadataConversionUtils.java    |   11 +-
 .../common/table/timeline/TimeGeneratorBase.java   |   12 +-
 .../common/table/timeline/TimelineDiffHelper.java  |   46 +-
 .../hudi/common/table/timeline/TimelineLayout.java |   64 +-
 .../table/timeline/TimelineMetadataUtils.java      |    2 +-
 .../table/timeline/TimelineServiceClient.java      |   74 +
 .../table/timeline/TimelineServiceClientBase.java  |  124 +
 .../hudi/common/table/timeline/TimelineUtils.java  |   40 +-
 .../hudi/common/table/timeline/dto/InstantDTO.java |    2 +-
 .../timeline/versioning/TimelineLayoutVersion.java |    8 +-
 .../timeline/versioning/v1/ActiveTimelineV1.java   |   47 +-
 .../versioning/v1/ArchivedTimelineLoaderV1.java    |   16 +-
 .../timeline/versioning/v1/ArchivedTimelineV1.java |   13 +-
 .../versioning/v1/CommitMetadataSerDeV1.java       |    5 +-
 .../versioning/v1/CompletionTimeQueryViewV1.java   |    9 +-
 .../versioning/v1/InstantFileNameGeneratorV1.java  |    2 +-
 .../timeline/versioning/v1/InstantGeneratorV1.java |    4 +-
 .../timeline/versioning/v2/ActiveTimelineV2.java   |   50 +-
 .../versioning/v2/ArchivedTimelineLoaderV2.java    |    4 +-
 .../versioning/v2/CompletionTimeQueryViewV2.java   |    7 +-
 .../versioning/v2/InstantComparatorV2.java         |    2 +-
 .../versioning/v2/InstantFileNameGeneratorV2.java  |    2 +-
 .../timeline/versioning/v2/InstantGeneratorV2.java |    4 +-
 .../table/view/AbstractTableFileSystemView.java    |   62 +-
 .../common/table/view/FileSystemViewManager.java   |   27 +-
 .../table/view/HoodieTableFileSystemView.java      |   18 +-
 .../IncrementalTimelineSyncFileSystemView.java     |   56 +-
 .../hudi/common/table/view/NoOpTableMetadata.java  |    4 +-
 .../table/view/PriorityBasedFileSystemView.java    |   25 +-
 .../view/RemoteHoodieTableFileSystemView.java      |   12 +-
 .../table/view/RocksDbBasedFileSystemView.java     |   57 +-
 .../view/SpillableMapBasedFileSystemView.java      |   16 +-
 .../apache/hudi/common/util/CheckpointUtils.java   |  327 --
 .../apache/hudi/common/util/ClusteringUtils.java   |    4 +-
 .../apache/hudi/common/util/CollectionUtils.java   |   29 +
 .../org/apache/hudi/common/util/CommitUtils.java   |   24 +-
 .../org/apache/hudi/common/util/ConfigUtils.java   |   38 +-
 .../apache/hudi/common/util/FileFormatUtils.java   |   28 +-
 .../org/apache/hudi/common/util/HFileUtils.java    |   85 +-
 .../apache/hudi/common/util/HoodieRecordUtils.java |   15 +-
 .../hudi/common/util/HoodieStorageUtils.java       |   49 +
 .../apache/hudi/common/util/HoodieVectorUtils.java |  110 +
 .../hudi/common/util/InternalSchemaCache.java      |   10 +-
 .../hudi/common/util/KafkaCheckpointUtils.java     |  327 ++
 .../org/apache/hudi/common/util/LanceUtils.java    |  206 -
 .../java/org/apache/hudi/common/util/Lazy.java     |   83 +
 .../org/apache/hudi/common/util/MarkerUtils.java   |    1 -
 .../hudi/common/util/SerializationUtils.java       |    2 +-
 .../org/apache/hudi/common/util/SortUtils.java     |    2 +-
 .../apache/hudi/common/util/SpillableMapUtils.java |   84 -
 .../apache/hudi/common/util/TablePathUtils.java    |   13 +-
 .../apache/hudi/common/util/TableServiceUtils.java |   11 -
 .../org/apache/hudi/common/util/ThreadUtils.java   |   44 -
 .../org/apache/hudi/common/util/VortexUtils.java   |  181 +
 .../hudi/common/util/collection/ArrayUtils.java    |   62 -
 .../common/util/collection/BitCaskDiskMap.java     |   33 +-
 .../collection/CloseableConcatenatingIterator.java |   40 +
 .../util/collection/ConcatenatingIterator.java     |   64 +
 .../util/collection/LazyConcatenatingIterator.java |   97 +
 .../util/collection/LazyIterableIterator.java      |  131 +
 .../metrics/HoodieMetricsCloudWatchConfig.java     |   92 -
 .../hudi/config/metrics/HoodieMetricsConfig.java   |  443 ---
 .../config/metrics/HoodieMetricsDatadogConfig.java |  240 --
 .../metrics/HoodieMetricsGraphiteConfig.java       |  149 -
 .../config/metrics/HoodieMetricsJmxConfig.java     |  120 -
 .../hudi/config/metrics/HoodieMetricsM3Config.java |  132 -
 .../metrics/HoodieMetricsPrometheusConfig.java     |  237 --
 .../index/expression/HoodieExpressionIndex.java    |   98 +
 .../hudi/core/index/record/HoodieRecordIndex.java  |   39 +
 .../core/index/secondary/HoodieSecondaryIndex.java |  126 +
 .../secondary/SecondaryIndexDefinitionUtils.java   |   90 +
 .../index/secondary/SecondaryIndexManager.java     |  220 ++
 .../core/index/secondary/SecondaryIndexType.java   |   57 +
 .../hudi/core/io/HoodieParquetConfigInjector.java  |   94 +
 .../io/storage/ColumnRangeMetadataProvider.java    |   35 +
 .../hudi/core/io/storage/HFileReaderFactory.java   |  165 +
 .../io/storage/HoodieAvroBootstrapFileReader.java  |   39 +
 .../hudi/core/io/storage/HoodieAvroFileReader.java |   83 +
 .../hudi/core/io/storage/HoodieAvroFileWriter.java |   64 +
 .../io/storage/HoodieAvroHFileReaderImplBase.java  |  109 +
 .../core/io/storage/HoodieBootstrapFileReader.java |  126 +
 .../io/storage/HoodieBootstrapRecordIterator.java  |   86 +
 .../core/io/storage/HoodieFileBinaryCopier.java    |   39 +
 .../core/io/storage/HoodieFileMetadataMerger.java  |   80 +
 .../hudi/core/io/storage/HoodieFileReader.java     |   68 +
 .../core/io/storage/HoodieFileReaderFactory.java   |  157 +
 .../hudi/core/io/storage/HoodieFileWriter.java     |   60 +
 .../core/io/storage/HoodieFileWriterFactory.java   |  147 +
 .../hudi/core/io/storage/HoodieHFileConfig.java    |   44 +
 .../hudi/core/io/storage/HoodieIOFactory.java      |  122 +
 .../io/storage/HoodieNativeAvroHFileReader.java    |  669 ++++
 .../hudi/core/io/storage/HoodieOrcConfig.java      |   44 +
 .../core/io/storage/HoodieSeekingFileReader.java   |   55 +
 .../hudi/core/read/BaseHoodieTableFileIndex.java   |  699 ++++
 .../transaction/lock/InProcessLockProvider.java    |  143 +
 .../core/transaction/lock/NoopLockProvider.java    |   84 +
 .../core/validator/BasePreCommitValidator.java     |   80 +
 .../hudi/core/validator/ValidationContext.java     |  197 +
 .../org/apache/hudi/exception/ExceptionUtil.java   |   82 +
 .../exception/HoodieNullSchemaTypeException.java   |    2 +-
 .../exception/HoodieSchemaNotFoundException.java   |    6 +-
 .../exception/SchemaCompatibilityException.java    |    2 +-
 .../java/org/apache/hudi/expression/ArrayData.java |   40 -
 .../apache/hudi/expression/BinaryExpression.java   |   48 -
 .../org/apache/hudi/expression/BindVisitor.java    |  187 -
 .../org/apache/hudi/expression/BoundReference.java |   53 -
 .../org/apache/hudi/expression/Comparators.java    |   55 -
 .../org/apache/hudi/expression/Expression.java     |   69 -
 .../apache/hudi/expression/ExpressionVisitor.java  |   41 -
 .../org/apache/hudi/expression/LeafExpression.java |   32 -
 .../java/org/apache/hudi/expression/Literal.java   |  113 -
 .../org/apache/hudi/expression/NameReference.java  |   46 -
 .../apache/hudi/expression/PartialBindVisitor.java |  153 -
 .../java/org/apache/hudi/expression/Predicate.java |   40 -
 .../org/apache/hudi/expression/Predicates.java     |  456 ---
 .../org/apache/hudi/expression/StructLike.java     |   26 -
 .../index/expression/HoodieExpressionIndex.java    |   98 -
 .../hudi/index/record/HoodieRecordIndex.java       |   39 -
 .../hudi/index/secondary/HoodieSecondaryIndex.java |  126 -
 .../index/secondary/SecondaryIndexManager.java     |  220 --
 .../hudi/index/secondary/SecondaryIndexType.java   |   57 -
 .../hudi/index/secondary/SecondaryIndexUtils.java  |   90 -
 .../internal/schema/HoodieSchemaException.java     |   44 -
 .../hudi/internal/schema/InternalSchema.java       |  309 --
 .../internal/schema/InternalSchemaBuilder.java     |  277 --
 .../java/org/apache/hudi/internal/schema/Type.java |  189 -
 .../org/apache/hudi/internal/schema/Types.java     | 1018 -----
 .../schema/action/InternalSchemaChangeApplier.java |  165 -
 .../schema/action/InternalSchemaMerger.java        |  239 --
 .../hudi/internal/schema/action/TableChange.java   |  249 --
 .../hudi/internal/schema/action/TableChanges.java  |  401 --
 .../internal/schema/action/TableChangesHelper.java |   85 -
 .../schema/convert/InternalSchemaConverter.java    |  657 ----
 .../io/AbstractInternalSchemaStorageManager.java   |   51 -
 .../io/FileBasedInternalSchemaStorageManager.java  |  200 -
 .../schema/utils/AvroSchemaEvolutionUtils.java     |  224 --
 .../hudi/internal/schema/utils/Conversions.java    |   51 -
 .../internal/schema/utils/InternalSchemaUtils.java |  288 --
 .../internal/schema/utils/SchemaChangeUtils.java   |  341 --
 .../hudi/internal/schema/utils/SerDeHelper.java    |  379 --
 .../schema/visitor/InternalSchemaVisitor.java      |   86 -
 .../internal/schema/visitor/NameToIDVisitor.java   |  113 -
 .../schema/visitor/NameToPositionVisitor.java      |  115 -
 .../hudi/io/HoodieParquetConfigInjector.java       |   94 -
 .../io/storage/ColumnRangeMetadataProvider.java    |   35 -
 .../apache/hudi/io/storage/HFileReaderFactory.java |  165 -
 .../io/storage/HoodieAvroBootstrapFileReader.java  |   39 -
 .../hudi/io/storage/HoodieAvroFileReader.java      |   83 -
 .../hudi/io/storage/HoodieAvroFileWriter.java      |   59 -
 .../io/storage/HoodieAvroHFileReaderImplBase.java  |  109 -
 .../hudi/io/storage/HoodieBootstrapFileReader.java |  126 -
 .../io/storage/HoodieBootstrapRecordIterator.java  |   86 -
 .../hudi/io/storage/HoodieFileBinaryCopier.java    |   39 -
 .../apache/hudi/io/storage/HoodieFileReader.java   |   68 -
 .../hudi/io/storage/HoodieFileReaderFactory.java   |  147 -
 .../apache/hudi/io/storage/HoodieFileWriter.java   |   53 -
 .../hudi/io/storage/HoodieFileWriterFactory.java   |  137 -
 .../apache/hudi/io/storage/HoodieHFileConfig.java  |   44 -
 .../apache/hudi/io/storage/HoodieIOFactory.java    |  120 -
 .../io/storage/HoodieNativeAvroHFileReader.java    |  667 ----
 .../apache/hudi/io/storage/HoodieOrcConfig.java    |   44 -
 .../hudi/io/storage/HoodieSeekingFileReader.java   |   55 -
 .../java/org/apache/hudi/keygen/KeyGenerator.java  |   39 +
 .../hudi/metadata/AbstractHoodieTableMetadata.java |    8 +-
 .../hudi/metadata/BaseFileRecordParsingUtils.java  |    5 +-
 .../apache/hudi/metadata/BaseTableMetadata.java    |    7 +-
 .../metadata/FileSystemBackedTableMetadata.java    |   13 +-
 .../hudi/metadata/HoodieBackedTableMetadata.java   |   36 +-
 .../hudi/metadata/HoodieMetadataMetrics.java       |   13 +-
 .../hudi/metadata/HoodieMetadataPayload.java       |   52 +-
 .../apache/hudi/metadata/HoodieTableMetadata.java  |    4 +-
 .../hudi/metadata/HoodieTableMetadataUtil.java     |  756 +---
 .../hudi/metadata/MetadataPartitionType.java       |   54 +-
 .../hudi/metadata/SecondaryIndexKeyUtils.java      |    6 +-
 .../apache/hudi/metadata/TableMetadataFactory.java |    1 +
 .../apache/hudi/metadata/model/DirectoryInfo.java  |  130 +
 .../hudi/metadata/model/FileAndPartitionFlag.java  |   44 +
 .../org/apache/hudi/metadata/model/FileInfo.java   |   43 +
 .../hudi/metadata/model/FileInfoAndPartition.java  |   48 +
 .../hudi/metadata/model/FileSliceAndPartition.java |   44 +
 .../metadata/stats/HoodieColumnRangeMetadata.java  |  165 +
 .../metadata/stats/LogicalTypeParquetAdapter.java  |   92 +
 .../metadata/stats/OriginalTypeParquetAdapter.java |   83 +
 .../apache/hudi/metadata/stats/ParquetAdapter.java |   47 +
 .../apache/hudi/metadata/stats/ValueMetadata.java  |  268 ++
 .../org/apache/hudi/metadata/stats/ValueType.java  |  647 ++++
 .../apache/hudi/metrics/JmxMetricsReporter.java    |   10 +-
 .../main/java/org/apache/hudi/metrics/Metrics.java |    2 +-
 .../hudi/metrics/MetricsGraphiteReporter.java      |    2 +-
 .../hudi/metrics/MetricsReporterFactory.java       |    4 +-
 .../metrics/datadog/DatadogMetricsReporter.java    |    2 +-
 .../apache/hudi/metrics/m3/M3MetricsReporter.java  |    2 +-
 .../metrics/prometheus/PrometheusReporter.java     |    2 +-
 .../prometheus/PushGatewayMetricsReporter.java     |    2 +-
 .../hudi/parquet/io/ByteBufferBackedInputFile.java |   60 -
 .../hudi/stats/HoodieColumnRangeMetadata.java      |  165 -
 .../java/org/apache/hudi/stats/ValueMetadata.java  |  269 --
 .../main/java/org/apache/hudi/stats/ValueType.java |  648 ----
 .../apache/hudi/storage/HoodieStorageUtils.java    |   47 -
 .../hudi/timeline/TimelineServiceClient.java       |   74 -
 .../hudi/timeline/TimelineServiceClientBase.java   |  124 -
 .../apache/hudi/util/HoodieFileMetadataMerger.java |   80 -
 .../src/main/java/org/apache/hudi/util/Lazy.java   |   83 -
 .../hudi/util/LazyConcatenatingIterator.java       |   98 -
 .../apache/hudi/util/PartitionPathFilterUtil.java  |   38 -
 .../main/java/org/apache/hudi/util/Transient.java  |  109 -
 .../apache/parquet/schema/HoodieSchemaRepair.java  |  245 --
 .../parquet/schema/LogicalTypeParquetAdapter.java  |   92 -
 .../parquet/schema/OriginalTypeParquetAdapter.java |   83 -
 .../apache/hudi/BaseHoodieTableFileIndexTest.java  |   61 -
 .../java/org/apache/hudi/TestHoodieVersion.java    |    4 +-
 .../apache/hudi/TestReportJvmConfiguration.java    |   18 +-
 .../hudi/avro/MercifulJsonConverterTestBase.java   |  525 ---
 .../hudi/avro/TestAvroJavaTypeConverter.java       |   96 -
 .../apache/hudi/avro/TestAvroRecordContext.java    |   47 -
 .../hudi/avro/TestAvroRecordSizeEstimator.java     |   58 -
 .../org/apache/hudi/avro/TestAvroSchemaUtils.java  |   70 -
 .../hudi/avro/TestHoodieAvroReaderContext.java     |  332 --
 .../org/apache/hudi/avro/TestHoodieAvroUtils.java  | 1154 ------
 .../hudi/avro/TestMercifulJsonConverter.java       |  587 ---
 .../common/avro/MercifulJsonConverterTestBase.java |  525 +++
 .../common/avro/TestAvroJavaTypeConverter.java     |   96 +
 .../hudi/common/avro/TestAvroRecordContext.java    |  160 +
 .../common/avro/TestAvroRecordSizeEstimator.java   |   58 +
 .../hudi/common/avro/TestAvroSchemaUtils.java      |   70 +
 .../common/avro/TestHoodieAvroReaderContext.java   |  332 ++
 .../hudi/common/avro/TestHoodieAvroUtils.java      | 1194 ++++++
 .../common/avro/TestMercifulJsonConverter.java     |  587 +++
 .../common/bloom/InternalBloomFilterBenchmark.java |  127 +
 .../hudi/common/bloom/TestInternalBloomFilter.java |  234 ++
 .../hudi/common/config/TestConfigGroups.java       |   68 +
 .../common/config/TestHoodieIndexingConfig.java    |  177 +
 .../common/config/TestHoodieMetadataConfig.java    |   24 +
 .../common/config/TestHoodieStorageConfig.java     |   14 +
 .../config/TestHoodieTimeGeneratorConfig.java      |    2 +
 .../config/metrics/TestHoodieMetricsConfig.java    |   48 +
 .../common/data/TestHoodieListDataPairData.java    |    2 +-
 .../common/engine/TestHoodieReaderContext.java     |  201 +
 .../hudi/common/expression/PredicatesTest.java     |  265 ++
 .../hudi/common/expression/TestBindVisitor.java    |   53 +
 .../common/expression/TestPartialBindVisitor.java  |   84 +
 .../hudi/common/expression/TestPredicates.java     |   76 +
 .../apache/hudi/common/model/TestFileSlice.java    |   32 +-
 .../hudi/common/model/TestHoodieBaseFile.java      |   42 +
 .../hudi/common/model/TestHoodieLogFile.java       |  180 +
 .../model/TestHoodieReplaceCommitMetadata.java     |    1 +
 .../hudi/common/model/TestHoodieWriteStat.java     |    4 +-
 .../common/model/TestPartialUpdateAvroPayload.java |    2 +-
 .../model/TestReverseOrderHoodieRecordPayload.java |    3 +-
 .../common/model/TestSerializableIndexRecord.java  |    2 +-
 .../hudi/common/schema/TestHoodieSchema.java       |    5 +-
 .../hudi/common/schema/TestHoodieSchemaRepair.java |  896 +++++
 .../schema/TestHoodieSchemaTypePromotion.java      |  138 +
 .../hudi/common/schema/TestHoodieSchemaUtils.java  |    2 +-
 .../common/schema/internal/TestSerDeHelper.java    |  119 +
 .../schema/internal/action/TestMergeSchema.java    |   96 +
 .../schema/internal/action/TestTableChanges.java   |  320 ++
 .../convert/TestInternalSchemaConverter.java       |  269 ++
 .../utils/TestAvroSchemaEvolutionUtils.java        |  630 +++
 .../internal/utils/TestInternalSchemaUtils.java    |  140 +
 .../TestBufferedRecordSerializer.java              |    4 +-
 .../serialization/TestDefaultSerializer.java       |    2 +-
 .../TestHoodieFileGroupSerializer.java             |    6 +-
 .../TestHoodieFileSliceSerializer.java             |   24 +-
 .../table/checkpoint/TestCheckpointUtils.java      |  100 +-
 .../TestHoodieIncrSourceCheckpointValUtils.java    |   80 -
 .../log/TestHoodieCDCNativeLogRecordIterator.java  |  162 +
 .../table/log/TestHoodieLogFormatVersion.java      |   22 +-
 .../table/log/TestHoodieMergedLogRecordReader.java |    8 +-
 .../table/log/TestHoodieNativeLogFileReader.java   |   51 +
 .../table/log/TestNativeLogFooterMetadata.java     |   94 +
 .../table/log/block/TestHoodieAvroDataBlock.java   |    2 +-
 .../common/table/log/block/TestHoodieLogBlock.java |    2 +-
 .../common/table/read/SchemaHandlerTestBase.java   |    7 +-
 .../read/TestBufferedRecordMergerFactory.java      |   84 +
 .../read/TestFileGroupReaderSchemaHandler.java     |    8 +-
 .../table/read/TestHoodieFileGroupReaderBase.java  |   10 +-
 .../table/read/TestIncrementalQueryAnalyzer.java   |   89 +
 .../hudi/common/table/read/TestInputSplit.java     |   59 +
 .../common/table/read/TestUpdateProcessor.java     |   12 +-
 .../read/buffer/BaseTestFileGroupRecordBuffer.java |   27 +-
 .../buffer/TestFileGroupRecordBufferLoader.java    |   10 +-
 .../buffer/TestKeyBasedFileGroupRecordBuffer.java  |   18 +-
 .../TestPositionBasedFileGroupRecordBuffer.java    |  162 +
 .../buffer/TestReusableKeyBasedRecordBuffer.java   |   11 +-
 .../TestSortedKeyBasedFileGroupRecordBuffer.java   |   17 +-
 ...TestStreamingKeyBasedFileGroupRecordBuffer.java |   11 +-
 .../read/lsm/TestHoodieLsmFileGroupReader.java     |  209 +
 .../read/lsm/TestLsmFileGroupRecordIterator.java   |  355 ++
 .../table/read/lsm/TestLsmFileIterators.java       |  168 +
 .../read/lsm/TestSpillableLsmRecordIterator.java   |  141 +
 .../timeline/TestHoodieInstantTimeGenerator.java   |    1 +
 .../table/timeline/TestTimelineServiceClient.java  |  214 ++
 .../view/TestHoodieFileGroupSizeEstimator.java     |    4 +-
 .../view/TestPriorityBasedFileSystemView.java      |    6 +-
 .../common/testutils/AvroBinaryTestPayload.java    |    2 +-
 .../testutils/DisableDictionaryInjector.java       |    2 +-
 .../hudi/common/testutils/FileCreateUtils.java     |    4 +-
 .../hudi/common/testutils/FileCreateUtilsBase.java |    2 +-
 .../common/testutils/FileCreateUtilsLegacy.java    |    2 +-
 .../common/testutils/HoodieTestDataGenerator.java  |    2 +-
 .../hudi/common/testutils/HoodieTestUtils.java     |   23 +-
 .../hudi/common/testutils/MockHoodieTimeline.java  |    4 +-
 .../hudi/common/testutils/RawTripTestPayload.java  |    2 +-
 .../hudi/common/testutils/SchemaTestUtil.java      |    4 +-
 .../minicluster/ZookeeperTestService.java          |    6 +-
 .../testutils/reader/HoodieFileSliceTestUtils.java |  454 ---
 .../testutils/reader/HoodieRecordTestPayload.java  |    2 +-
 .../apache/hudi/common/util/TestBaseFileUtils.java |    4 +-
 .../common/util/TestBufferedRandomAccessFile.java  |  132 +
 .../hudi/common/util/TestCheckpointUtils.java      |  245 --
 .../hudi/common/util/TestCollectionUtils.java      |  170 +
 .../apache/hudi/common/util/TestConfigUtils.java   |   87 +-
 .../apache/hudi/common/util/TestDateTimeUtils.java |  108 +
 .../apache/hudi/common/util/TestHFileUtils.java    |   91 +
 .../hudi/common/util/TestHoodieRecordUtils.java    |   28 +-
 .../hudi/common/util/TestKafkaCheckpointUtils.java |  246 ++
 .../hudi/common/util/TestObjectSizeCalculator.java |    2 +-
 .../hudi/common/util/TestTableServiceUtils.java    |   13 -
 .../InflaterDeflaterReuseRLIBenchmark.java         |  327 ++
 .../common/util/collection/InspectRLISize.java     |   58 +
 .../util/collection/TestConcatenatingIterator.java |   65 +
 .../collection/TestLazyConcatenatingIterator.java  |  111 +
 .../config/metrics/TestHoodieMetricsConfig.java    |   48 -
 .../core/io/storage/TestHFileReaderFactory.java    |  215 ++
 .../io/storage/TestHoodieFileMetadataMerger.java   |  194 +
 .../storage/TestHoodieNativeAvroHFileReader.java   |  140 +
 .../core/read/BaseHoodieTableFileIndexTest.java    |  130 +
 .../apache/hudi/exception/TestExceptionUtil.java   |   77 +
 .../hudi/expression/TestPartialBindVisitor.java    |   84 -
 .../org/apache/hudi/expression/TestPredicates.java |   55 -
 .../hudi/internal/schema/TestSerDeHelper.java      |  119 -
 .../internal/schema/action/TestMergeSchema.java    |   96 -
 .../internal/schema/action/TestTableChanges.java   |  320 --
 .../convert/TestInternalSchemaConverter.java       |  269 --
 .../schema/utils/TestAvroSchemaEvolutionUtils.java |  570 ---
 .../schema/utils/TestInternalSchemaUtils.java      |  140 -
 .../hudi/io/storage/TestHFileReaderFactory.java    |  215 --
 .../io/storage/TestHoodieFileMetadataMerger.java   |  195 -
 .../storage/TestHoodieNativeAvroHFileReader.java   |  140 -
 .../org/apache/hudi/keygen/TestKeyGenerator.java   |   17 +-
 .../hudi/keygen/constant/TestKeyGeneratorType.java |    2 +-
 ...estHoodieBackedTableMetadataBuildPredicate.java |   32 +-
 .../hudi/metadata/TestHoodieTableMetadataUtil.java |   80 +
 .../hudi/metadata/TestMetadataPartitionType.java   |   26 +-
 .../hudi/metadata/TestSecondaryIndexKeyUtils.java  |   13 +-
 .../hudi/metadata/stats/TestValueMetadata.java     |   60 +
 .../apache/hudi/metadata/stats/TestValueType.java  |  286 ++
 .../java/org/apache/hudi/metrics/TestMetrics.java  |    2 +-
 .../hudi/metrics/TestMetricsReporterFactory.java   |    2 +-
 .../metrics/m3/TestM3ScopeReporterAdaptor.java     |  163 +
 .../org/apache/hudi/stats/TestValueMetadata.java   |   60 -
 .../java/org/apache/hudi/stats/TestValueType.java  |   57 -
 .../hudi/timeline/TestTimelineServiceClient.java   |  214 --
 .../hudi/util/TestLazyConcatenatingIterator.java   |  113 -
 .../hudi/util/TestPartitionPathFilterUtil.java     |   56 -
 .../parquet/schema/TestHoodieSchemaRepair.java     |  900 -----
 .../variant_backward_compat/variant_mor_avro.zip   |  Bin 87511 -> 104069 bytes
 .../common/HoodieExampleDataGenerator.java         |    2 +-
 hudi-examples/hudi-examples-flink/pom.xml          |   14 +-
 .../k8s/quickstart/HudiDataStreamWriter.java       |   14 +-
 .../hudi/examples/common/RandomJsonSource.java     |    4 +-
 .../examples/spark/HoodieWriteClientExample.java   |    8 +-
 .../hudi/examples/common/TestRandomJsonSource.java |   76 +
 .../src/test/python/HoodiePySparkQuickstart.py     |    2 +-
 .../hudi-examples-spark/src/test/python/README.md  |    6 +-
 .../src/test/python/vector_blob_demo/README.md     |   57 +-
 .../vector_blob_demo/hudi_blob_reader_demo.py      |   50 +-
 .../hudi_dataframe_vector_blob_demo.py             |   16 +-
 .../vector_blob_demo/hudi_sql_vector_blob_demo.py  |   16 +-
 .../vector_blob_demo/notebooks/00_main_demo.ipynb  |    9 +-
 .../notebooks/01_blob_reader.ipynb                 |   45 +-
 .../notebooks/02_sql_vector_search.ipynb           |   14 +-
 .../notebooks/03_dataframe_vector_search.ipynb     |   10 +-
 .../python/vector_blob_demo/notebooks/README.md    |    2 +-
 hudi-flink-datasource/hudi-flink/pom.xml           |   16 +-
 .../apache/hudi/configuration/FlinkOptions.java    |   15 +
 .../hudi/configuration/OptionsInference.java       |    3 +-
 .../apache/hudi/configuration/OptionsResolver.java |  147 +-
 .../hudi/metrics/FlinkBucketAssignMetrics.java     |   28 +-
 .../hudi/metrics/FlinkIndexBackendMetrics.java     |   38 +-
 .../FlinkPartitionedIndexBackendMetrics.java       |   86 +
 .../apache/hudi/sink/FlinkCheckpointClient.java    |   18 +-
 .../org/apache/hudi/sink/StreamWriteFunction.java  |   64 +-
 .../hudi/sink/StreamWriteOperatorCoordinator.java  |   38 +-
 .../hudi/sink/append/AppendWriteFunction.java      |    2 +-
 .../AppendWriteFunctionWithBIMBufferSort.java      |    6 +-
 .../AppendWriteFunctionWithContinuousSort.java     |   29 +-
 ...AppendWriteFunctionWithDisruptorBufferSort.java |    6 +-
 .../hudi/sink/bootstrap/BootstrapOperator.java     |    6 +-
 .../sink/bucket/BucketBulkInsertWriterHelper.java  |   19 +-
 .../sink/bucket/BucketStreamWriteFunction.java     |   22 +-
 .../bucket/ConsistentBucketAssignFunction.java     |    2 +-
 .../ConsistentBucketStreamWriteFunction.java       |    4 +-
 .../org/apache/hudi/sink/buffer/RowDataBucket.java |    5 +
 .../hudi/sink/bulk/BulkInsertWriterHelper.java     |   27 +-
 .../org/apache/hudi/sink/bulk/RowDataKeyGen.java   |   23 +
 .../hudi/sink/bulk/sort/SortOperatorGen.java       |  433 ++-
 .../hudi/sink/clustering/ClusteringCommitSink.java |    2 +-
 .../hudi/sink/clustering/ClusteringOperator.java   |   32 +-
 .../sink/clustering/ClusteringPlanOperator.java    |    6 +-
 .../clustering/ClusteringPlanSourceFunction.java   |   10 +-
 .../sink/clustering/HoodieFlinkClusteringJob.java  |   47 +-
 .../strategy/ConsistentBucketUpdateStrategy.java   |    2 +-
 .../FlinkConsistentBucketUpdateStrategy.java       |    2 +-
 .../sink/compact/CompactionPlanSourceFunction.java |   10 +-
 .../hudi/sink/compact/FlinkCompactionConfig.java   |    2 +-
 .../hudi/sink/compact/HoodieFlinkCompactor.java    |   40 +-
 .../compact/handler/CompositeCompactHandler.java   |    1 +
 .../handler/CompositeCompactionCommitHandler.java  |    1 +
 .../handler/CompositeCompactionPlanHandler.java    |    1 +
 .../sink/compact/handler/DefaultCleanHandler.java  |    2 +-
 .../handler/MetadataTableCompactHandler.java       |    7 +-
 .../hudi/sink/muttley/AthenaIngestionGateway.java  |    9 +-
 .../hudi/sink/muttley/FlinkHudiMuttleyClient.java  |   24 +-
 .../sink/partitioner/BucketAssignFunction.java     |   30 +-
 .../hudi/sink/partitioner/BucketAssigner.java      |    2 +-
 .../sink/partitioner/BucketIndexPartitioner.java   |   12 +-
 .../partitioner/BucketIndexPartitionerFactory.java |   46 +
 .../partitioner/BucketIndexRemotePartitioner.java  |  116 +
 .../partitioner/DynamicBucketAssignFunction.java   |    3 +-
 .../partitioner/GlobalRecordIndexPartitioner.java  |   29 +-
 .../partitioner/MinibatchBucketAssignFunction.java |    8 +-
 .../sink/partitioner/RecordIndexPartitioner.java   |   27 +-
 .../index/GlobalRecordLevelIndexBackend.java       |   53 +-
 .../hudi/sink/partitioner/index/IndexRowUtils.java |    4 +-
 .../sink/partitioner/index/IndexWriteFunction.java |    4 +-
 .../partitioner/index/RecordLevelIndexBackend.java |   17 +
 .../partitioner/profile/DeltaWriteProfile.java     |   37 +-
 .../sink/partitioner/profile/WriteProfile.java     |   66 +-
 .../sink/partitioner/profile/WriteProfiles.java    |    2 +-
 .../org/apache/hudi/sink/utils/BufferUtils.java    |   23 +
 .../org/apache/hudi/sink/utils/EventBuffers.java   |   10 +-
 .../hudi/sink/utils/FlinkTransformationUtils.java  |   41 +
 .../apache/hudi/sink/utils/HiveSyncContext.java    |    2 +
 .../java/org/apache/hudi/sink/utils/Pipelines.java |   34 +-
 .../hudi/sink/utils/RecordKeySortComparator.java   |   44 +
 .../hudi/sink/utils/RecordKeySortKeyComputer.java  |  111 +
 .../sink/v2/clustering/ClusteringCommitSinkV2.java |    2 +-
 .../sink/v2/compact/CompactionCommitSinkV2.java    |    2 +-
 .../org/apache/hudi/sink/v2/utils/PipelinesV2.java |   14 +-
 .../sink/validator/FlinkKafkaOffsetValidator.java  |    2 +-
 .../sink/validator/FlinkValidationContext.java     |    2 +-
 .../hudi/sink/validator/FlinkValidatorUtils.java   |    4 +-
 .../java/org/apache/hudi/source/FileIndex.java     |    8 +-
 .../org/apache/hudi/source/HoodieScanContext.java  |    2 +-
 .../java/org/apache/hudi/source/HoodieSource.java  |   34 +-
 .../apache/hudi/source/IncrementalInputSplits.java |   42 +-
 .../enumerator/AbstractHoodieSplitEnumerator.java  |    2 +-
 .../HoodieContinuousSplitEnumerator.java           |   14 +-
 .../apache/hudi/source/reader/BatchRecords.java    |   72 +-
 .../hudi/source/reader/HoodieRecordEmitter.java    |    3 +-
 .../hudi/source/reader/HoodieSourceReader.java     |   13 +-
 .../source/reader/HoodieSourceSplitReader.java     |  107 +-
 .../function/AbstractSplitReaderFunction.java      |  112 +-
 .../function/HoodieCdcSplitReaderFunction.java     |   47 +-
 .../reader/function/HoodieSplitReaderFunction.java |   57 +-
 .../reader/function/SplitReaderFunction.java       |   46 +-
 .../source/split/DefaultHoodieSplitDiscover.java   |   14 +-
 .../source/split/DefaultHoodieSplitProvider.java   |    1 -
 .../hudi/source/split/HoodieCdcSourceSplit.java    |    2 +-
 .../hudi/source/split/HoodieSourceSplit.java       |    2 +-
 .../source/split/HoodieSourceSplitSerializer.java  |   12 +-
 .../split/assign/DefaultHoodieSplitAssigner.java   |    3 +-
 .../source/split/assign/HoodieSplitAssigners.java  |    3 +-
 .../split/assign/HoodieSplitBucketAssigner.java    |    3 +-
 .../hudi/source/stats/BaseRecordLevelIndex.java    |  297 ++
 .../hudi/source/stats/ColumnStatsSchemas.java      |    7 +-
 .../apache/hudi/source/stats/FileStatsIndex.java   |    4 +-
 .../hudi/source/stats/GlobalRecordLevelIndex.java  |   54 +
 .../apache/hudi/source/stats/RecordLevelIndex.java |  310 +-
 .../apache/hudi/streamer/FlinkStreamerConfig.java  |    2 +-
 .../apache/hudi/streamer/HoodieFlinkStreamer.java  |    6 +-
 .../org/apache/hudi/table/HoodieTableFactory.java  |   64 +-
 .../org/apache/hudi/table/HoodieTableSink.java     |    6 +-
 .../org/apache/hudi/table/HoodieTableSource.java   |   62 +-
 .../apache/hudi/table/catalog/HoodieCatalog.java   |   13 +-
 .../hudi/table/catalog/HoodieCatalogUtil.java      |    6 +-
 .../hudi/table/catalog/HoodieHiveCatalog.java      |    9 +-
 .../hudi/table/catalog/TableOptionProperties.java  |    5 +-
 .../table/format/FlinkRowDataReaderContext.java    |   46 +-
 .../org/apache/hudi/table/format/FormatUtils.java  |  101 +-
 .../hudi/table/format/HoodieFlinkIOFactory.java    |    4 +-
 .../hudi/table/format/HoodieRowDataFileReader.java |   50 +
 .../format/HoodieRowDataFileReaderFactory.java     |   10 +-
 .../table/format/HoodieRowDataLanceReader.java     |  333 ++
 .../table/format/HoodieRowDataParquetReader.java   |   36 +-
 .../hudi/table/format/InternalSchemaManager.java   |   14 +-
 .../apache/hudi/table/format/RecordIterators.java  |    2 +-
 .../hudi/table/format/cdc/CdcImageManager.java     |    2 +-
 .../hudi/table/format/cdc/CdcInputFormat.java      |   16 +-
 .../apache/hudi/table/format/cdc/CdcIterators.java |  221 +-
 .../table/format/cow/CopyOnWriteInputFormat.java   |   72 +-
 .../table/format/mor/MergeOnReadInputFormat.java   |   23 +-
 .../hudi/table/lookup/HoodieLookupFunction.java    |   15 +-
 .../main/java/org/apache/hudi/util/ClientIds.java  |    2 +-
 .../java/org/apache/hudi/util/ClusteringUtil.java  |    2 +-
 .../java/org/apache/hudi/util/CompactionUtil.java  |    4 +-
 .../java/org/apache/hudi/util/DataTypeUtils.java   |   46 +
 .../java/org/apache/hudi/util/FileIndexReader.java |    3 +-
 .../org/apache/hudi/util/FlinkWriteClients.java    |   52 +-
 .../java/org/apache/hudi/util/StreamerUtil.java    |   36 +-
 .../apache/hudi/util/ViewStorageProperties.java    |    2 +-
 .../hudi/configuration/TestOptionsResolver.java    |  151 +-
 .../hudi/metrics/TestFlinkBucketAssignMetrics.java |   41 +-
 .../hudi/metrics/TestFlinkIndexBackendMetrics.java |   53 +-
 .../TestFlinkPartitionedIndexBackendMetrics.java   |  147 +
 .../apache/hudi/sink/ITTestDataStreamWrite.java    |    2 +-
 .../hudi/sink/TestFlinkCheckpointClient.java       |   37 +-
 .../sink/TestStreamWriteOperatorCoordinator.java   |  117 +-
 .../org/apache/hudi/sink/TestWriteCopyOnWrite.java |   46 +-
 .../org/apache/hudi/sink/TestWriteMergeOnRead.java |   40 +-
 .../hudi/sink/TestWriteMergeOnReadWithCompact.java |   39 +-
 .../ITTestAppendWriteFunctionWithBufferSort.java   |    2 +-
 ...TTestAppendWriteFunctionWithContinuousSort.java |    8 +-
 .../hudi/sink/append/TestAppendWriteFunction.java  |   16 +-
 .../hudi/sink/bucket/ITTestBucketStreamWrite.java  |   71 +
 .../hudi/sink/bulk/TestBulkInsertWriteHelper.java  |    2 +-
 .../apache/hudi/sink/bulk/TestRowDataKeyGens.java  |    3 +
 .../hudi/sink/bulk/sort/TestSortOperatorGen.java   |  138 +
 .../ITTestFlinkConsistentHashingClustering.java    |    2 +-
 .../sink/cluster/ITTestHoodieFlinkClustering.java  |   10 +-
 .../sink/compact/CompactionCommitTestSink.java     |    2 +-
 .../sink/compact/ITTestHoodieFlinkCompactor.java   |    4 +
 .../compact/handler/TestCompositeHandlers.java     |    6 +-
 .../compact/handler/TestDefaultCleanHandler.java   |   41 +
 .../hudi/sink/partitioner/TestBucketAssigner.java  |  224 +-
 .../TestBucketIndexPartitionerFactory.java         |   62 +
 .../TestBucketIndexRemotePartitioner.java          |  100 +
 .../TestGlobalRecordIndexPartitioner.java          |   80 +-
 .../TestMinibatchBucketAssignFunction.java         |  108 +
 .../partitioner/TestRecordIndexPartitioner.java    |    1 +
 .../index/TestGlobalRecordLevelIndexBackend.java   |  114 +-
 .../index/TestRecordLevelIndexBackend.java         |   28 +
 .../partitioner/index/TestRocksDBIndexBackend.java |    2 +-
 .../hudi/sink/utils/BulkInsertFunctionWrapper.java |   11 +-
 .../hudi/sink/utils/InsertFunctionWrapper.java     |   20 +-
 .../hudi/sink/utils/MockKeyedStateStore.java       |   12 +-
 .../sink/utils/StreamWriteFunctionWrapper.java     |    5 +-
 .../hudi/sink/utils/TestHiveSyncContext.java       |   17 +
 .../sink/utils/TestRecordKeySortKeyComputer.java   |  313 ++
 .../org/apache/hudi/sink/utils/TestWriteBase.java  |    7 +-
 .../sink/utils/keyedstate/MockKeyedListState.java  |    1 +
 .../sink/utils/keyedstate/MockKeyedMapState.java   |    4 +-
 .../sink/utils/keyedstate/MockKeyedValueState.java |    4 +-
 .../validator/TestFlinkKafkaCheckpointParsing.java |   42 +-
 .../java/org/apache/hudi/source/TestFileIndex.java |   67 +
 .../apache/hudi/source/TestHoodieScanContext.java  |    1 -
 .../org/apache/hudi/source/TestHoodieSource.java   |   19 +-
 .../hudi/source/TestIncrementalInputSplits.java    |    6 +-
 .../source/TestStreamReadMonitoringFunction.java   |    4 +-
 .../TestHoodieContinuousSplitEnumerator.java       |    6 +-
 .../TestHoodieStaticSplitEnumerator.java           |    2 +-
 .../hudi/source/reader/TestBatchRecords.java       |  249 +-
 .../source/reader/TestHoodieSourceSplitReader.java |  487 ++-
 .../hudi/source/reader/TestRecordLimiter.java      |    1 -
 .../function/TestAbstractSplitReaderFunction.java  |  165 +-
 .../function/TestHoodieCdcSplitReaderFunction.java |   11 +-
 .../function/TestHoodieSplitReaderFunction.java    |  102 +-
 .../split/TestDefaultHoodieSplitProvider.java      |    6 +-
 .../split/TestHoodieContinuousSplitBatch.java      |    1 -
 .../hudi/source/split/TestHoodieSourceSplit.java   |   14 +-
 .../split/TestHoodieSourceSplitSerializer.java     |   81 +-
 .../split/assign/TestHoodieSplitAssigners.java     |    2 +-
 .../assign/TestHoodieSplitBucketAssigner.java      |    2 +-
 .../hudi/source/stats/TestRecordLevelIndex.java    |  221 +-
 .../org/apache/hudi/table/ITTestBlobWrite.java     |  226 ++
 .../hudi/table/ITTestDynamicBucketStreamWrite.java |    7 +-
 .../apache/hudi/table/ITTestHoodieDataSource.java  |  803 +++-
 .../apache/hudi/table/ITTestSchemaEvolution.java   |    6 +-
 .../hudi/table/ITTestSchemaEvolutionBySQL.java     |    7 -
 .../ITTestVectorCrossEngineCompatibility.java      |   74 +-
 .../apache/hudi/table/ITTestVectorDataSource.java  |  791 ++++
 .../table/TestHoodieFileGroupReaderOnFlink.java    |    8 +
 .../apache/hudi/table/TestHoodieTableFactory.java  |  146 +-
 .../hudi/table/catalog/TestHoodieCatalog.java      |   35 +-
 .../hudi/table/catalog/TestHoodieHiveCatalog.java  |   22 +-
 .../format/TestFlinkRowDataReaderContext.java      |   10 -
 .../apache/hudi/table/format/TestFormatUtils.java  |   40 +
 .../apache/hudi/table/format/TestInputFormat.java  |  135 +-
 .../table/lookup/TestHoodieLookupFunction.java     |  161 +
 .../org/apache/hudi/util/TestDataTypeUtils.java    |   84 +
 .../test/java/org/apache/hudi/utils/TestData.java  |  126 +-
 .../apache/hudi/utils/TestFlinkWriteClients.java   |   87 +-
 .../hudi/utils/TestRowDataToAvroConverters.java    |  187 +-
 .../test/java/org/apache/hudi/utils/TestSQL.java   |    5 +
 .../org/apache/hudi/utils/TestStreamerUtil.java    |   79 +-
 .../test/java/org/apache/hudi/utils/TestUtils.java |    6 +
 hudi-flink-datasource/hudi-flink1.17.x/pom.xml     |  174 -
 .../org/apache/flink/types/variant/Variant.java    |   24 -
 .../hudi/adapter/AbstractRichFunctionAdapter.java  |   27 -
 .../hudi/adapter/CollectionInputFormatAdapter.java |   34 -
 .../adapter/DataStreamScanProviderAdapter.java     |   34 -
 .../adapter/DataStreamSinkProviderAdapter.java     |   37 -
 .../org/apache/hudi/adapter/DataTypeAdapter.java   |   63 -
 .../apache/hudi/adapter/HiveCatalogConstants.java  |   52 -
 .../adapter/InputFormatSourceFunctionAdapter.java  |   32 -
 .../hudi/adapter/KeyedProcessFunctionAdapter.java  |   27 -
 .../apache/hudi/adapter/MaskingOutputAdapter.java  |   67 -
 .../hudi/adapter/ProcessFunctionAdapter.java       |   31 -
 .../hudi/adapter/RichSinkFunctionAdapter.java      |   27 -
 .../hudi/adapter/RichSourceFunctionAdapter.java    |   27 -
 .../java/org/apache/hudi/adapter/SinkAdapter.java  |   36 -
 .../apache/hudi/adapter/SinkFunctionAdapter.java   |   27 -
 .../hudi/adapter/SinkFunctionProviderAdapter.java  |   28 -
 .../apache/hudi/adapter/SourceFunctionAdapter.java |   27 -
 .../adapter/SupportsPreWriteTopologyAdapter.java   |   37 -
 .../hudi/adapter/TableFunctionProviderAdapter.java |   33 -
 .../hudi/adapter/TypeInformationAdapter.java       |   35 -
 .../main/java/org/apache/hudi/adapter/Utils.java   |  179 -
 .../adapter/YieldingOperatorFactoryAdapter.java    |   27 -
 .../table/format/cow/ParquetSplitReaderUtil.java   |  595 ---
 .../table/format/cow/vector/HeapArrayVector.java   |   66 -
 .../table/format/cow/vector/HeapDecimalVector.java |   39 -
 .../format/cow/vector/HeapMapColumnVector.java     |   59 -
 .../format/cow/vector/HeapRowColumnVector.java     |   54 -
 .../format/cow/vector/ParquetDecimalVector.java    |   54 -
 .../cow/vector/reader/AbstractColumnReader.java    |  325 --
 .../cow/vector/reader/ArrayColumnReader.java       |  473 ---
 .../vector/reader/BaseVectorizedColumnReader.java  |  311 --
 .../cow/vector/reader/EmptyColumnReader.java       |   42 -
 .../vector/reader/FixedLenBytesColumnReader.java   |   84 -
 .../vector/reader/Int64TimestampColumnReader.java  |  119 -
 .../format/cow/vector/reader/MapColumnReader.java  |   76 -
 .../reader/ParquetColumnarRowSplitReader.java      |  399 --
 .../cow/vector/reader/ParquetDataColumnReader.java |  199 -
 .../reader/ParquetDataColumnReaderFactory.java     |  301 --
 .../format/cow/vector/reader/RowColumnReader.java  |   63 -
 .../format/cow/vector/reader/RunLengthDecoder.java |  304 --
 .../java/org/apache/hudi/utils/CatalogUtils.java   |   36 -
 .../java/org/apache/hudi/utils/DataTypeUtils.java  |   33 -
 .../org/apache/hudi/utils/RuntimeContextUtils.java |   56 -
 .../org/apache/hudi/utils/SourceContextUtils.java  |   48 -
 .../org/apache/hudi/utils/StateTtlConfigUtils.java |   31 -
 .../java/org/apache/hudi/utils/StreamerUtils.java  |   53 -
 .../apache/hudi/adapter/CollectOutputAdapter.java  |   73 -
 .../hudi/adapter/DataTypeAdapterTestUtils.java     |   28 -
 .../apache/hudi/adapter/ExecutionAttemptUtil.java  |   31 -
 .../hudi/adapter/KeyedStateStoreAdapter.java       |   24 -
 .../hudi/adapter/OperatorStateStoreAdapter.java    |   24 -
 .../apache/hudi/adapter/TestHoodieCatalogs.java    |   30 -
 .../org/apache/hudi/adapter/TestStreamConfigs.java |   35 -
 .../org/apache/hudi/sink/utils/MockTaskInfo.java   |   59 -
 hudi-flink-datasource/hudi-flink1.18.x/pom.xml     |    8 +-
 .../org/apache/hudi/adapter/DataTypeAdapter.java   |    3 +-
 .../main/java/org/apache/hudi/adapter/Utils.java   |   20 +-
 .../table/format/cow/ParquetSplitReaderUtil.java   |   13 +-
 .../table/format/cow/utils/NestedPositionUtil.java |    4 +-
 .../cow/vector/reader/AbstractColumnReader.java    |    8 +-
 .../vector/reader/BaseVectorizedColumnReader.java  |    7 +-
 .../cow/vector/reader/NestedColumnReader.java      |   42 +-
 .../vector/reader/NestedPrimitiveColumnReader.java |   17 +-
 .../reader/ParquetDataColumnReaderFactory.java     |    8 +-
 .../apache/hudi/adapter/TestHoodieCatalogs.java    |   30 -
 .../cow/vector/TestHeapColumnVectorAccessors.java  |    1 -
 .../cow/vector/TestParquetDecimalVector.java       |    1 -
 .../reader/TestParquetDataColumnReaderFactory.java |    2 -
 .../cow/vector/type/TestParquetGroupField.java     |    2 -
 hudi-flink-datasource/hudi-flink1.19.x/pom.xml     |    8 +-
 .../org/apache/hudi/adapter/DataTypeAdapter.java   |    3 +-
 .../main/java/org/apache/hudi/adapter/Utils.java   |   20 +-
 .../table/format/cow/ParquetSplitReaderUtil.java   |  697 ++--
 .../table/format/cow/utils/BooleanArrayList.java   |    0
 .../hudi/table/format/cow/utils/IntArrayList.java  |    0
 .../hudi/table/format/cow/utils/LongArrayList.java |    0
 .../table/format/cow/utils/NestedPositionUtil.java |  209 +
 .../format/cow/vector/ColumnarGroupArrayData.java  |  179 -
 .../format/cow/vector/ColumnarGroupMapData.java    |   63 -
 .../format/cow/vector/ColumnarGroupRowData.java    |  138 -
 .../cow/vector/HeapArrayGroupColumnVector.java     |   53 -
 .../table/format/cow/vector/HeapArrayVector.java   |   31 +
 .../format/cow/vector/HeapMapColumnVector.java     |   75 +-
 .../format/cow/vector/HeapRowColumnVector.java     |   15 +
 .../format/cow/vector/ParquetDecimalVector.java    |  197 +-
 .../cow/vector/position/CollectionPosition.java    |    0
 .../cow/vector/position/LevelDelegation.java       |    0
 .../format/cow/vector/position/RowPosition.java    |    0
 .../cow/vector/reader/AbstractColumnReader.java    |    8 +-
 .../cow/vector/reader/ArrayColumnReader.java       |  473 ---
 .../format/cow/vector/reader/ArrayGroupReader.java |   45 -
 .../vector/reader/BaseVectorizedColumnReader.java  |    7 +-
 .../format/cow/vector/reader/MapColumnReader.java  |   56 -
 .../cow/vector/reader/NestedColumnReader.java      |  312 ++
 .../vector/reader/NestedPrimitiveColumnReader.java |  636 ++++
 .../reader/ParquetColumnarRowSplitReader.java      |   34 +-
 .../reader/ParquetDataColumnReaderFactory.java     |  112 +-
 .../format/cow/vector/reader/RowColumnReader.java  |   63 -
 .../table/format/cow/vector/type/ParquetField.java |    0
 .../format/cow/vector/type/ParquetGroupField.java  |    0
 .../cow/vector/type/ParquetPrimitiveField.java     |    0
 .../apache/hudi/adapter/TestHoodieCatalogs.java    |   30 -
 .../cow/vector/TestHeapColumnVectorAccessors.java  |  138 +
 .../cow/vector/TestParquetDecimalVector.java       |  187 +
 .../reader/TestParquetDataColumnReaderFactory.java |  270 ++
 .../cow/vector/type/TestParquetGroupField.java     |  132 +
 hudi-flink-datasource/hudi-flink1.20.x/pom.xml     |    8 +-
 .../org/apache/hudi/adapter/DataTypeAdapter.java   |    3 +-
 .../main/java/org/apache/hudi/adapter/Utils.java   |   20 +-
 .../table/format/cow/ParquetSplitReaderUtil.java   |  695 ++--
 .../table/format/cow/utils/BooleanArrayList.java   |    0
 .../hudi/table/format/cow/utils/IntArrayList.java  |    0
 .../hudi/table/format/cow/utils/LongArrayList.java |    0
 .../table/format/cow/utils/NestedPositionUtil.java |  209 +
 .../format/cow/vector/ColumnarGroupArrayData.java  |  179 -
 .../format/cow/vector/ColumnarGroupMapData.java    |   63 -
 .../format/cow/vector/ColumnarGroupRowData.java    |  138 -
 .../cow/vector/HeapArrayGroupColumnVector.java     |   53 -
 .../table/format/cow/vector/HeapArrayVector.java   |   31 +
 .../format/cow/vector/HeapMapColumnVector.java     |   74 +-
 .../format/cow/vector/HeapRowColumnVector.java     |   15 +
 .../format/cow/vector/ParquetDecimalVector.java    |  197 +-
 .../cow/vector/position/CollectionPosition.java    |    0
 .../cow/vector/position/LevelDelegation.java       |    0
 .../format/cow/vector/position/RowPosition.java    |    0
 .../cow/vector/reader/AbstractColumnReader.java    |    8 +-
 .../cow/vector/reader/ArrayColumnReader.java       |  473 ---
 .../format/cow/vector/reader/ArrayGroupReader.java |   45 -
 .../vector/reader/BaseVectorizedColumnReader.java  |    7 +-
 .../format/cow/vector/reader/MapColumnReader.java  |   55 -
 .../cow/vector/reader/NestedColumnReader.java      |  312 ++
 .../vector/reader/NestedPrimitiveColumnReader.java |  636 ++++
 .../reader/ParquetColumnarRowSplitReader.java      |   34 +-
 .../reader/ParquetDataColumnReaderFactory.java     |  112 +-
 .../format/cow/vector/reader/RowColumnReader.java  |   63 -
 .../table/format/cow/vector/type/ParquetField.java |    0
 .../format/cow/vector/type/ParquetGroupField.java  |    0
 .../cow/vector/type/ParquetPrimitiveField.java     |    0
 .../apache/hudi/adapter/TestHoodieCatalogs.java    |   30 -
 .../cow/vector/TestHeapColumnVectorAccessors.java  |  138 +
 .../cow/vector/TestParquetDecimalVector.java       |  187 +
 .../reader/TestParquetDataColumnReaderFactory.java |  270 ++
 .../cow/vector/type/TestParquetGroupField.java     |  132 +
 hudi-flink-datasource/hudi-flink2.0.x/pom.xml      |    8 +-
 .../org/apache/hudi/adapter/DataTypeAdapter.java   |    3 +-
 .../main/java/org/apache/hudi/adapter/Utils.java   |   20 +-
 .../table/format/cow/ParquetSplitReaderUtil.java   |  693 ++--
 .../table/format/cow/utils/BooleanArrayList.java   |    0
 .../hudi/table/format/cow/utils/IntArrayList.java  |    0
 .../hudi/table/format/cow/utils/LongArrayList.java |    0
 .../table/format/cow/utils/NestedPositionUtil.java |  209 +
 .../format/cow/vector/ColumnarGroupArrayData.java  |  179 -
 .../format/cow/vector/ColumnarGroupMapData.java    |   63 -
 .../format/cow/vector/ColumnarGroupRowData.java    |  138 -
 .../cow/vector/HeapArrayGroupColumnVector.java     |   53 -
 .../table/format/cow/vector/HeapArrayVector.java   |   31 +
 .../format/cow/vector/HeapMapColumnVector.java     |   74 +-
 .../format/cow/vector/HeapRowColumnVector.java     |   15 +
 .../format/cow/vector/ParquetDecimalVector.java    |  197 +-
 .../cow/vector/position/CollectionPosition.java    |    0
 .../cow/vector/position/LevelDelegation.java       |    0
 .../format/cow/vector/position/RowPosition.java    |    0
 .../cow/vector/reader/AbstractColumnReader.java    |    8 +-
 .../cow/vector/reader/ArrayColumnReader.java       |  473 ---
 .../format/cow/vector/reader/ArrayGroupReader.java |   45 -
 .../vector/reader/BaseVectorizedColumnReader.java  |    7 +-
 .../format/cow/vector/reader/MapColumnReader.java  |   55 -
 .../cow/vector/reader/NestedColumnReader.java      |  312 ++
 .../vector/reader/NestedPrimitiveColumnReader.java |  636 ++++
 .../reader/ParquetColumnarRowSplitReader.java      |   34 +-
 .../reader/ParquetDataColumnReaderFactory.java     |  112 +-
 .../format/cow/vector/reader/RowColumnReader.java  |   63 -
 .../table/format/cow/vector/type/ParquetField.java |    0
 .../format/cow/vector/type/ParquetGroupField.java  |    0
 .../cow/vector/type/ParquetPrimitiveField.java     |    0
 .../apache/hudi/adapter/TestHoodieCatalogs.java    |   30 -
 .../cow/vector/TestHeapColumnVectorAccessors.java  |  138 +
 .../cow/vector/TestParquetDecimalVector.java       |  187 +
 .../reader/TestParquetDataColumnReaderFactory.java |  270 ++
 .../cow/vector/type/TestParquetGroupField.java     |  132 +
 hudi-flink-datasource/hudi-flink2.1.x/pom.xml      |   14 +-
 .../org/apache/hudi/adapter/DataTypeAdapter.java   |    3 +-
 .../main/java/org/apache/hudi/adapter/Utils.java   |   22 +-
 .../table/format/cow/ParquetSplitReaderUtil.java   |  763 ++--
 .../table/format/cow/utils/BooleanArrayList.java   |    0
 .../hudi/table/format/cow/utils/IntArrayList.java  |    0
 .../hudi/table/format/cow/utils/LongArrayList.java |    0
 .../table/format/cow/utils/NestedPositionUtil.java |  209 +
 .../format/cow/vector/ColumnarGroupArrayData.java  |  185 -
 .../format/cow/vector/ColumnarGroupMapData.java    |   63 -
 .../format/cow/vector/ColumnarGroupRowData.java    |  144 -
 .../cow/vector/HeapArrayGroupColumnVector.java     |   53 -
 .../table/format/cow/vector/HeapArrayVector.java   |   35 +-
 .../format/cow/vector/HeapMapColumnVector.java     |   74 +-
 .../format/cow/vector/HeapRowColumnVector.java     |   15 +
 .../format/cow/vector/ParquetDecimalVector.java    |  197 +-
 .../cow/vector/position/CollectionPosition.java    |    0
 .../cow/vector/position/LevelDelegation.java       |    0
 .../format/cow/vector/position/RowPosition.java    |    0
 .../cow/vector/reader/AbstractColumnReader.java    |    8 +-
 .../cow/vector/reader/ArrayColumnReader.java       |  473 ---
 .../format/cow/vector/reader/ArrayGroupReader.java |   45 -
 .../vector/reader/BaseVectorizedColumnReader.java  |   21 +-
 .../format/cow/vector/reader/MapColumnReader.java  |   55 -
 .../cow/vector/reader/NestedColumnReader.java      |  315 ++
 .../vector/reader/NestedPrimitiveColumnReader.java |  636 ++++
 .../reader/ParquetColumnarRowSplitReader.java      |   34 +-
 .../reader/ParquetDataColumnReaderFactory.java     |  121 +-
 .../format/cow/vector/reader/RowColumnReader.java  |   63 -
 .../table/format/cow/vector/type/ParquetField.java |    0
 .../format/cow/vector/type/ParquetGroupField.java  |    0
 .../cow/vector/type/ParquetPrimitiveField.java     |    0
 .../apache/hudi/adapter/TestHoodieCatalogs.java    |   30 -
 .../cow/vector/TestHeapColumnVectorAccessors.java  |  138 +
 .../cow/vector/TestParquetDecimalVector.java       |  187 +
 .../reader/TestParquetDataColumnReaderFactory.java |  270 ++
 .../cow/vector/type/TestParquetGroupField.java     |  132 +
 .../gcp/transaction/lock/GCSStorageLockClient.java |    8 +-
 .../transaction/lock/TestGCSStorageLockClient.java |    8 +-
 hudi-hadoop-common/pom.xml                         |   44 +
 .../hudi/io/vortex/HoodieBaseVortexWriter.java     |  345 ++
 .../apache/hudi/avro/HoodieAvroWriteSupport.java   |  343 +-
 .../common/config/DFSPropertiesConfiguration.java  |   50 +-
 .../common/table/log/HoodieLogFormatWriter.java    |  291 +-
 .../apache/hudi/common/util/HadoopConfigUtils.java |   34 +-
 .../util/HoodieAvroParquetReaderIterator.java      |    2 +-
 .../org/apache/hudi/common/util/LanceUtils.java    |  210 +
 .../java/org/apache/hudi/common/util/OrcUtils.java |   19 +-
 .../org/apache/hudi/common/util/ParquetUtils.java  |   35 +-
 .../org/apache/hudi/hadoop/fs/HadoopFSUtils.java   |   59 +-
 .../hudi/hadoop/fs/inline/HadoopInLineFSUtils.java |   66 -
 .../hudi/hadoop/fs/inline/InLineFileSystem.java    |   13 +-
 .../hudi/io/hadoop/HoodieBaseParquetWriter.java    |    4 +
 .../apache/hudi/io/hadoop/OrcReaderIterator.java   |    2 +-
 .../hudi/io/lance/HoodieBaseLanceWriter.java       |   22 +-
 .../hadoop/HoodieAvroFileReaderFactory.java        |   30 +-
 .../hadoop/HoodieAvroFileWriterFactory.java        |   35 +-
 .../io/storage/hadoop/HoodieAvroHFileWriter.java   |   38 +-
 .../io/storage/hadoop/HoodieAvroOrcReader.java     |   13 +-
 .../io/storage/hadoop/HoodieAvroOrcWriter.java     |   17 +-
 .../io/storage/hadoop/HoodieAvroParquetReader.java |   31 +-
 .../io/storage/hadoop/HoodieAvroParquetWriter.java |    8 +-
 .../io/storage/hadoop/HoodieHadoopIOFactory.java   |    9 +-
 .../storage/hadoop/HoodieParquetStreamWriter.java  |    2 +-
 .../hadoop/HoodieVariantReconstruction.java        |  190 +
 .../parquet/io/HoodieParquetFileBinaryCopier.java  |    6 +-
 .../hudi/parquet/io/ParquetBinaryCopyChecker.java  |    4 +-
 .../storage/hadoop/HadoopStorageConfiguration.java |    9 +-
 .../org/apache/hudi/tools/TimelineInspector.java   | 2507 ++++++++++++
 .../org/apache/hudi/tools/TimelineInspector.md     |  541 +++
 .../avro/TestHoodieAvroWriteSupportShredding.java  |   71 +
 .../lock/TestInProcessLockProvider.java            |  524 ---
 .../transaction/lock/TestNoopLockProvider.java     |  144 -
 .../index/TestBaseHoodieTableFileIndex.java        |    2 +-
 .../TestExecutorServiceBasedEngineContext.java     |  112 +
 .../engine/TestHoodieLocalEngineContext.java       |   12 +-
 .../org/apache/hudi/common/fs/TestFSUtils.java     |  156 +-
 .../common/fs/TestHoodieWrapperFileSystem.java     |    2 +-
 .../common/fs/inline/TestInLineFileSystem.java     |    6 +-
 .../TestInLineFileSystemWithHFileReader.java       |    2 +-
 .../common/functional/TestHoodieLogFormat.java     |  742 +++-
 .../TestHoodieLogFormatAppendFailure.java          |   26 +-
 .../hudi/common/model/TestHoodieFileGroup.java     |    8 +-
 .../TestFileBasedInternalSchemaStorageManager.java |  121 +
 .../hudi/common/table/TestHoodieTableConfig.java   |   13 +-
 .../common/table/TestHoodieTableMetaClient.java    |   26 +-
 .../hudi/common/table/TestTableSchemaResolver.java |  126 +-
 .../table/log/TestHoodieLogFormatWriter.java       |  180 +
 .../hudi/common/table/log/TestLogReaderUtils.java  |   32 +-
 .../block/TestHoodieLogFormatWriterBuilder.java    |   86 +
 .../log/block/TestHoodieLogWriterBuilder.java      |   85 -
 .../common/table/read/TestCustomRecordMerger.java  |    2 +-
 .../common/table/read/TestEventTimeMerging.java    |    2 +-
 .../TestHoodieFileGroupReaderInflightCommit.java   |    2 +-
 .../read/TestHoodieFileGroupReaderNativeLogs.java  |  392 ++
 .../table/read/TestOverwriteWithLatestMerger.java  |    2 +-
 .../table/timeline/TestArchivedTimelineV1.java     |   27 +-
 .../table/timeline/TestHoodieActiveTimeline.java   |    5 +-
 .../common/table/timeline/TestHoodieInstant.java   |    3 +-
 .../table/timeline/TestWaitBasedTimeGenerator.java |    2 +-
 .../table/view/TestHoodieTableFileSystemView.java  |  120 +-
 .../table/view/TestIncrementalFSViewSync.java      |   25 +-
 .../common/testutils/HoodieCommonTestHarness.java  |   14 +-
 .../hudi/common/testutils/HoodieTestTable.java     |   28 +-
 .../testutils/minicluster/HdfsTestService.java     |    4 +-
 .../reader/HoodieFileGroupReaderTestHarness.java   |   14 +-
 .../testutils/reader/HoodieFileSliceTestUtils.java |  683 ++++
 .../hudi/common/util/TestCompactionUtils.java      |   16 +-
 .../util/TestDFSPropertiesConfiguration.java       |   83 +
 .../hudi/common/util/TestHadoopConfigUtils.java    |   18 -
 .../apache/hudi/common/util/TestMarkerUtils.java   |    1 -
 .../apache/hudi/common/util/TestParquetUtils.java  |    2 +-
 .../hudi/common/util/TestTablePathUtils.java       |   15 +-
 .../common/util/collection/TestBitCaskDiskMap.java |    2 +-
 .../lock/TestInProcessLockProvider.java            |  538 +++
 .../transaction/lock/TestNoopLockProvider.java     |  157 +
 .../TestFileBasedInternalSchemaStorageManager.java |  121 -
 .../io/hadoop/TestHoodieAvroFileReaderFactory.java |   72 +-
 .../io/hadoop/TestHoodieHFileReaderWriter.java     |  162 +-
 .../hudi/io/hadoop/TestHoodieHadoopIOFactory.java  |    7 +-
 .../hudi/io/hadoop/TestHoodieOrcReaderWriter.java  |   43 +-
 .../hudi/io/hadoop/TestHoodieReaderWriterBase.java |   10 +-
 .../TestHoodieNativeAvroHFileReaderCaching.java    |    4 +
 .../TestHoodieAvroParquetConfigInjector.java       |    2 +-
 .../hadoop/TestHoodieVariantReconstruction.java    |   75 +
 .../hudi/metadata/TestHoodieMetadataPayload.java   |    4 +-
 .../hudi/metadata/TestHoodieTableMetadataUtil.java |   25 +-
 .../io/TestHoodieParquetFileBinaryCopier.java      |    2 +-
 .../TestHoodieParquetFileBinaryCopierPrefetch.java |    2 +-
 .../parquet/io/TestParquetBinaryCopyChecker.java   |    2 +-
 .../hadoop/TestHadoopStorageConfiguration.java     |   25 +
 .../apache/hudi/tools/TestTimelineInspector.java   |  789 ++++
 .../apache/parquet/schema/TestSchemaRepair.java    |    1 +
 .../schema/TestSchemaRepairEquivalence.java        |    1 +
 .../BootstrapColumnStichingRecordReader.java       |    2 +-
 .../hudi/hadoop/HiveHoodieReaderContext.java       |   11 +-
 .../hudi/hadoop/HiveHoodieTableFileIndex.java      |    2 +-
 .../org/apache/hudi/hadoop/HiveRecordContext.java  |    7 +-
 .../hadoop/HoodieCopyOnWriteTableInputFormat.java  |    2 +-
 .../HoodieFileGroupReaderBasedRecordReader.java    |    6 +-
 .../hudi/hadoop/HoodieHFileRecordReader.java       |    6 +-
 .../hudi/hadoop/HoodieParquetInputFormat.java      |   10 +-
 .../hudi/hadoop/HoodieROTablePathFilter.java       |    7 +-
 .../hudi/hadoop/HoodieVortexInputFormat.java       |   67 +
 .../org/apache/hudi/hadoop/InputPathHandler.java   |    2 +-
 .../apache/hudi/hadoop/SchemaEvolutionContext.java |  858 ++---
 .../hudi/hadoop/avro/HoodieAvroParquetReader.java  |    6 +-
 .../HoodieTimestampAwareParquetInputFormat.java    |    2 +-
 .../hadoop/hive/HoodieCombineHiveInputFormat.java  |   24 +-
 .../hive/HoodieCombineRealtimeFileSplit.java       |    6 +-
 .../realtime/AbstractRealtimeRecordReader.java     |   10 +-
 .../realtime/HoodieHFileRealtimeInputFormat.java   |    7 +-
 .../HoodieMergeOnReadTableInputFormat.java         |    2 +-
 .../realtime/HoodieParquetRealtimeInputFormat.java |    7 +-
 .../realtime/HoodieRealtimeRecordReader.java       |    2 +-
 .../realtime/HoodieVortexRealtimeInputFormat.java  |   64 +
 .../realtime/RealtimeCompactedRecordReader.java    |   19 +-
 .../apache/hudi/hadoop/realtime/RealtimeSplit.java |   58 +-
 .../realtime/RealtimeUnmergedRecordReader.java     |    2 +-
 .../hudi/hadoop/utils/HiveAvroSerializer.java      |    2 +-
 .../utils/HoodieArrayWritableSchemaUtils.java      |   12 +-
 .../apache/hudi/hadoop/utils/HoodieHiveUtils.java  |   22 +-
 .../hudi/hadoop/utils/HoodieInputFormatUtils.java  |   58 +-
 .../utils/HoodieRealtimeInputFormatUtils.java      |    4 +-
 .../utils/HoodieRealtimeRecordReaderUtils.java     |    6 +-
 .../apache/hudi/hadoop/utils/InputSplitUtils.java  |   49 -
 .../hudi/hadoop/TestHoodieROTablePathFilter.java   |    4 +-
 .../apache/hudi/hadoop/TestInputPathHandler.java   |   14 +
 .../hive/TestHoodieCombineHiveInputFormat.java     |    8 +-
 .../TestHoodieMergeOnReadTableInputFormat.java     |    2 +-
 .../realtime/TestHoodieRealtimeRecordReader.java   |   15 +-
 .../hudi/hadoop/testutils/InputFormatTestUtil.java |   29 +-
 .../hudi/hadoop/utils/TestHiveAvroSerializer.java  |    2 +-
 .../utils/TestHoodieArrayWritableSchemaUtils.java  |    4 +-
 hudi-integ-test/pom.xml                            |   48 +-
 .../testsuite/HoodieContinuousTestSuiteWriter.java |    3 +-
 .../testsuite/HoodieMultiWriterTestSuiteJob.java   |    3 +-
 .../SparkDataSourceContinuousIngestTool.java       |    3 +-
 .../hudi/integ/testsuite/converter/Converter.java  |    3 +-
 .../hudi/integ/testsuite/dag/WorkflowDag.java      |    4 +-
 .../GenericRecordFullPayloadSizeEstimator.java     |    8 +-
 .../generator/LazyRecordGeneratorIterator.java     |    6 +-
 .../helpers/DFSTestSuitePathSelector.java          |    7 +-
 .../helpers/ZookeeperServiceProvider.java          |    5 +-
 .../testsuite/reader/DFSAvroDeltaInputReader.java  |   11 +-
 .../testsuite/reader/DFSDeltaInputReader.java      |   15 +-
 .../reader/DFSHoodieDatasetInputReader.java        |    6 +-
 .../integ/testsuite/reader/DeltaInputReader.java   |    3 +-
 .../testsuite/writer/DFSSparkAvroDeltaWriter.java  |    6 +-
 .../integ/testsuite/writer/DeltaWriterAdapter.java |    3 +-
 .../writer/SparkAvroDeltaInputWriter.java          |    6 +-
 .../integ/command/ITTestHoodieSyncCommand.java     |    1 -
 .../integ/testsuite/TestFileDeltaInputWriter.java  |   33 +-
 .../testsuite/converter/TestUpdateConverter.java   |   16 +-
 .../integ/testsuite/dag/ComplexDagGenerator.java   |   10 +-
 .../integ/testsuite/dag/HiveSyncDagGenerator.java  |   11 +-
 .../testsuite/dag/HiveSyncDagGeneratorMOR.java     |   11 +-
 .../TestGenericRecordPayloadGenerator.java         |   16 +-
 .../reader/TestDFSAvroDeltaInputReader.java        |   17 +-
 .../hudi/integ/testsuite/utils/TestUtils.java      |    6 +-
 .../integ2/testcontainers/ContainerProvider.java   |   37 +
 .../testcontainers/ITTestBaseTestcontainers.java   |  236 ++
 .../testcontainers/ITTestCustomTypeHiveSync.java   |  266 ++
 .../testcontainers/TestcontainersConfig.java       |  110 +
 .../testcontainers/command/CommandExecutor.java    |   87 +
 .../testcontainers/command/CommandResult.java      |  137 +
 .../integ2/testcontainers/service/HiveService.java |   72 +
 .../testcontainers/service/SparkService.java       |   71 +
 hudi-io/pom.xml                                    |    2 +-
 .../src/main/java/org/apache/hudi/CompatAlias.java |   49 +
 .../org/apache/hudi/common/metrics/Registry.java   |    5 +-
 .../apache/hudi/common/util/ReflectionUtils.java   |    4 +-
 .../org/apache/hudi/common/util/StringUtils.java   |   42 +-
 .../apache/hudi/common/util/ValidationUtils.java   |    4 +-
 .../org/apache/hudi/io/hfile/HFileByteUtils.java   |   88 +
 .../org/apache/hudi/io/hfile/HFileDataBlock.java   |    6 +-
 .../org/apache/hudi/io/hfile/HFileReaderImpl.java  |    2 +-
 .../java/org/apache/hudi/io/hfile/HFileUtils.java  |   88 -
 .../main/java/org/apache/hudi/io/hfile/Key.java    |    2 +-
 .../main/java/org/apache/hudi/io/util/IOUtils.java |   16 -
 .../apache/hudi/common/util/TestStringUtils.java   |   15 +
 .../hudi/common/util/TestValidationUtils.java      |   53 +
 .../hudi/io/hfile/TestHFileCompatibility.java      |    4 +-
 .../hudi/io/hfile/TestHFileMultiBlockScan.java     |   94 +
 .../hudi/io/hfile/TestHFileReadCompatibility.java  |    4 +-
 .../org/apache/hudi/io/hfile/TestHFileReader.java  |    2 +-
 .../hudi/io/storage/TestHoodieStorageBase.java     |    4 +-
 .../apache/hudi/io/util/TestHFileByteUtils.java    |   44 +
 .../org/apache/hudi/io/util/TestHFileUtils.java    |   44 -
 hudi-kafka-connect/pom.xml                         |    1 -
 .../connect/writers/AbstractConnectWriter.java     |   25 +-
 .../connect/writers/BufferedConnectWriter.java     |    9 +-
 .../hudi/writers/TestAbstractConnectWriter.java    |    2 +-
 hudi-lakehouse/.gitignore                          |    5 +
 hudi-lakehouse/README.md                           |  128 +
 .../charts/hudi-agent-gateway/Chart.yaml           |   34 +
 .../charts/hudi-agent-gateway/templates/NOTES.txt  |   46 +
 .../hudi-agent-gateway/templates/_helpers.tpl      |   52 +
 .../hudi-agent-gateway/templates/deployment.yaml   |  135 +
 .../hudi-agent-gateway/templates/secret.yaml       |   35 +
 .../hudi-agent-gateway/templates/service.yaml      |   29 +
 .../hudi-agent-gateway/values-local-dev.yaml       |   41 +
 .../charts/hudi-agent-gateway/values.yaml          |   94 +
 hudi-lakehouse/charts/hudi-trino/.helmignore       |   24 +
 hudi-lakehouse/charts/hudi-trino/Chart.yaml        |   32 +
 .../charts/hudi-trino/templates/NOTES.txt          |   32 +
 .../charts/hudi-trino/templates/_helpers.tpl       |   52 +
 .../hudi-trino/templates/configmap-catalog.yaml    |   58 +
 .../charts/hudi-trino/templates/deployment.yaml    |   90 +
 .../charts/hudi-trino/templates/secret.yaml        |   28 +
 .../charts/hudi-trino/templates/service.yaml       |   29 +
 .../charts/hudi-trino/values-local-dev.yaml        |   41 +
 hudi-lakehouse/charts/hudi-trino/values.yaml       |   83 +
 hudi-lakehouse/charts/vllm/Chart.yaml              |   32 +
 hudi-lakehouse/charts/vllm/templates/NOTES.txt     |   32 +
 hudi-lakehouse/charts/vllm/templates/_helpers.tpl  |   43 +
 .../charts/vllm/templates/deployment.yaml          |  102 +
 hudi-lakehouse/charts/vllm/templates/pvc.yaml      |   31 +
 hudi-lakehouse/charts/vllm/templates/service.yaml  |   29 +
 hudi-lakehouse/charts/vllm/values.yaml             |   86 +
 hudi-lakehouse/images/spark/Dockerfile             |   42 +
 hudi-lakehouse/images/trino/Dockerfile             |   33 +
 hudi-lakehouse/local-dev/README.md                 |   71 +
 hudi-lakehouse/local-dev/example/README.md         |   55 +
 .../local-dev/example/hudi_table_writer.py         |   87 +
 hudi-lakehouse/local-dev/example/spark-app.yaml    |   61 +
 .../local-dev/manifests/hive-metastore.yaml        |  196 +
 .../local-dev/manifests/minio-bucket-job.yaml      |   45 +
 hudi-lakehouse/local-dev/manifests/minio.yaml      |   96 +
 hudi-lakehouse/local-dev/manifests/namespace.yaml  |   21 +
 hudi-lakehouse/local-dev/scripts/down.sh           |   29 +
 hudi-lakehouse/local-dev/scripts/run-example.sh    |   90 +
 hudi-lakehouse/local-dev/scripts/smoke-test.sh     |   46 +
 hudi-lakehouse/local-dev/scripts/up.sh             |   96 +
 hudi-lakehouse/scripts/build-images.sh             |   86 +
 hudi-lakehouse/scripts/build-jars.sh               |   63 +
 hudi-lakehouse/scripts/quickstart.sh               |  165 +
 hudi-notebooks/Dockerfile.hive                     |    1 +
 hudi-notebooks/Dockerfile.presto                   |    3 +
 hudi-notebooks/Dockerfile.spark                    |    6 +-
 hudi-notebooks/Dockerfile.spark4                   |   73 +
 hudi-notebooks/README.md                           |   17 +-
 hudi-notebooks/build.sh                            |   36 +-
 hudi-notebooks/conf/hadoop/core-site.xml           |   59 +
 hudi-notebooks/conf/hive/metastore-site.xml        |   20 -
 hudi-notebooks/conf/spark/spark-defaults.conf      |   10 +-
 hudi-notebooks/conf/spark4/hudi-defaults.conf      |   22 +
 hudi-notebooks/conf/spark4/spark-defaults.conf     |   27 +
 hudi-notebooks/docker-compose.yml                  |   26 +
 .../notebooks/03-scd-type2_and_type4.ipynb         |  511 ---
 .../notebooks/05-mastering-sql-procedures.ipynb    | 1305 -------
 .../notebooks/06_hudi_trino_example.ipynb          |  325 --
 .../notebooks/07_hudi_presto_example.ipynb         |  325 --
 .../{ => common}/01-crud-operations.ipynb          |    0
 .../notebooks/{ => common}/02-query-types.ipynb    |    0
 .../notebooks/common/03-scd-type2_and_type4.ipynb  |  493 +++
 .../{ => common}/04-schema-evolution.ipynb         |    0
 .../common/05-mastering-sql-procedures.ipynb       | 1303 +++++++
 .../notebooks/common/06_hudi_trino_example.ipynb   |  316 ++
 .../notebooks/common/07_hudi_presto_example.ipynb  |  316 ++
 .../common/images/Hudi_SQL_Procedures.jpg          |  Bin 0 -> 225804 bytes
 .../notebooks/common/images/Spark_Hudi.jpg         |  Bin 0 -> 139339 bytes
 .../common/images/hudi_1_2_0_features.jpg          |  Bin 0 -> 153510 bytes
 .../notebooks/images/Hudi_SQL_Procedures.png       |  Bin 517763 -> 0 bytes
 hudi-notebooks/notebooks/images/Spark_Hudi.png     |  Bin 418538 -> 0 bytes
 hudi-notebooks/notebooks/spark3/utils.py           |  198 +
 .../notebooks/spark4/08_hudi_rs_example.ipynb      |  302 ++
 .../notebooks/spark4/09_hudi_1_2_0_features.ipynb  | 4017 ++++++++++++++++++++
 hudi-notebooks/notebooks/spark4/utils.py           |  278 ++
 hudi-notebooks/notebooks/utils.py                  |  174 -
 hudi-notebooks/requirements-spark4.txt             |   23 +
 hudi-platform-service/hudi-metaserver/pom.xml      |    2 +-
 hudi-spark-datasource/README.md                    |    2 +
 hudi-spark-datasource/hudi-spark-common/pom.xml    |   44 +
 .../SparkStreamingAsyncClusteringService.java      |    1 -
 .../async/SparkStreamingAsyncCompactService.java   |    1 -
 .../BaseDatasetBulkInsertCommitActionExecutor.java |   89 +
 ...setBulkInsertOverwriteCommitActionExecutor.java |   44 +
 ...lkInsertOverwriteTableCommitActionExecutor.java |   11 +
 .../datasources/vortex/SparkVortexReaderBase.scala |  203 +
 .../apache/hudi/BaseHoodiePartitionValues.scala    |  108 +
 .../org/apache/hudi/BloomFiltersIndexSupport.scala |    1 +
 .../scala/org/apache/hudi/BucketIndexSupport.scala |    5 +-
 .../org/apache/hudi/ColumnStatsIndexSupport.scala  |    5 +-
 .../scala/org/apache/hudi/DataSourceOptions.scala  |   88 +-
 .../main/scala/org/apache/hudi/DefaultSource.scala |   41 +-
 .../org/apache/hudi/ExpressionIndexSupport.scala   |    7 +-
 .../hudi/GlobalRecordLevelIndexSupport.scala       |   53 +
 .../scala/org/apache/hudi/HoodieBaseRelation.scala |   13 +-
 .../scala/org/apache/hudi/HoodieCLIUtils.scala     |   60 +-
 .../org/apache/hudi/HoodieCreateRecordUtils.scala  |   47 +-
 .../scala/org/apache/hudi/HoodieFileIndex.scala    |   12 +-
 .../scala/org/apache/hudi/HoodieFileScanRDD.scala  |   36 +
 .../hudi/HoodieHadoopFsRelationFactory.scala       |    4 +-
 .../org/apache/hudi/HoodieMergeOnReadRDDV2.scala   |   62 +-
 .../scala/org/apache/hudi/HoodieSchemaUtils.scala  |   16 +-
 .../org/apache/hudi/HoodieSparkSqlWriter.scala     |   21 +-
 .../scala/org/apache/hudi/HoodieWriterUtils.scala  |    8 +-
 .../org/apache/hudi/IncrementalRelationV1.scala    |    7 +-
 .../org/apache/hudi/IncrementalRelationV2.scala    |    7 +-
 .../apache/hudi/PartitionBucketIndexSupport.scala  |    3 +-
 .../apache/hudi/PartitionDirectoryConverter.scala  |    8 +-
 .../apache/hudi/PartitionStatsIndexSupport.scala   |    1 +
 .../hudi/PartitionedRecordLevelIndexSupport.scala  |  120 +
 .../org/apache/hudi/RecordLevelIndexSupport.scala  |  117 +-
 .../org/apache/hudi/SecondaryIndexSupport.scala    |    3 +-
 .../org/apache/hudi/SparkBaseIndexSupport.scala    |    1 +
 .../scala/org/apache/hudi/SparkFilterHelper.scala  |    6 +-
 .../apache/hudi/SparkHoodieTableFileIndex.scala    |    7 +-
 .../org/apache/hudi/cdc/CDCFileGroupIterator.scala |  211 +-
 .../hudi/metadata/CatalogBackedTableMetadata.scala |    7 +-
 .../spark/HoodieSparkInputMetricsUtils.scala       |   40 +
 .../sql/BaseHoodieCatalystExpressionUtils.scala    |  114 +
 .../spark/sql/BaseHoodieCatalystPlanUtils.scala    |   82 +-
 .../sql/HoodieSpark3CatalystExpressionUtils.scala  |   37 -
 .../org/apache/spark/sql/avro/AvroUtils.scala      |  188 +
 .../sql/catalyst/catalog/HoodieCatalogTable.scala  |    3 +-
 .../HoodieVectorSearchTableValuedFunction.scala    |   90 +-
 .../BaseHoodieNestedSchemaPruning.scala            |  171 -
 .../datasources/HoodieNestedSchemaPruning.scala    |  206 +
 .../datasources/lance/SparkLanceReaderBase.scala   |   42 +-
 .../datasources/orc/SparkOrcReaderBase.scala       |   78 +-
 .../HoodieFileGroupReaderBasedFileFormat.scala     |   24 +-
 .../parquet/ParquetSchemaEvolutionUtils.scala      |    8 +-
 .../parquet/SparkParquetReaderBase.scala           |    2 +-
 .../hudi/BaseResolveHudiAlterTableCommand.scala    |   72 +
 .../apache/spark/sql/hudi/HoodieOptionConfig.scala |    2 +-
 .../hudi/analysis/HoodieSparkBaseAnalysis.scala    |   15 +-
 .../analysis/HoodieVectorSearchPlanBuilder.scala   |   74 +-
 .../spark/sql/hudi/blob/BatchedBlobReader.scala    |    3 +-
 .../spark/sql/hudi/catalog/BasicStagedTable.scala  |    2 +-
 .../spark/sql/hudi/catalog/HoodieCatalog.scala     |   20 +-
 .../spark/sql/hudi/command/AlterTableCommand.scala |   12 +-
 .../sql/hudi/command/DropHoodieTableCommand.scala  |    3 +-
 .../hudi/command/TruncateHoodieTableCommand.scala  |    3 +-
 .../hudi/command/payload/ExpressionPayload.scala   |   16 +-
 .../sql/hudi/streaming/HoodieStreamSourceV2.scala  |    2 +-
 .../org/apache/hudi/TestHoodieSchemaUtils.java     |   19 +
 .../hudi/testutils/LogFileColStatsTestUtil.java    |    2 +-
 .../org/apache/hudi/TestDataSourceOptions.scala    |  131 +-
 .../scala/org/apache/hudi/TestHoodieCLIUtils.scala |  104 +
 .../cdc/TestInternalRowToJsonStringConverter.scala |    2 +-
 ...stSparkFileFormatInternalRowReaderContext.scala |   26 +-
 .../sql/hudi/catalog/TestBasicStagedTable.scala    |   52 +
 hudi-spark-datasource/hudi-spark/pom.xml           |   43 +
 .../SparkFullBootstrapDataProviderBase.java        |    2 +-
 .../org/apache/hudi/cli/ArchiveExecutorUtils.java  |   17 +-
 .../java/org/apache/hudi/cli/SchemaProvider.java   |    2 +-
 .../org/apache/spark/sql/hudi/SparkHelpers.scala   |    2 +-
 .../spark/sql/hudi/analysis/HoodieAnalysis.scala   |   84 +-
 .../spark/sql/hudi/command/IndexCommands.scala     |    2 +-
 .../procedures/ArchiveCommitsProcedure.scala       |   99 +-
 .../procedures/ExportInstantsProcedure.scala       |   29 +-
 .../command/procedures/HoodieProcedureUtils.scala  |    3 +-
 .../hudi/command/procedures/HoodieProcedures.scala |    2 +
 .../procedures/PartitionBucketIndexManager.scala   |   10 +-
 .../procedures/ProcedureParameterImpl.scala        |    5 +-
 .../procedures/RepairClusteringPlanProcedure.scala |  378 ++
 .../procedures/RepairDeduplicateProcedure.scala    |    2 +-
 .../procedures/RepairOrphanFilesProcedure.scala    |  337 ++
 .../procedures/RunCompactionProcedure.scala        |   12 +-
 .../RunTimelineCompactionProcedure.scala           |    2 +-
 .../ShowHoodieLogFileMetadataProcedure.scala       |    7 +-
 .../ShowHoodieLogFileRecordsProcedure.scala        |    6 +-
 .../procedures/ShowInvalidParquetProcedure.scala   |    7 +-
 .../ShowMetadataTablePartitionsProcedure.scala     |    2 +-
 .../procedures/TruncateTableProcedure.scala        |    3 +-
 .../storage/TestVortexReaderWriterRoundTrip.java   |  141 +
 .../org/apache/hudi/ColumnStatsIndexHelper.java    |    4 +-
 .../apache/hudi/TestDataSourceReadWithDeletes.java |    2 +-
 .../java/org/apache/hudi/TestDataSourceUtils.java  |    6 +-
 .../hudi/client/TestHoodieClientMultiWriter.java   |  162 +-
 .../TestMultiWriterWithPreferWriterIngestion.java  |    2 +-
 .../hudi/client/TestTableSchemaEvolution.java      |    2 +-
 ...DataValidationCheckForLogCompactionActions.java |    8 +-
 .../TestHoodieClientOnCopyOnWriteStorage.java      |   61 +-
 .../TestHoodieClientOnMergeOnReadStorage.java      |    2 +-
 .../TestMetadataUtilRLIandSIRecordGeneration.java  |   14 +-
 .../hudi/client/model/TestHoodieInternalRow.java   |    1 +
 .../hudi/functional/TestBufferedRecordMerger.java  |   13 +-
 .../TestColStatsRecordWithMetadataRecord.java      |   12 +-
 .../hudi/functional/TestHoodieBackedMetadata.java  |   52 +-
 .../apache/hudi/functional/TestHoodieIndex.java    |    3 +-
 .../TestSavepointRestoreMergeOnRead.java           |    2 +-
 ...SparkBinaryCopyClusteringAndValidationMeta.java |    4 +-
 .../TestSparkConsistentBucketClustering.java       |   38 +-
 .../functional/TestSparkSortAndSizeClustering.java |    4 +-
 .../java/org/apache/hudi/io/TestAppendHandle.java  |    2 +-
 .../java/org/apache/hudi/io/TestMergeHandle.java   |   41 +-
 .../apache/hudi/io/TestMetadataWriterCommit.java   |   14 +-
 .../storage/TestHoodieParquetConfigInjector.java   |    4 +-
 .../io/storage/TestHoodieSparkLanceWriter.java     |  149 +
 .../row/TestHoodieInternalRowParquetWriter.java    |    2 +-
 .../hudi/table/TestHoodieMergeOnReadTable.java     |   17 +-
 .../action/cluster/TestIncrementalClustering.java  |    4 +-
 .../table/action/compact/TestHoodieCompactor.java  |    4 +-
 .../TestCopyOnWriteRollbackActionExecutor.java     |    2 +-
 .../TestMergeOnReadRollbackActionExecutor.java     |  235 ++
 .../TestHoodieSparkMergeOnReadTableCompaction.java |    2 +-
 ...dieSparkMergeOnReadTableInsertUpdateDelete.java |   10 +-
 .../table/functional/TestHoodieSparkRollback.java  |    2 +-
 .../TestSparkNonBlockingConcurrencyControl.java    |   11 +-
 .../hudi/table/upgrade/TestUpgradeDowngrade.java   |   97 +-
 .../apache/hudi/testutils/DataSourceTestUtils.java |    2 +-
 ...or-bootstrap1-column-stats-index-table-v10.json |    4 +
 ...or-bootstrap2-column-stats-index-table-v10.json |    6 +
 .../TestIncrementalQueryWithArchivedInstants.scala |    2 +-
 .../org/apache/hudi/TestAvroConversionUtils.scala  |    2 +-
 .../org/apache/hudi/TestDataSourceDefaults.scala   |    2 +-
 .../apache/hudi/TestHoodieCreateRecordUtils.scala  |  291 ++
 .../hudi/TestHoodieSchemaConversionUtils.scala     |    2 +-
 .../org/apache/hudi/TestHoodieSparkSqlWriter.scala |   35 +-
 .../hudi/TestParquetReaderCompatibility.scala      |    5 +-
 .../hudi/TestPartitionDirectoryConverter.scala     |   34 +-
 .../org/apache/hudi/TestSparkFilterHelper.scala    |   14 +-
 .../hudi/TestTableSchemaResolverWithSparkSQL.scala |    2 +-
 .../read/TestHoodieFileGroupReaderOnSpark.scala    |    6 +-
 .../hudi/functional/ColumnStatIndexTestBase.scala  |   15 +
 .../hudi/functional/RecordLevelIndexTestBase.scala |    3 +-
 .../apache/hudi/functional/TestCOWDataSource.scala |   36 +-
 .../hudi/functional/TestColumnStatsIndex.scala     |    5 +
 .../functional/TestColumnStatsIndexWithSQL.scala   |    2 +-
 .../hudi/functional/TestEightToNineUpgrade.scala   |    1 +
 .../functional/TestGlobalRecordLevelIndex.scala    |    4 +-
 ...TestGlobalRecordLevelIndexTableVersionSix.scala |   36 +-
 .../TestGlobalRecordLevelIndexWithSQL.scala        |   65 +-
 .../TestHoodieVectorSearchFunction.scala           |  520 ++-
 .../hudi/functional/TestLanceDataSource.scala      |  672 +++-
 .../functional/TestLegacyParquetReadPath.scala     |  473 +++
 .../hudi/functional/TestMORDataSourceStorage.scala |   41 +-
 .../TestMetadataTableWithSparkDataSource.scala     |    6 +-
 .../functional/TestMetadataTableWithSparkSQL.scala |  311 ++
 .../hudi/functional/TestMetricsReporter.scala      |    2 +-
 .../TestPartitionBucketIndexSupport.scala          |    3 +-
 .../hudi/functional/TestPartitionStatsIndex.scala  |   21 +-
 .../functional/TestPayloadDeprecationFlow.scala    |   97 +-
 .../hudi/functional/TestRecordLevelIndex.scala     |  255 +-
 .../functional/TestRecordLevelIndexWithSQL.scala   |   84 +
 .../functional/TestSecondaryIndexPruning.scala     |    2 +-
 .../hudi/functional/TestSevenToEightUpgrade.scala  |    9 +-
 .../hudi/functional/TestStreamingSource.scala      |   66 +-
 .../hudi/functional/TestStructuredStreaming.scala  |   48 +-
 .../hudi/functional/cdc/HoodieCDCTestBase.scala    |   18 +-
 .../functional/cdc/TestCDCDataFrameSuite.scala     |  125 +-
 .../functional/cdc/TestCDCStreamingSuite.scala     |    4 +-
 .../util/TestSparkInternalSchemaConverter.scala    |    2 +-
 .../spark/sql/avro/TestSchemaConverters.scala      |    2 +-
 .../benchmark/LSMTimelineReadBenchmark.scala       |    2 +-
 .../analysis/TestHoodieAnalysisErrorHandling.scala |  196 +
 .../catalog/TestHoodieCatalogStagedTable.scala     |  112 +
 .../sql/hudi/common/HoodieSparkSqlTestBase.scala   |   28 +-
 .../hudi/common/TestHoodieInternalRowUtils.scala   |   10 +-
 .../apache/spark/sql/hudi/common/TestSqlConf.scala |    3 +-
 .../spark/sql/hudi/ddl/TestCreateTable.scala       |   53 +-
 .../apache/spark/sql/hudi/ddl/TestSpark3DDL.scala  |    2 +-
 .../sql/hudi/dml/others/TestMergeIntoTable.scala   |   11 +-
 .../sql/hudi/dml/others/TestMergeIntoTable2.scala  |    4 +-
 .../others/TestMergeModeCommitTimeOrdering.scala   |    3 +-
 .../others/TestMergeModeEventTimeOrdering.scala    |   12 +-
 .../dml/others/TestPartialUpdateForMergeInto.scala |   45 +-
 .../sql/hudi/dml/schema/TestVariantDataType.scala  |  176 +-
 .../sql/hudi/feature/TestDataSkippingQuery.scala   |   62 +
 .../hudi/feature/index/TestExpressionIndex.scala   |    6 +-
 .../sql/hudi/feature/index/TestIndexSyntax.scala   |    7 +-
 .../hudi/feature/index/TestSecondaryIndex.scala    |   22 +-
 .../procedure/TestArchiveCommitsProcedure.scala    |  147 +-
 .../procedure/TestClusteringWithCustomMerger.scala |  133 +
 .../hudi/procedure/TestCompactionProcedure.scala   |   54 +-
 .../procedure/TestExportInstantsProcedure.scala    |  122 +-
 .../procedure/TestHdfsParquetImportProcedure.scala |    3 +-
 .../TestRepairClusteringPlanProcedure.scala        |  185 +
 .../procedure/TestRepairOrphanFilesProcedure.scala |  256 ++
 .../procedure/TestShowTimelineTableProcedure.scala |   10 +-
 .../apache/hudi/Spark3HoodiePartitionValues.scala  |   81 +-
 .../spark/sql/HoodieSpark3CatalystPlanUtils.scala  |   44 +
 .../apache/spark/sql/HoodieSpark3SchemaUtils.scala |   39 +
 .../spark/sql/adapter/BaseSpark3Adapter.scala      |   12 +-
 .../apache/spark/sql/avro/AvroDeserializer.scala   |  536 +++
 .../org/apache/spark/sql/avro/AvroSerializer.scala |  495 +++
 .../Spark3LegacyHoodieParquetFileFormat.scala      |  480 +++
 .../hudi/Spark3ResolveHudiAlterTableCommand.scala  |   43 +
 .../hudi/command/DeleteHoodieTableCommand.scala    |    5 +-
 .../hudi/command/MergeIntoHoodieTableCommand.scala |    2 +-
 .../org/apache/hudi/Spark33HoodieFileScanRDD.scala |   36 -
 .../sql/HoodieSpark33CatalystExpressionUtils.scala |   81 +-
 .../spark/sql/HoodieSpark33CatalystPlanUtils.scala |  103 +-
 .../spark/sql/HoodieSpark33SchemaUtils.scala       |   14 +-
 .../apache/spark/sql/adapter/Spark3_3Adapter.scala |   23 +-
 .../apache/spark/sql/avro/AvroDeserializer.scala   |  531 ---
 .../org/apache/spark/sql/avro/AvroSerializer.scala |  490 ---
 .../org/apache/spark/sql/avro/AvroUtils.scala      |  227 --
 .../datasources/Spark33NestedSchemaPruning.scala   |   62 -
 .../datasources/orc/Spark33OrcReader.scala         |   85 -
 .../parquet/Spark33DataSourceUtils.scala           |   77 -
 .../Spark33LegacyHoodieParquetFileFormat.scala     |  460 +--
 .../datasources/parquet/Spark33ParquetReader.scala |    2 +-
 .../hudi/Spark33ResolveHudiAlterTableCommand.scala |   67 -
 .../org/apache/hudi/Spark34HoodieFileScanRDD.scala |   36 -
 .../sql/HoodieSpark34CatalystExpressionUtils.scala |   81 +-
 .../spark/sql/HoodieSpark34CatalystPlanUtils.scala |   94 +-
 .../spark/sql/HoodieSpark34SchemaUtils.scala       |   14 +-
 .../apache/spark/sql/adapter/Spark3_4Adapter.scala |   24 +-
 .../apache/spark/sql/avro/AvroDeserializer.scala   |  531 ---
 .../org/apache/spark/sql/avro/AvroSerializer.scala |  490 ---
 .../org/apache/spark/sql/avro/AvroUtils.scala      |  227 --
 .../datasources/Spark34NestedSchemaPruning.scala   |   62 -
 .../datasources/orc/Spark34OrcReader.scala         |   91 -
 .../parquet/Spark34DataSourceUtils.scala           |   77 -
 .../Spark34LegacyHoodieParquetFileFormat.scala     |  438 +--
 .../datasources/parquet/Spark34ParquetReader.scala |    2 +-
 .../hudi/Spark34ResolveHudiAlterTableCommand.scala |   67 -
 .../org/apache/hudi/Spark35HoodieFileScanRDD.scala |   36 -
 .../sql/HoodieSpark35CatalystExpressionUtils.scala |   81 +-
 .../spark/sql/HoodieSpark35CatalystPlanUtils.scala |  103 +-
 .../spark/sql/HoodieSpark35SchemaUtils.scala       |   16 +-
 .../apache/spark/sql/adapter/Spark3_5Adapter.scala |   25 +-
 .../apache/spark/sql/avro/AvroDeserializer.scala   |  531 ---
 .../org/apache/spark/sql/avro/AvroSerializer.scala |  489 ---
 .../org/apache/spark/sql/avro/AvroUtils.scala      |  227 --
 .../datasources/Spark35NestedSchemaPruning.scala   |   61 -
 .../datasources/orc/Spark35OrcReader.scala         |   92 -
 .../parquet/Spark35DataSourceUtils.scala           |   76 -
 .../Spark35LegacyHoodieParquetFileFormat.scala     |  439 +--
 .../datasources/parquet/Spark35ParquetReader.scala |    2 +-
 .../hudi/Spark35ResolveHudiAlterTableCommand.scala |   67 -
 .../variant/Spark4VariantShreddingProvider.java    |  667 ++++
 .../Spark4HoodiePartitionCDCFileGroupMapping.scala |   35 +
 .../Spark4HoodiePartitionFileSliceMapping.scala    |   41 +
 .../apache/hudi/Spark4HoodiePartitionValues.scala  |   37 +
 .../client/model/Spark4HoodieInternalRow.scala     |   55 +
 .../sql/HoodieSpark4CatalystExpressionUtils.scala  |   45 +-
 .../spark/sql/HoodieSpark4CatalystPlanUtils.scala  |   66 +
 .../apache/spark/sql/HoodieSpark4SchemaUtils.scala |   52 +
 .../spark/sql/adapter/BaseSpark4Adapter.scala      |   48 +-
 .../HoodieSpark4PartitionedFileUtils.scala         |   68 +
 .../hudi/Spark4ResolveHudiAlterTableCommand.scala  |   37 +
 .../sql/hudi/analysis/HoodieSpark4Analysis.scala   |  153 +
 .../hudi/command/DeleteHoodieTableCommand.scala    |    5 +-
 .../TestHoodieVariantReconstructionRoundTrip.java  |  113 +
 .../TestSpark4VariantShreddingProvider.java        |  118 +
 .../org/apache/hudi/Spark40HoodieFileScanRDD.scala |   36 -
 ...Spark40HoodiePartitionCDCFileGroupMapping.scala |   11 +-
 .../Spark40HoodiePartitionFileSliceMapping.scala   |   11 +-
 .../apache/hudi/Spark40HoodiePartitionValues.scala |   85 +-
 .../client/model/Spark40HoodieInternalRow.scala    |   25 +-
 .../sql/HoodieSpark40CatalystExpressionUtils.scala |   99 +-
 .../spark/sql/HoodieSpark40CatalystPlanUtils.scala |  123 +-
 .../spark/sql/HoodieSpark40SchemaUtils.scala       |   31 +-
 .../apache/spark/sql/adapter/Spark4_0Adapter.scala |   40 +-
 .../org/apache/spark/sql/avro/AvroUtils.scala      |  227 --
 .../HoodieSpark40PartitionedFileUtils.scala        |   68 -
 .../datasources/Spark40NestedSchemaPruning.scala   |   61 -
 .../datasources/orc/Spark40OrcReader.scala         |   92 -
 .../parquet/Spark40DataSourceUtils.scala           |   76 -
 .../parquet/Spark40HoodieParquetReadSupport.scala  |    2 +-
 .../Spark40LegacyHoodieParquetFileFormat.scala     |    8 +-
 .../datasources/parquet/Spark40ParquetReader.scala |    2 +-
 .../hudi/Spark40ResolveHudiAlterTableCommand.scala |   68 -
 .../sql/hudi/analysis/HoodieSpark40Analysis.scala  |  129 +-
 .../org/apache/hudi/Spark41HoodieFileScanRDD.scala |   36 -
 ...Spark41HoodiePartitionCDCFileGroupMapping.scala |    9 +-
 .../Spark41HoodiePartitionFileSliceMapping.scala   |   11 +-
 .../apache/hudi/Spark41HoodiePartitionValues.scala |   86 +-
 .../client/model/Spark41HoodieInternalRow.scala    |   19 +-
 .../sql/HoodieSpark41CatalystExpressionUtils.scala |   99 +-
 .../spark/sql/HoodieSpark41CatalystPlanUtils.scala |  123 +-
 .../spark/sql/HoodieSpark41SchemaUtils.scala       |   31 +-
 .../apache/spark/sql/adapter/Spark4_1Adapter.scala |   41 +-
 .../org/apache/spark/sql/avro/AvroUtils.scala      |  227 --
 .../HoodieSpark41PartitionedFileUtils.scala        |   68 -
 .../datasources/Spark41NestedSchemaPruning.scala   |   61 -
 .../datasources/orc/Spark41OrcReader.scala         |   92 -
 .../parquet/Spark41DataSourceUtils.scala           |   76 -
 .../Spark41LegacyHoodieParquetFileFormat.scala     |    8 +-
 .../datasources/parquet/Spark41ParquetReader.scala |    2 +-
 .../hudi/Spark41ResolveHudiAlterTableCommand.scala |   68 -
 .../sql/hudi/analysis/HoodieSpark41Analysis.scala  |  128 +-
 hudi-spark-datasource/hudi-spark4.2.x/pom.xml      |  325 ++
 .../src/main/antlr4/imports/SqlBase.g4             |    0
 .../apache/hudi/spark/sql/parser/HoodieSqlBase.g4  |    0
 ...Spark42HoodiePartitionCDCFileGroupMapping.scala |   29 +
 .../Spark42HoodiePartitionFileSliceMapping.scala   |   29 +
 .../apache/hudi/Spark42HoodiePartitionValues.scala |   35 +
 .../client/model/Spark42HoodieInternalRow.scala    |   40 +
 .../sql/HoodieSpark42CatalystExpressionUtils.scala |   20 +
 .../spark/sql/HoodieSpark42CatalystPlanUtils.scala |   40 +
 .../spark/sql/HoodieSpark42SchemaUtils.scala       |   25 +
 .../apache/spark/sql/adapter/Spark4_2Adapter.scala |  296 ++
 .../apache/spark/sql/avro/AvroDeserializer.scala   |  614 +++
 .../org/apache/spark/sql/avro/AvroSerializer.scala |    0
 .../sql/avro/HoodieSpark4_2AvroDeserializer.scala  |   31 +
 .../sql/avro/HoodieSpark4_2AvroSerializer.scala    |   29 +
 .../Spark42LegacyHoodieParquetFileFormat.scala     |  475 +++
 .../datasources/parquet/Spark42ParquetReader.scala |  388 ++
 .../sql/hudi/analysis/HoodieSpark42Analysis.scala  |  114 +
 .../HoodieSpark4_2ExtendedSqlAstBuilder.scala      | 3567 +++++++++++++++++
 .../parser/HoodieSpark4_2ExtendedSqlParser.scala   |  214 ++
 .../hudi/TestHoodieStreamingSinkConstants.scala    |    0
 .../hudi/TestSpark4_2AvroLogicalTypeBytes.scala    |  127 +
 hudi-sync/hudi-adb-sync/pom.xml                    |    2 +-
 .../sync/datahub/config/TestDataHubSyncConfig.java |    5 +-
 .../TestTlsEnabledDataHubEmitterSupplier.java      |    7 +-
 .../hive/HiveStylePartitionValueExtractor.java     |    4 +-
 .../java/org/apache/hudi/hive/HiveSyncTool.java    |    7 +-
 .../org/apache/hudi/hive/HoodieHiveSyncClient.java |   25 +-
 .../hudi/hive/MultiPartKeysValueExtractor.java     |    4 +-
 .../java/org/apache/hudi/hive/ddl/DDLExecutor.java |    7 +
 .../org/apache/hudi/hive/ddl/HMSDDLExecutor.java   |   38 +-
 .../hudi/hive/ddl/QueryBasedDDLExecutor.java       |   14 +-
 .../hudi/hive/transaction/lock/Heartbeat.java      |   10 +-
 .../lock/HiveMetastoreBasedLockProvider.java       |   28 +-
 .../apache/hudi/hive/util/FilterGenVisitor.java    |   16 +-
 .../org/apache/hudi/hive/util/HiveSchemaUtil.java  |   51 +-
 .../hudi/hive/util/IMetaStoreClientUtil.java       |    3 +-
 .../hudi/hive/util/PartitionFilterGenerator.java   |   23 +-
 .../org/apache/hudi/hive/TestHiveSyncTool.java     |  198 +-
 .../hudi/hive/TestHoodieHiveSyncClientClose.java   |   78 +
 .../hudi/hive/TestMultiPartKeysValueExtractor.java |   15 +
 .../hudi/hive/TestPartitionValueExtractor.java     |    8 +
 .../org/apache/hudi/hive/TestSparkSchemaUtils.java |   25 +
 .../hive/ddl/TestHMSDDLExecutorCreateTable.java    |   70 +
 .../hudi/hive/testutils/HiveTestCluster.java       |    2 +-
 .../apache/hudi/hive/testutils/HiveTestUtil.java   |   49 +-
 .../hudi/hive/transaction/lock/TestHeartbeat.java  |   55 +
 .../TestHiveMetastoreBasedLockProviderClose.java   |  113 +
 .../hive/util/TestPartitionFilterGenerator.java    |   24 +
 .../apache/hudi/sync/common/HoodieSyncConfig.java  |    2 +-
 .../sync/common/metrics/HoodieMetaSyncMetrics.java |    7 +-
 .../common/util/SparkDataSourceTableUtils.java     |   13 +-
 .../hudi/sync/common/util/SparkSchemaUtils.java    |   79 +-
 .../common/metrics/TestHoodieMetaSyncMetrics.java  |    2 +-
 hudi-tests-common/pom.xml                          |    2 +-
 .../hudi/timeline/service/handlers/Handler.java    |    2 +-
 .../service/handlers/marker/MarkerDirState.java    |  122 +-
 .../hudi/timeline/service/TestRequestHandler.java  |    4 +-
 ...tMarkerBasedEarlyConflictDetectionRunnable.java |    2 +-
 .../handlers/marker/TestMarkerDirState.java        |  170 +
 .../hudi/TestHudiAlluxioCacheFileOperations.java   |  109 +-
 .../hudi/TestHudiMemoryCacheFileOperations.java    |   60 +-
 .../plugin/hudi/TestHudiNoCacheFileOperations.java |   60 +-
 .../io/trino/plugin/hudi/TestHudiSmokeTest.java    |    2 +-
 hudi-utilities/pom.xml                             |    2 +-
 .../hudi/utilities/HiveIncrementalPuller.java      |   53 +-
 .../org/apache/hudi/utilities/HoodieCleaner.java   |   10 +-
 .../apache/hudi/utilities/HoodieClusteringJob.java |   36 +-
 .../org/apache/hudi/utilities/HoodieCompactor.java |   45 +-
 .../hudi/utilities/HoodieDataTableValidator.java   |   41 +-
 .../hudi/utilities/HoodieDropPartitionsTool.java   |   40 +-
 .../org/apache/hudi/utilities/HoodieIndexer.java   |   39 +-
 .../utilities/HoodieMetadataTableValidator.java    |  150 +-
 .../apache/hudi/utilities/HoodieRepairTool.java    |   61 +-
 .../hudi/utilities/HoodieSnapshotExporter.java     |   23 +-
 .../org/apache/hudi/utilities/HoodieTTLJob.java    |    9 +-
 .../org/apache/hudi/utilities/TableSizeStats.java  |   61 +-
 .../org/apache/hudi/utilities/UtilHelpers.java     |   59 +-
 .../kafka/HoodieWriteCommitKafkaCallback.java      |   20 +-
 .../pulsar/HoodieWriteCommitPulsarCallback.java    |   16 +-
 .../hudi/utilities/config/CloudSourceConfig.java   |    9 +
 .../deltastreamer/HoodieDeltaStreamerMetrics.java  |    2 +-
 .../deser/KafkaAvroSchemaDeserializer.java         |   21 +-
 .../ingestion/HoodieIngestionException.java        |    6 +-
 .../ingestion/HoodieIngestionMetrics.java          |    6 +-
 .../ingestion/HoodieIngestionService.java          |   18 +-
 .../hudi/utilities/multitable/ArchiveTask.java     |    7 +-
 .../hudi/utilities/multitable/ClusteringTask.java  |    6 +-
 .../multitable/HoodieMultiTableServicesMain.java   |   12 +-
 .../multitable/MultiTableServiceUtils.java         |    7 +-
 .../hudi/utilities/perf/TimelineServerPerf.java    |    9 +-
 .../utilities/schema/DelegatingSchemaProvider.java |   10 +-
 .../utilities/schema/FilebasedSchemaProvider.java  |    9 +-
 .../hudi/utilities/schema/HiveSchemaProvider.java  |   18 +-
 .../utilities/schema/KafkaOffsetPostProcessor.java |    2 +-
 .../hudi/utilities/schema/LazyCastingIterator.java |    4 +-
 .../schema/ProtoClassBasedSchemaProvider.java      |    2 +-
 .../utilities/schema/SchemaRegistryProvider.java   |   10 +-
 .../utilities/schema/SimpleSchemaProvider.java     |    7 +-
 .../converter/JsonToAvroSchemaConverter.java       |    2 +-
 .../DeleteSupportSchemaPostProcessor.java          |    8 +-
 .../DropColumnSchemaPostProcessor.java             |    8 +-
 .../hudi/utilities/sources/GcsEventsSource.java    |   12 +-
 .../hudi/utilities/sources/HiveIncrPullSource.java |   11 +-
 .../hudi/utilities/sources/HoodieIncrSource.java   |    8 +-
 .../sources/HoodieRetryingKafkaConsumer.java       |    1 +
 .../apache/hudi/utilities/sources/InputBatch.java  |    9 -
 .../apache/hudi/utilities/sources/JdbcSource.java  |    8 +-
 .../apache/hudi/utilities/sources/KafkaSource.java |    7 +-
 .../hudi/utilities/sources/KinesisSource.java      |    5 +-
 .../hudi/utilities/sources/PulsarSource.java       |   23 +-
 .../hudi/utilities/sources/S3EventsSource.java     |    6 +
 .../org/apache/hudi/utilities/sources/Source.java  |   65 +-
 .../hudi/utilities/sources/SqlFileBasedSource.java |   10 +-
 .../apache/hudi/utilities/sources/SqlSource.java   |   10 +-
 .../utilities/sources/debezium/DebeziumSource.java |    5 +-
 .../utilities/sources/helpers/AvroConvertor.java   |    4 +-
 .../sources/helpers/CloudDataFetcher.java          |   10 +-
 .../helpers/CloudObjectsSelectorCommon.java        |    2 +-
 .../utilities/sources/helpers/DFSPathSelector.java |   11 +-
 .../sources/helpers/DatePartitionPathSelector.java |    6 +-
 .../sources/helpers/IncrSourceHelper.java          |  129 +-
 .../helpers/MercifulJsonToRowConverter.java        |   28 +-
 .../sources/helpers/ProtoConversionUtil.java       |    2 +-
 .../utilities/sources/helpers/RowConverter.java    |    2 +-
 .../sources/helpers/S3EventsMetaSelector.java      |   11 +-
 .../hudi/utilities/streamer/BootstrapExecutor.java |   16 +-
 .../utilities/streamer/DefaultStreamContext.java   |   20 +-
 .../apache/hudi/utilities/streamer/ErrorEvent.java |   37 +-
 .../utilities/streamer/ErrorTableCommitter.java    |   86 +
 .../streamer/HoodieMultiTableStreamer.java         |   36 +-
 .../hudi/utilities/streamer/HoodieStreamer.java    |   70 +-
 .../utilities/streamer/HoodieStreamerMetrics.java  |   17 +-
 .../utilities/streamer/HoodieStreamerUtils.java    |   12 +-
 .../streamer/NoNewDataTerminationStrategy.java     |    8 +-
 .../utilities/streamer/SchedulerConfGenerator.java |   12 +-
 .../utilities/streamer/SourceFormatAdapter.java    |   25 +-
 .../utilities/streamer/SparkSampleWritesUtils.java |   24 +-
 .../apache/hudi/utilities/streamer/StreamSync.java |  359 +-
 .../streamer/StreamerCheckpointUtils.java          |   35 +-
 .../streamer/SuccessfulRecordCounter.java          |  106 +
 .../utilities/streamer/TableExecutionContext.java  |   58 +-
 .../utilities/streamer/WriteErrorReporter.java     |   69 +
 .../validator/SparkKafkaOffsetValidator.java       |    4 +-
 .../validator/SparkStreamerValidatorUtils.java     |    4 +-
 .../streamer/validator/SparkValidationContext.java |    2 +-
 .../validator/SparkWriteErrorValidator.java        |  136 +
 .../utilities/transform/ChainedTransformer.java    |    8 +-
 .../utilities/transform/FlatteningTransformer.java |    7 +-
 .../transform/SqlFileBasedTransformer.java         |   12 +-
 .../transform/SqlQueryBasedTransformer.java        |   10 +-
 .../hudi/utilities/TestHiveIncrementalPuller.java  |    2 +-
 .../TestHoodieMetadataTableValidator.java          |   44 +-
 .../hudi/utilities/TestHoodieRepairTool.java       |    8 +-
 .../apache/hudi/utilities/TestHudiHiveSyncJob.java |   10 +-
 .../utilities/TestManifestFileWriterSpark.java     |    2 +-
 .../org/apache/hudi/utilities/TestUtilHelpers.java |    2 +-
 .../callback/TestKafkaCallbackProvider.java        |    2 +-
 .../deltastreamer/HoodieDeltaStreamerTestBase.java |   53 +-
 .../MockConfigurationHotUpdateStrategy.java        |    7 +-
 .../deltastreamer/TestHoodieDeltaStreamer.java     |  124 +-
 .../TestHoodieDeltaStreamerDAGExecution.java       |    2 +-
 ...TestHoodieDeltaStreamerSchemaEvolutionBase.java |    2 +-
 ...estHoodieDeltaStreamerSchemaEvolutionQuick.java |    9 +-
 .../TestHoodieDeltaStreamerWithMultiWriter.java    |   25 +-
 .../TestHoodieMultiTableDeltaStreamer.java         |   12 +-
 .../deltastreamer/TestSourceFormatAdapter.java     |    8 +-
 .../multisync/TestMultipleMetaSync.java            |   13 +-
 .../deser/TestKafkaAvroSchemaDeserializer.java     |  205 +
 .../functional/TestHiveSchemaProvider.java         |   10 +-
 .../functional/TestHoodieSnapshotExporter.java     |    4 +-
 .../functional/TestJdbcbasedSchemaProvider.java    |    7 +-
 .../TestHoodieMultiTableServicesMain.java          |   14 +-
 .../offlinejob/HoodieOfflineJobTestBase.java       |    6 +-
 .../offlinejob/TestHoodieClusteringJob.java        |    2 +-
 .../utilities/sources/BaseTestKafkaSource.java     |   22 +-
 .../utilities/sources/CheckpointValidator.java     |    2 +-
 .../sources/S3EventsHoodieIncrSourceHarness.java   |   23 +-
 .../utilities/sources/TestAvroKafkaSource.java     |    2 +-
 .../hudi/utilities/sources/TestDataSource.java     |   15 +-
 .../sources/TestGcsEventsHoodieIncrSource.java     |    6 +-
 .../utilities/sources/TestGcsEventsSource.java     |    3 +-
 .../utilities/sources/TestGenericRddTransform.java |    2 +-
 .../utilities/sources/TestHiveIncrPullSource.java  |   99 +
 .../utilities/sources/TestHoodieIncrSource.java    |   46 +-
 .../hudi/utilities/sources/TestInputBatch.java     |    6 +-
 .../hudi/utilities/sources/TestJdbcSource.java     |    5 +-
 .../utilities/sources/TestJsonKinesisSource.java   |    9 +-
 .../sources/TestKinesisSourceFiltering.java        |    5 +-
 .../sources/TestS3EventsHoodieIncrSource.java      |   36 +
 .../apache/hudi/utilities/sources/TestSource.java  |   73 +
 .../utilities/sources/TestSqlFileBasedSource.java  |   13 +-
 .../hudi/utilities/sources/TestSqlSource.java      |   15 +-
 .../TestStreamerSourceCheckpointVersion.java       |  351 ++
 .../helpers/TestDFSPathSelectorCommonMethods.java  |   15 +
 .../sources/helpers/TestIncrSourceHelper.java      |  131 +
 .../helpers/TestKinesisCheckpointUtils.java        |    1 +
 .../sources/helpers/TestKinesisShardRange.java     |    1 +
 .../TestMercifulJsonToRowConverterBase.java        |    4 +-
 .../sources/helpers/TestProtoConversionUtil.java   |    2 +-
 .../sources/helpers/TestSanitizationUtils.java     |    2 +-
 .../helpers/gcs/TestPubsubMessagesFetcher.java     |    5 +-
 .../streamer/TestErrorTableCommitter.java          |  135 +
 .../streamer/TestHoodieIncrSourceE2E.java          |   15 +-
 .../TestHoodieIncrSourceE2EAutoUpgrade.java        |   17 +-
 .../streamer/TestHoodieStreamerMetrics.java        |   51 +-
 .../TestParquetDfsCheckpointFormatOnV6.java        |  128 +
 .../hudi/utilities/streamer/TestStreamSync.java    |   64 +-
 .../TestStreamSyncWriteStatusValidation.java       |   84 +
 .../streamer/TestStreamerCheckpointUtils.java      |   52 +
 .../streamer/TestSuccessfulRecordCounter.java      |  200 +
 .../utilities/streamer/TestWriteErrorReporter.java |   99 +
 .../validator/TestSparkWriteErrorValidator.java    |  198 +
 .../hudi/utilities/testutils/JdbcTestUtils.java    |   18 +-
 .../utilities/testutils/UtilitiesTestBase.java     |   11 +-
 .../testutils/sources/AbstractBaseTestSource.java  |   18 +-
 .../sources/DistributedTestDataSource.java         |   16 +-
 .../checkpoint-v6/parquet-dfs-v1-fixture.zip       |  Bin 0 -> 103450 bytes
 .../test/resources/schema/cdc_envelope_new.avsc    |  261 ++
 .../test/resources/schema/cdc_envelope_old.avsc    |  237 ++
 packaging/bundle-validation/README.md              |   12 +-
 .../base/build_flink1170hive313spark351.sh         |   27 -
 .../base/build_flink1171hive313spark334.sh         |   27 -
 .../base/build_flink1181hive313spark334.sh         |   27 +
 .../base/build_flink1200hive313spark420scala213.sh |   29 +
 packaging/bundle-validation/ci_run.sh              |   36 +-
 packaging/bundle-validation/run_docker_java17.sh   |   30 +-
 packaging/bundle-validation/validate.sh            |    6 +-
 packaging/hudi-flink-bundle/pom.xml                |  210 +-
 packaging/hudi-integ-test-bundle/pom.xml           |   10 +
 packaging/hudi-kafka-connect-bundle/pom.xml        |    1 -
 packaging/hudi-metaserver-server-bundle/pom.xml    |    4 +-
 pom.xml                                            |  230 +-
 rfc/README.md                                      |  232 +-
 rfc/rfc-103/01-lsm-tree-layout-overview.png        |  Bin 0 -> 30160 bytes
 .../02-write-with-disruptor-buffer-sort.png        |  Bin 0 -> 73975 bytes
 rfc/rfc-103/03-k-way-merging.png                   |  Bin 0 -> 82791 bytes
 rfc/rfc-103/rfc-103.md                             |  407 ++
 rfc/rfc-105/rfc-105.md                             |  225 ++
 rfc/rfc-106/index-compaction-flow.png              |  Bin 0 -> 329243 bytes
 rfc/rfc-106/index-write-flow.png                   |  Bin 0 -> 375082 bytes
 rfc/rfc-106/rfc-106.md                             |  260 ++
 rfc/rfc-106/rli-access-pattern.png                 |  Bin 0 -> 96912 bytes
 rfc/rfc-94/images/timeline_hover.png               |  Bin 0 -> 191486 bytes
 rfc/rfc-94/images/timeline_instant_select.png      |  Bin 0 -> 446767 bytes
 rfc/rfc-94/images/timeline_main.png                |  Bin 0 -> 182401 bytes
 rfc/rfc-94/rfc-94.md                               |  976 +++++
 rfc/rfc-99/variant-appendix.md                     |   16 +
 rfc/rfc-99/vector-appendix.md                      |   16 +
 scripts/release/create_source_directory.sh         |    2 +-
 scripts/release/deploy_staging_jars.sh             |    1 -
 scripts/release/deploy_staging_jars_java17.sh      |    8 +-
 scripts/release/validate_source_binary_files.sh    |   33 +-
 scripts/release/validate_source_rat.sh             |    8 +-
 scripts/release/validate_staged_bundles.sh         |    4 +-
 style/checkstyle.xml                               |    2 +-
 2590 files changed, 146283 insertions(+), 75032 deletions(-)
 create mode 100644 .github/workflows/agent_gateway_ci.yml
 create mode 100644 .github/workflows/commit_coauthor_validation.yml
 create mode 100644 docker/compose/docker-compose_hadoop340_hive2310_spark411_amd64.yml
 create mode 100644 docker/compose/docker-compose_hadoop340_hive2310_spark411_arm64.yml
 create mode 100644 docker/demo/sparksql-blob-type-df.commands
 create mode 100644 docker/demo/sparksql-blob-type-sql.commands
 create mode 100644 docker/demo/sparksql-variant-type-df.commands
 create mode 100644 docker/demo/sparksql-variant-type-sql.commands
 create mode 100644 docker/demo/sparksql-vector-type-df.commands
 create mode 100644 docker/demo/sparksql-vector-type-sql.commands
 create mode 100644 hudi-agent-gateway/.dockerignore
 create mode 100644 hudi-agent-gateway/.gitignore
 create mode 100644 hudi-agent-gateway/Dockerfile
 create mode 100644 hudi-agent-gateway/README.md
 create mode 100644 hudi-agent-gateway/pyproject.toml
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/__init__.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/__main__.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/agent.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/api/__init__.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/api/chat.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/api/meta.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/api/models.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/app.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/cli.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/config.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/llm.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/log.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/mcp_server.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/py.typed
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/sessions.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/tools/__init__.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/tools/guardrails.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/tools/registry.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/tools/trino_client.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/tools/trino_tools.py
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/ui/app.js
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/ui/index.html
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/ui/markdown.js
 create mode 100644 hudi-agent-gateway/src/hudi_agent_gateway/ui/style.css
 create mode 100644 hudi-agent-gateway/tests/conftest.py
 create mode 100644 hudi-agent-gateway/tests/integration/__init__.py
 create mode 100644 hudi-agent-gateway/tests/integration/test_live_stack.py
 create mode 100644 hudi-agent-gateway/tests/test_agent_loop.py
 create mode 100644 hudi-agent-gateway/tests/test_api_meta.py
 create mode 100644 hudi-agent-gateway/tests/test_chat_sse.py
 create mode 100644 hudi-agent-gateway/tests/test_config.py
 create mode 100644 hudi-agent-gateway/tests/test_guardrails.py
 create mode 100644 hudi-agent-gateway/tests/test_llm.py
 create mode 100644 hudi-agent-gateway/tests/test_mcp.py
 create mode 100644 hudi-agent-gateway/tests/test_registry.py
 create mode 100644 hudi-agent-gateway/tests/test_sessions.py
 create mode 100644 hudi-agent-gateway/tests/test_trino_tools.py
 create mode 100644 hudi-agent-gateway/tests/test_ui.py
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/BaseClusterer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/BaseCompactor.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/HoodieCommitCallbackFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/HoodieWriteCommitCallbackUtil.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/client/http/HoodieWriteCommitHttpCallbackClient.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/impl/HoodieWriteCommitHttpCallbackClient.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/util/HoodieCommitCallbackFactory.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/util/HoodieWriteCommitCallbackUtil.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseClusterer.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseCompactor.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CommitMetadataProperties.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CommitMetadataResolver.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CommitMetadataResolverFactory.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieColumnStatsIndexUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/MarkerBasedCommitMetadataResolver.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/NoOpCommitMetadataResolver.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/StreamingMetadataWriteHandler.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HeartbeatUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/WriterHeartbeatUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/ArchivalMetrics.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/ArchivalUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/LSMTimelineWriter.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/LegacyArchivedMetaEntryReader.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/TimelineArchiverV1.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/TimelineArchiverV2.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v1/TimelineArchiverV1.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v2/LSMTimelineWriter.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v2/TimelineArchiverV2.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/HeartbeatManager.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/HoodieLockMetrics.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockGetResult.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockProviderHeartbeatManager.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockUpsertResult.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/StorageLockData.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/StorageLockFile.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/metrics/HoodieLockMetrics.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/models/HeartbeatManager.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/models/LockGetResult.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/models/LockProviderHeartbeatManager.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/models/LockUpsertResult.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/models/StorageLockData.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/models/StorageLockFile.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ArchivalMetrics.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ArchivalUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ClosableMergingIterator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/CloseableConcatenatingIterator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ConcatenatingIterator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/DeletePartitionUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/FileSliceMetricUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LazyIterableIterator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LegacyArchivedMetaEntryReader.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/MergingIterator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/OperationConverter.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/PreWriteValidatorUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/validator/PreWriteValidatorUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/estimator/AverageRecordSizeEstimator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/estimator/RecordSizeEstimator.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/estimator/RecordSizeEstimatorFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/ExecutorFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/estimator/AverageRecordSizeEstimator.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/estimator/RecordSizeEstimator.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/estimator/RecordSizeEstimatorFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieGlobalSimpleIndex.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInMemoryHashIndex.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieSimpleIndex.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieGlobalSimpleIndex.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieSimpleIndex.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/FileGroupReaderBasedAppendHandle.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/FileGroupReaderBasedInlineLogAppendHandle.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/FileGroupReaderBasedNativeLogAppendHandle.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieCDCLogger.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieInlineLogAppendHandle.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieNativeLogAppendHandle.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/LsmFileGroupReaderBasedMergeHandle.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/MergeUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieAvroNativeCDCLogger.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieCDCLogWriter.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieCDCLogWriterFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieCDCLogger.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieNativeCDCFileWriter.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieNativeCDCLogger.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/cdc/HoodieNativeLogFormatWriter.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/StreamingMetadataWriteHandler.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/BaseIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/EngineIndexerSupport.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/Indexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/IndexerFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/UnsupportedEngineIndexerSupport.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/bloomfilters/BloomFiltersIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/columnstats/ColumnStatsIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/expression/ExpressionIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/files/FilesIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/DataPartitionAndRecords.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/IndexCleanContext.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/IndexInitializationContext.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/IndexInitializationPlan.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/IndexPartitionAndRecords.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/IndexRestoreContext.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/model/IndexUpdateContext.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/partitionstats/PartitionStatsIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/record/BaseRecordIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/record/PartitionedRecordIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/record/RecordIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/index/secondary/SecondaryIndexer.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/optimize/HilbertCurveUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/FileSliceMetricUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/CommitMetadataResolver.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/CommitMetadataResolverFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/DeletePartitionUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/MarkerBasedCommitMetadataResolver.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/NoOpCommitMetadataResolver.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/NineToTenUpgradeHandler.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TenToNineDowngradeHandler.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/util/DistributedRegistryUtil.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/util/ExecutorFactory.java
 delete mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/util/HttpRequestClient.java
 create mode 100644 hudi-client/hudi-client-common/src/main/java/org/apache/hudi/util/OperationConverter.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/callback/client/http/TestCallbackHttpClient.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/callback/impl/TestCallbackHttpClient.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/TestClientStatsPojos.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/TestCommitMetadataProperties.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/TestHoodieTableServiceManagerClient.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/bootstrap/translator/TestBootstrapPartitionPathTranslators.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/timeline/TestLegacyArchivedMetaEntryReader.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/TestTransactionUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/StorageLockClientFileTest.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/TestFileSystemBasedLockProvider.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/TestLockProviderHeartbeatManager.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/TestLockResultEnums.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/audit/TestAuditOperationState.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/models/StorageLockClientFileTest.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/transaction/lock/models/TestLockProviderHeartbeatManager.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestCommitMetadataResolver.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestDeletePartitionUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestFileSliceMetricUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestLegacyArchivedMetaEntryReader.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestPreWriteValidatorUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestTransactionUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/validator/TestPreWriteValidatorUtils.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/estimator/TestAverageRecordSizeEstimator.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/estimator/TestRecordSizeEstimatorFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/exception/TestClientExceptions.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/execution/bulkinsert/TestBulkInsertSortMode.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/execution/estimator/TestAverageRecordSizeEstimator.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/execution/estimator/TestRecordSizeEstimatorFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/index/TestGlobalSimpleIndex.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/index/TestSimpleIndex.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/index/bloom/TestBloomIndexFileInfo.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/index/simple/TestGlobalSimpleIndex.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/index/simple/TestSimpleIndex.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/io/cdc/TestHoodieNativeCDCFileWriter.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/io/cdc/TestHoodieNativeLogFormatWriter.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/TestSecondaryIndexRecordGenerationUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/TestIndexerFactory.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/bloomfilters/TestBloomFiltersIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/columnstats/TestColumnStatsIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/expression/TestExpressionIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/files/TestFilesIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/partitionstats/TestPartitionStatsIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/record/TestBaseRecordIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/record/TestPartitionedRecordIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/record/TestRecordIndexer.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/index/secondary/TestSecondaryIndexer.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/optimize/TestHilbertCurveUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/TestFileSliceMetricUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/commit/TestBucketTypeAndInfo.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/commit/TestCommitMetadataResolver.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/commit/TestDeletePartitionUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/ttl/strategy/TestKeepByTimeStrategy.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/ttl/strategy/TestPartitionTTLStrategy.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/ttl/strategy/TestPartitionTTLStrategyType.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/marker/TestMarkerBasedRollbackUtils.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/upgrade/TestTenToNineDowngradeHandler.java
 create mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/util/TestOperationConverter.java
 delete mode 100644 hudi-client/hudi-client-common/src/test/java/org/apache/hudi/utils/TestConcatenatingIterator.java
 delete mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkAppendHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkInlineLogAppendHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkLsmFileGroupReaderBasedIncrementalMergeHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkLsmFileGroupReaderBasedMergeHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkNativeLogAppendHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieBloomFilterRowDataWriteSupport.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataLanceWriter.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/lance/HoodieFlinkLanceArrowUtils.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/lance/LanceRowDataWriter.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/v2/RowDataInlineLogWriteHandle.java
 delete mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/v2/RowDataLogWriteHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/v2/RowDataNativeLogWriteHandle.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/util/VectorColumnParser.java
 create mode 100644 hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/util/VectorConversionUtils.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/client/TestFlinkWriteClientFunctional.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/client/model/TestHoodieFlinkInternalRowSerializer.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/io/TestFlinkWriteHandleFactory.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/io/storage/row/TestHoodieFlinkLanceArrowUtils.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/io/storage/row/TestLanceRowDataWriter.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/io/storage/row/parquet/TestParquetRowDataWriter.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/table/TestHoodieFlinkTableActionRouting.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/table/action/commit/TestFlinkDeleteHelper.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/table/action/commit/TestFlinkWriteHelper.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/table/format/TestFlinkRecordContext.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/util/TestAvroToRowDataConverters.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/util/TestRowDataAvroRoundTrip.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/util/TestRowDataUtils.java
 create mode 100644 hudi-client/hudi-flink-client/src/test/java/org/apache/hudi/util/TestVectorConversionUtils.java
 create mode 100644 hudi-client/hudi-java-client/src/test/java/org/apache/hudi/execution/bulkinsert/TestJavaBulkInsertInternalPartitionerFactory.java
 create mode 100644 hudi-client/hudi-java-client/src/test/java/org/apache/hudi/table/action/commit/TestJavaDeleteHelper.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java-vortex/org/apache/hudi/io/storage/HoodieSparkVortexReader.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java-vortex/org/apache/hudi/io/storage/HoodieSparkVortexWriter.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java-vortex/org/apache/hudi/io/storage/VortexRecordIterator.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java-vortex/org/apache/hudi/io/storage/VortexResourceCloser.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/PartitionedRecordIndexFileGroupLookupFunction.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/BlobStructLayout.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/index/SparkIndexerSupport.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/stats/SparkValueMetadataUtils.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metrics/DistributedRegistryUtil.java
 create mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/sort/HilbertCurveUtils.java
 delete mode 100644 hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/stats/SparkValueMetadataUtils.java
 delete mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/client/TestFileBasedLockProvider.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/client/validator/TestSparkPreCommitValidator.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/index/bloom/TestHoodieBloomFilterProbingResult.java
 delete mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/io/TestSparkIOUtils.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/io/TestSparkMergeUtils.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/metadata/TestSparkHoodieBackedTableMetadataWriter.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/metadata/stats/TestSparkValueMetadataUtils.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/sort/TestHilbertCurveUtils.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/action/commit/TestInsertOverwriteWithClustering.java
 create mode 100644 hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/action/commit/TestSparkBucketInfoGetter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/BaseHoodieTableFileIndex.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/ParquetAdapter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/AvroLogicalTypeEnum.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/AvroRecordContext.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/AvroRecordSerializer.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/AvroRecordSizeEstimator.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/AvroSchemaCache.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/AvroSchemaUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/ConvertingGenericData.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/GenericAvroSerializer.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/HoodieAvroReaderContext.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/HoodieAvroUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/HoodieAvroWrapperUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/HoodieBloomFilterWriteSupport.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/JoinedGenericRecord.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/MercifulJsonConverter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/DateLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/DecimalLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/DurationLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/EnumTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/FixedTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/JsonFieldProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/LocalTimestampMicroLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/LocalTimestampMilliLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/Parser.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/TimeLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/TimeMicroLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/TimeMilliLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/TimestampMicroLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/avro/processors/TimestampMilliLogicalTypeProcessor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/client/validator/BasePreCommitValidator.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/client/validator/ValidationContext.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/AvroLogicalTypeEnum.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/AvroRecordContext.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/AvroRecordSerializer.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/AvroRecordSizeEstimator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/AvroSchemaCache.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/AvroSchemaUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/ConvertingGenericData.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/GenericAvroSerializer.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/HoodieAvroReaderContext.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/HoodieAvroUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/HoodieAvroWrapperUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/HoodieBloomFilterWriteSupport.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/JoinedGenericRecord.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/MercifulJsonConverter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/VariantSchemaUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/VariantShreddingProvider.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/DateLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/DecimalLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/DurationLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/EnumTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/FixedTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/JsonFieldProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/LocalTimestampMicroLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/LocalTimestampMilliLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/Parser.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/TimeLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/TimeMicroLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/TimeMilliLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/TimestampMicroLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/avro/processors/TimestampMilliLogicalTypeProcessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsCloudWatchConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsDatadogConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsGraphiteConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsJmxConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsM3Config.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/config/metrics/HoodieMetricsPrometheusConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/engine/ExecutorServiceBasedEngineContext.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/ArrayData.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/BinaryExpression.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/BindVisitor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/BoundReference.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/Comparators.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/Expression.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/ExpressionVisitor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/LeafExpression.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/Literal.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/NameReference.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/PartialBindVisitor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/Predicate.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/Predicates.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/expression/StructLike.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/fs/FileNameParser.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/model/LogExtensions.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/HoodieAvroSchemaCache.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/HoodieSchemaRepair.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/HoodieSchemas.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/HoodieSchemaException.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/InternalSchema.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/InternalSchemaBuilder.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/Type.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/Types.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/action/InternalSchemaChangeApplier.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/action/InternalSchemaMerger.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/action/TableChange.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/action/TableChanges.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/action/TableChangesHelper.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/convert/InternalSchemaConverter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/io/AbstractInternalSchemaStorageManager.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/io/FileBasedInternalSchemaStorageManager.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/utils/AvroSchemaEvolutionUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/utils/Conversions.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/utils/InternalSchemaUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/utils/SchemaChangeUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/utils/SerDeHelper.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/visitor/InternalSchemaVisitor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/visitor/NameToIDVisitor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/schema/internal/visitor/NameToPositionVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/checkpoint/HoodieIncrSourceCheckpointValUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieCDCEngineRecordAccessor.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieCDCInlineLogRecordIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieCDCLogRecord.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieCDCNativeLogRecordIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieNativeLogFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/NativeLogFooterMetadata.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieNativeLogDataBlock.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieNativeLogDeleteBlock.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieRecordReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/read/lsm/HoodieLsmFileGroupReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/read/lsm/LsmFileGroupRecordIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/read/lsm/LsmFileIterators.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/read/lsm/SpillableLsmRecordIterator.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/timeline/ActiveTimelineUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/timeline/TimelineServiceClient.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/table/timeline/TimelineServiceClientBase.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/CheckpointUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/HoodieStorageUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/HoodieVectorUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/KafkaCheckpointUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/LanceUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/Lazy.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/ThreadUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/VortexUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/collection/ArrayUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/collection/CloseableConcatenatingIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/collection/ConcatenatingIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/collection/LazyConcatenatingIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/common/util/collection/LazyIterableIterator.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsCloudWatchConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsDatadogConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsGraphiteConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsJmxConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsM3Config.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsPrometheusConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/index/expression/HoodieExpressionIndex.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/index/record/HoodieRecordIndex.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/index/secondary/HoodieSecondaryIndex.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/index/secondary/SecondaryIndexDefinitionUtils.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/index/secondary/SecondaryIndexManager.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/index/secondary/SecondaryIndexType.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/HoodieParquetConfigInjector.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/ColumnRangeMetadataProvider.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HFileReaderFactory.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieAvroBootstrapFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieAvroFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieAvroFileWriter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieAvroHFileReaderImplBase.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieBootstrapFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieBootstrapRecordIterator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieFileBinaryCopier.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieFileMetadataMerger.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieFileReaderFactory.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieFileWriter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieFileWriterFactory.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieHFileConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieIOFactory.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieNativeAvroHFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieOrcConfig.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/io/storage/HoodieSeekingFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/read/BaseHoodieTableFileIndex.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/transaction/lock/InProcessLockProvider.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/transaction/lock/NoopLockProvider.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/validator/BasePreCommitValidator.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/core/validator/ValidationContext.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/exception/ExceptionUtil.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/ArrayData.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/BinaryExpression.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/BindVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/BoundReference.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/Comparators.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/Expression.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/ExpressionVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/LeafExpression.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/Literal.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/NameReference.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/PartialBindVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/Predicate.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/expression/StructLike.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/index/expression/HoodieExpressionIndex.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/index/record/HoodieRecordIndex.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/index/secondary/HoodieSecondaryIndex.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/index/secondary/SecondaryIndexManager.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/index/secondary/SecondaryIndexType.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/index/secondary/SecondaryIndexUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/HoodieSchemaException.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/InternalSchema.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/InternalSchemaBuilder.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/Type.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/Types.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/action/InternalSchemaChangeApplier.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/action/InternalSchemaMerger.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/action/TableChange.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/action/TableChanges.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/action/TableChangesHelper.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/convert/InternalSchemaConverter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/io/AbstractInternalSchemaStorageManager.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/io/FileBasedInternalSchemaStorageManager.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/utils/AvroSchemaEvolutionUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/utils/Conversions.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/utils/InternalSchemaUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/utils/SchemaChangeUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/utils/SerDeHelper.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/visitor/InternalSchemaVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/visitor/NameToIDVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/internal/schema/visitor/NameToPositionVisitor.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/HoodieParquetConfigInjector.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/ColumnRangeMetadataProvider.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HFileReaderFactory.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroBootstrapFileReader.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroFileReader.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroFileWriter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroHFileReaderImplBase.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieBootstrapFileReader.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieBootstrapRecordIterator.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieFileBinaryCopier.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieFileReader.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieFileReaderFactory.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieFileWriter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieFileWriterFactory.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHFileConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieIOFactory.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieOrcConfig.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieSeekingFileReader.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/model/DirectoryInfo.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/model/FileAndPartitionFlag.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/model/FileInfo.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/model/FileInfoAndPartition.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/model/FileSliceAndPartition.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/stats/HoodieColumnRangeMetadata.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/stats/LogicalTypeParquetAdapter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/stats/OriginalTypeParquetAdapter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/stats/ParquetAdapter.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/stats/ValueMetadata.java
 create mode 100644 hudi-common/src/main/java/org/apache/hudi/metadata/stats/ValueType.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/parquet/io/ByteBufferBackedInputFile.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/stats/HoodieColumnRangeMetadata.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/stats/ValueMetadata.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/stats/ValueType.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/storage/HoodieStorageUtils.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/timeline/TimelineServiceClient.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/timeline/TimelineServiceClientBase.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/util/HoodieFileMetadataMerger.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/util/Lazy.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/util/LazyConcatenatingIterator.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/util/PartitionPathFilterUtil.java
 delete mode 100644 hudi-common/src/main/java/org/apache/hudi/util/Transient.java
 delete mode 100644 hudi-common/src/main/java/org/apache/parquet/schema/HoodieSchemaRepair.java
 delete mode 100644 hudi-common/src/main/java/org/apache/parquet/schema/LogicalTypeParquetAdapter.java
 delete mode 100644 hudi-common/src/main/java/org/apache/parquet/schema/OriginalTypeParquetAdapter.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/BaseHoodieTableFileIndexTest.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/MercifulJsonConverterTestBase.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestAvroJavaTypeConverter.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestAvroRecordContext.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestAvroRecordSizeEstimator.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestAvroSchemaUtils.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestHoodieAvroReaderContext.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestHoodieAvroUtils.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/avro/TestMercifulJsonConverter.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/MercifulJsonConverterTestBase.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestAvroJavaTypeConverter.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestAvroRecordContext.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestAvroRecordSizeEstimator.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestAvroSchemaUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestHoodieAvroReaderContext.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestHoodieAvroUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/avro/TestMercifulJsonConverter.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/bloom/InternalBloomFilterBenchmark.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/bloom/TestInternalBloomFilter.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/config/TestConfigGroups.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/config/TestHoodieIndexingConfig.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/config/metrics/TestHoodieMetricsConfig.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/engine/TestHoodieReaderContext.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/expression/PredicatesTest.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/expression/TestBindVisitor.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/expression/TestPartialBindVisitor.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/expression/TestPredicates.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/TestHoodieSchemaRepair.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/TestHoodieSchemaTypePromotion.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/internal/TestSerDeHelper.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/internal/action/TestMergeSchema.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/internal/action/TestTableChanges.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/internal/convert/TestInternalSchemaConverter.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/internal/utils/TestAvroSchemaEvolutionUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/schema/internal/utils/TestInternalSchemaUtils.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/checkpoint/TestHoodieIncrSourceCheckpointValUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/log/TestHoodieCDCNativeLogRecordIterator.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/log/TestHoodieNativeLogFileReader.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/log/TestNativeLogFooterMetadata.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/TestBufferedRecordMergerFactory.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/TestIncrementalQueryAnalyzer.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/TestInputSplit.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/buffer/TestPositionBasedFileGroupRecordBuffer.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/lsm/TestHoodieLsmFileGroupReader.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/lsm/TestLsmFileGroupRecordIterator.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/lsm/TestLsmFileIterators.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/read/lsm/TestSpillableLsmRecordIterator.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/table/timeline/TestTimelineServiceClient.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/common/testutils/reader/HoodieFileSliceTestUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/TestBufferedRandomAccessFile.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/TestCheckpointUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/TestKafkaCheckpointUtils.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/collection/InflaterDeflaterReuseRLIBenchmark.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/collection/InspectRLISize.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/collection/TestConcatenatingIterator.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/common/util/collection/TestLazyConcatenatingIterator.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/config/metrics/TestHoodieMetricsConfig.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/core/io/storage/TestHFileReaderFactory.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/core/io/storage/TestHoodieFileMetadataMerger.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/core/io/storage/TestHoodieNativeAvroHFileReader.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/core/read/BaseHoodieTableFileIndexTest.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/exception/TestExceptionUtil.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/expression/TestPartialBindVisitor.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/expression/TestPredicates.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/internal/schema/TestSerDeHelper.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/internal/schema/action/TestMergeSchema.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/internal/schema/action/TestTableChanges.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/internal/schema/convert/TestInternalSchemaConverter.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/internal/schema/utils/TestAvroSchemaEvolutionUtils.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/internal/schema/utils/TestInternalSchemaUtils.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/io/storage/TestHFileReaderFactory.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/io/storage/TestHoodieFileMetadataMerger.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/io/storage/TestHoodieNativeAvroHFileReader.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/metadata/stats/TestValueMetadata.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/metadata/stats/TestValueType.java
 create mode 100644 hudi-common/src/test/java/org/apache/hudi/metrics/m3/TestM3ScopeReporterAdaptor.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/stats/TestValueMetadata.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/stats/TestValueType.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/timeline/TestTimelineServiceClient.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/util/TestLazyConcatenatingIterator.java
 delete mode 100644 hudi-common/src/test/java/org/apache/hudi/util/TestPartitionPathFilterUtil.java
 delete mode 100644 hudi-common/src/test/java/org/apache/parquet/schema/TestHoodieSchemaRepair.java
 create mode 100644 hudi-examples/hudi-examples-spark/src/test/java/org/apache/hudi/examples/common/TestRandomJsonSource.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkPartitionedIndexBackendMetrics.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketIndexPartitionerFactory.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketIndexRemotePartitioner.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/FlinkTransformationUtils.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/RecordKeySortComparator.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/RecordKeySortKeyComputer.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/BaseRecordLevelIndex.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/GlobalRecordLevelIndex.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/HoodieRowDataFileReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/HoodieRowDataLanceReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/metrics/TestFlinkPartitionedIndexBackendMetrics.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/sink/bulk/sort/TestSortOperatorGen.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/sink/compact/handler/TestDefaultCleanHandler.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/sink/partitioner/TestBucketIndexPartitionerFactory.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/sink/partitioner/TestBucketIndexRemotePartitioner.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/sink/utils/TestRecordKeySortKeyComputer.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/ITTestBlobWrite.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/ITTestVectorDataSource.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/lookup/TestHoodieLookupFunction.java
 create mode 100644 hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/util/TestDataTypeUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/pom.xml
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/flink/types/variant/Variant.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/AbstractRichFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/CollectionInputFormatAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/DataStreamScanProviderAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/DataStreamSinkProviderAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/DataTypeAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/InputFormatSourceFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/KeyedProcessFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/ProcessFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/RichSinkFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/RichSourceFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SinkAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SinkFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SinkFunctionProviderAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SourceFunctionAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SupportsPreWriteTopologyAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/TableFunctionProviderAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/TypeInformationAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/YieldingOperatorFactoryAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/EmptyColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/utils/CatalogUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/utils/DataTypeUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/utils/RuntimeContextUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/utils/SourceContextUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/utils/StateTtlConfigUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/utils/StreamerUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/CollectOutputAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/DataTypeAdapterTestUtils.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/ExecutionAttemptUtil.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/KeyedStateStoreAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/OperatorStateStoreAdapter.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/TestHoodieCatalogs.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/adapter/TestStreamConfigs.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.17.x/src/test/java/org/apache/hudi/sink/utils/MockTaskInfo.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.18.x/src/test/java/org/apache/hudi/adapter/TestHoodieCatalogs.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/utils/BooleanArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/utils/IntArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/utils/LongArrayList.java (100%)
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/utils/NestedPositionUtil.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupArrayData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupMapData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupRowData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayGroupColumnVector.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/CollectionPosition.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/LevelDelegation.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/RowPosition.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayGroupReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedPrimitiveColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetGroupField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.19.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetPrimitiveField.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/test/java/org/apache/hudi/adapter/TestHoodieCatalogs.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestHeapColumnVectorAccessors.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestParquetDecimalVector.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/test/java/org/apache/hudi/table/format/cow/vector/reader/TestParquetDataColumnReaderFactory.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.19.x/src/test/java/org/apache/hudi/table/format/cow/vector/type/TestParquetGroupField.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/utils/BooleanArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/utils/IntArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/utils/LongArrayList.java (100%)
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/utils/NestedPositionUtil.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupArrayData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupMapData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupRowData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayGroupColumnVector.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/CollectionPosition.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/LevelDelegation.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/RowPosition.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayGroupReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedPrimitiveColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetGroupField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink1.20.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetPrimitiveField.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/test/java/org/apache/hudi/adapter/TestHoodieCatalogs.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestHeapColumnVectorAccessors.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestParquetDecimalVector.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/test/java/org/apache/hudi/table/format/cow/vector/reader/TestParquetDataColumnReaderFactory.java
 create mode 100644 hudi-flink-datasource/hudi-flink1.20.x/src/test/java/org/apache/hudi/table/format/cow/vector/type/TestParquetGroupField.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/utils/BooleanArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/utils/IntArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/utils/LongArrayList.java (100%)
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/utils/NestedPositionUtil.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupArrayData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupMapData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupRowData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayGroupColumnVector.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/CollectionPosition.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/LevelDelegation.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/RowPosition.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayGroupReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedPrimitiveColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetGroupField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.0.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetPrimitiveField.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/test/java/org/apache/hudi/adapter/TestHoodieCatalogs.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestHeapColumnVectorAccessors.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestParquetDecimalVector.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/test/java/org/apache/hudi/table/format/cow/vector/reader/TestParquetDataColumnReaderFactory.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.0.x/src/test/java/org/apache/hudi/table/format/cow/vector/type/TestParquetGroupField.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/utils/BooleanArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/utils/IntArrayList.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/utils/LongArrayList.java (100%)
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/utils/NestedPositionUtil.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupArrayData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupMapData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/ColumnarGroupRowData.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayGroupColumnVector.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/CollectionPosition.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/LevelDelegation.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/vector/position/RowPosition.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayGroupReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedColumnReader.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/NestedPrimitiveColumnReader.java
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetGroupField.java (100%)
 copy hudi-flink-datasource/{hudi-flink1.18.x => hudi-flink2.1.x}/src/main/java/org/apache/hudi/table/format/cow/vector/type/ParquetPrimitiveField.java (100%)
 delete mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/test/java/org/apache/hudi/adapter/TestHoodieCatalogs.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestHeapColumnVectorAccessors.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/test/java/org/apache/hudi/table/format/cow/vector/TestParquetDecimalVector.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/test/java/org/apache/hudi/table/format/cow/vector/reader/TestParquetDataColumnReaderFactory.java
 create mode 100644 hudi-flink-datasource/hudi-flink2.1.x/src/test/java/org/apache/hudi/table/format/cow/vector/type/TestParquetGroupField.java
 create mode 100644 hudi-hadoop-common/src/main/java-vortex/org/apache/hudi/io/vortex/HoodieBaseVortexWriter.java
 create mode 100644 hudi-hadoop-common/src/main/java/org/apache/hudi/common/util/LanceUtils.java
 delete mode 100644 hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/inline/HadoopInLineFSUtils.java
 create mode 100644 hudi-hadoop-common/src/main/java/org/apache/hudi/io/storage/hadoop/HoodieVariantReconstruction.java
 create mode 100644 hudi-hadoop-common/src/main/java/org/apache/hudi/tools/TimelineInspector.java
 create mode 100644 hudi-hadoop-common/src/main/java/org/apache/hudi/tools/TimelineInspector.md
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/avro/TestHoodieAvroWriteSupportShredding.java
 delete mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/client/transaction/lock/TestInProcessLockProvider.java
 delete mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/client/transaction/lock/TestNoopLockProvider.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/engine/TestExecutorServiceBasedEngineContext.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/schema/internal/io/TestFileBasedInternalSchemaStorageManager.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/table/log/TestHoodieLogFormatWriter.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/table/log/block/TestHoodieLogFormatWriterBuilder.java
 delete mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/table/log/block/TestHoodieLogWriterBuilder.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/table/read/TestHoodieFileGroupReaderNativeLogs.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/common/testutils/reader/HoodieFileSliceTestUtils.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/core/transaction/lock/TestInProcessLockProvider.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/core/transaction/lock/TestNoopLockProvider.java
 delete mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/internal/schema/io/TestFileBasedInternalSchemaStorageManager.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/io/storage/hadoop/TestHoodieVariantReconstruction.java
 create mode 100644 hudi-hadoop-common/src/test/java/org/apache/hudi/tools/TestTimelineInspector.java
 create mode 100644 hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieVortexInputFormat.java
 create mode 100644 hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieVortexRealtimeInputFormat.java
 delete mode 100644 hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/InputSplitUtils.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/ContainerProvider.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/ITTestBaseTestcontainers.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/ITTestCustomTypeHiveSync.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/TestcontainersConfig.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/command/CommandExecutor.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/command/CommandResult.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/service/HiveService.java
 create mode 100644 hudi-integ-test/src/test/java/org/apache/hudi/integ2/testcontainers/service/SparkService.java
 create mode 100644 hudi-io/src/main/java/org/apache/hudi/CompatAlias.java
 create mode 100644 hudi-io/src/main/java/org/apache/hudi/io/hfile/HFileByteUtils.java
 delete mode 100644 hudi-io/src/main/java/org/apache/hudi/io/hfile/HFileUtils.java
 create mode 100644 hudi-io/src/test/java/org/apache/hudi/common/util/TestValidationUtils.java
 create mode 100644 hudi-io/src/test/java/org/apache/hudi/io/hfile/TestHFileMultiBlockScan.java
 create mode 100644 hudi-io/src/test/java/org/apache/hudi/io/util/TestHFileByteUtils.java
 delete mode 100644 hudi-io/src/test/java/org/apache/hudi/io/util/TestHFileUtils.java
 create mode 100644 hudi-lakehouse/.gitignore
 create mode 100644 hudi-lakehouse/README.md
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/Chart.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/templates/NOTES.txt
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/templates/_helpers.tpl
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/templates/deployment.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/templates/secret.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/templates/service.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/values-local-dev.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-agent-gateway/values.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/.helmignore
 create mode 100644 hudi-lakehouse/charts/hudi-trino/Chart.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/templates/NOTES.txt
 create mode 100644 hudi-lakehouse/charts/hudi-trino/templates/_helpers.tpl
 create mode 100644 hudi-lakehouse/charts/hudi-trino/templates/configmap-catalog.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/templates/deployment.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/templates/secret.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/templates/service.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/values-local-dev.yaml
 create mode 100644 hudi-lakehouse/charts/hudi-trino/values.yaml
 create mode 100644 hudi-lakehouse/charts/vllm/Chart.yaml
 create mode 100644 hudi-lakehouse/charts/vllm/templates/NOTES.txt
 create mode 100644 hudi-lakehouse/charts/vllm/templates/_helpers.tpl
 create mode 100644 hudi-lakehouse/charts/vllm/templates/deployment.yaml
 create mode 100644 hudi-lakehouse/charts/vllm/templates/pvc.yaml
 create mode 100644 hudi-lakehouse/charts/vllm/templates/service.yaml
 create mode 100644 hudi-lakehouse/charts/vllm/values.yaml
 create mode 100644 hudi-lakehouse/images/spark/Dockerfile
 create mode 100644 hudi-lakehouse/images/trino/Dockerfile
 create mode 100644 hudi-lakehouse/local-dev/README.md
 create mode 100644 hudi-lakehouse/local-dev/example/README.md
 create mode 100644 hudi-lakehouse/local-dev/example/hudi_table_writer.py
 create mode 100644 hudi-lakehouse/local-dev/example/spark-app.yaml
 create mode 100644 hudi-lakehouse/local-dev/manifests/hive-metastore.yaml
 create mode 100644 hudi-lakehouse/local-dev/manifests/minio-bucket-job.yaml
 create mode 100644 hudi-lakehouse/local-dev/manifests/minio.yaml
 create mode 100644 hudi-lakehouse/local-dev/manifests/namespace.yaml
 create mode 100755 hudi-lakehouse/local-dev/scripts/down.sh
 create mode 100755 hudi-lakehouse/local-dev/scripts/run-example.sh
 create mode 100755 hudi-lakehouse/local-dev/scripts/smoke-test.sh
 create mode 100755 hudi-lakehouse/local-dev/scripts/up.sh
 create mode 100755 hudi-lakehouse/scripts/build-images.sh
 create mode 100755 hudi-lakehouse/scripts/build-jars.sh
 create mode 100755 hudi-lakehouse/scripts/quickstart.sh
 create mode 100644 hudi-notebooks/Dockerfile.spark4
 create mode 100644 hudi-notebooks/conf/hadoop/core-site.xml
 create mode 100644 hudi-notebooks/conf/spark4/hudi-defaults.conf
 create mode 100644 hudi-notebooks/conf/spark4/spark-defaults.conf
 delete mode 100644 hudi-notebooks/notebooks/03-scd-type2_and_type4.ipynb
 delete mode 100644 hudi-notebooks/notebooks/05-mastering-sql-procedures.ipynb
 delete mode 100644 hudi-notebooks/notebooks/06_hudi_trino_example.ipynb
 delete mode 100644 hudi-notebooks/notebooks/07_hudi_presto_example.ipynb
 rename hudi-notebooks/notebooks/{ => common}/01-crud-operations.ipynb (100%)
 rename hudi-notebooks/notebooks/{ => common}/02-query-types.ipynb (100%)
 create mode 100644 hudi-notebooks/notebooks/common/03-scd-type2_and_type4.ipynb
 rename hudi-notebooks/notebooks/{ => common}/04-schema-evolution.ipynb (100%)
 create mode 100644 hudi-notebooks/notebooks/common/05-mastering-sql-procedures.ipynb
 create mode 100644 hudi-notebooks/notebooks/common/06_hudi_trino_example.ipynb
 create mode 100644 hudi-notebooks/notebooks/common/07_hudi_presto_example.ipynb
 create mode 100644 hudi-notebooks/notebooks/common/images/Hudi_SQL_Procedures.jpg
 create mode 100644 hudi-notebooks/notebooks/common/images/Spark_Hudi.jpg
 create mode 100644 hudi-notebooks/notebooks/common/images/hudi_1_2_0_features.jpg
 delete mode 100644 hudi-notebooks/notebooks/images/Hudi_SQL_Procedures.png
 delete mode 100644 hudi-notebooks/notebooks/images/Spark_Hudi.png
 create mode 100644 hudi-notebooks/notebooks/spark3/utils.py
 create mode 100644 hudi-notebooks/notebooks/spark4/08_hudi_rs_example.ipynb
 create mode 100644 hudi-notebooks/notebooks/spark4/09_hudi_1_2_0_features.ipynb
 create mode 100644 hudi-notebooks/notebooks/spark4/utils.py
 delete mode 100644 hudi-notebooks/notebooks/utils.py
 create mode 100644 hudi-notebooks/requirements-spark4.txt
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala-vortex/org/apache/spark/sql/execution/datasources/vortex/SparkVortexReaderBase.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/BaseHoodiePartitionValues.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/GlobalRecordLevelIndexSupport.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileScanRDD.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/PartitionedRecordLevelIndexSupport.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/HoodieSparkInputMetricsUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/BaseHoodieCatalystExpressionUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/HoodieSpark3CatalystExpressionUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/BaseHoodieNestedSchemaPruning.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieNestedSchemaPruning.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/BaseResolveHudiAlterTableCommand.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/test/scala/org/apache/hudi/TestHoodieCLIUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark-common/src/test/scala/org/apache/spark/sql/hudi/catalog/TestBasicStagedTable.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairClusteringPlanProcedure.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairOrphanFilesProcedure.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/java-vortex/org/apache/hudi/io/storage/TestVortexReaderWriterRoundTrip.java
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/resources/index/colstats/mor-bootstrap1-column-stats-index-table-v10.json
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/resources/index/colstats/mor-bootstrap2-column-stats-index-table-v10.json
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/TestHoodieCreateRecordUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestLegacyParquetReadPath.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestMetadataTableWithSparkSQL.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestRecordLevelIndexWithSQL.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/analysis/TestHoodieAnalysisErrorHandling.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/catalog/TestHoodieCatalogStagedTable.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/procedure/TestClusteringWithCustomMerger.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/procedure/TestRepairClusteringPlanProcedure.scala
 create mode 100644 hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/procedure/TestRepairOrphanFilesProcedure.scala
 create mode 100644 hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/HoodieSpark3CatalystPlanUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/HoodieSpark3SchemaUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala
 create mode 100644 hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala
 create mode 100644 hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark3LegacyHoodieParquetFileFormat.scala
 create mode 100644 hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/hudi/Spark3ResolveHudiAlterTableCommand.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/hudi/Spark33HoodieFileScanRDD.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/orc/Spark33OrcReader.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33DataSourceUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/hudi/Spark34HoodieFileScanRDD.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/orc/Spark34OrcReader.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34DataSourceUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/Spark34ResolveHudiAlterTableCommand.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/hudi/Spark35HoodieFileScanRDD.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/orc/Spark35OrcReader.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35DataSourceUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/Spark35ResolveHudiAlterTableCommand.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/java/org/apache/hudi/variant/Spark4VariantShreddingProvider.java
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/hudi/Spark4HoodiePartitionCDCFileGroupMapping.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/hudi/Spark4HoodiePartitionFileSliceMapping.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/hudi/Spark4HoodiePartitionValues.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/hudi/client/model/Spark4HoodieInternalRow.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/spark/sql/HoodieSpark4CatalystPlanUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/spark/sql/HoodieSpark4SchemaUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark4PartitionedFileUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/spark/sql/hudi/Spark4ResolveHudiAlterTableCommand.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark4Analysis.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/test/java/org/apache/hudi/io/storage/hadoop/TestHoodieVariantReconstructionRoundTrip.java
 create mode 100644 hudi-spark-datasource/hudi-spark4-common/src/test/java/org/apache/hudi/variant/TestSpark4VariantShreddingProvider.java
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/hudi/Spark40HoodieFileScanRDD.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark40PartitionedFileUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark40NestedSchemaPruning.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/orc/Spark40OrcReader.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark40DataSourceUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark40ResolveHudiAlterTableCommand.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/hudi/Spark41HoodieFileScanRDD.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark41PartitionedFileUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark41NestedSchemaPruning.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/orc/Spark41OrcReader.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark41DataSourceUtils.scala
 delete mode 100644 hudi-spark-datasource/hudi-spark4.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark41ResolveHudiAlterTableCommand.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/pom.xml
 copy hudi-spark-datasource/{hudi-spark4.1.x => hudi-spark4.2.x}/src/main/antlr4/imports/SqlBase.g4 (100%)
 copy hudi-spark-datasource/{hudi-spark3.3.x => hudi-spark4.2.x}/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4 (100%)
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/hudi/Spark42HoodiePartitionCDCFileGroupMapping.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/hudi/Spark42HoodiePartitionFileSliceMapping.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/hudi/Spark42HoodiePartitionValues.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/hudi/client/model/Spark42HoodieInternalRow.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark42CatalystExpressionUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark42CatalystPlanUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark42SchemaUtils.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark4_2Adapter.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala
 copy hudi-spark-datasource/{hudi-spark4.1.x => hudi-spark4.2.x}/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala (100%)
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/avro/HoodieSpark4_2AvroDeserializer.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/avro/HoodieSpark4_2AvroSerializer.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark42LegacyHoodieParquetFileFormat.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark42ParquetReader.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark42Analysis.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark4_2ExtendedSqlAstBuilder.scala
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark4_2ExtendedSqlParser.scala
 copy hudi-spark-datasource/{hudi-spark4.1.x => hudi-spark4.2.x}/src/test/scala/org/apache/hudi/TestHoodieStreamingSinkConstants.scala (100%)
 create mode 100644 hudi-spark-datasource/hudi-spark4.2.x/src/test/scala/org/apache/hudi/TestSpark4_2AvroLogicalTypeBytes.scala
 create mode 100644 hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/TestHoodieHiveSyncClientClose.java
 create mode 100644 hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/ddl/TestHMSDDLExecutorCreateTable.java
 create mode 100644 hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/transaction/lock/TestHeartbeat.java
 create mode 100644 hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/transaction/lock/TestHiveMetastoreBasedLockProviderClose.java
 create mode 100644 hudi-timeline-service/src/test/java/org/apache/hudi/timeline/service/handlers/marker/TestMarkerDirState.java
 create mode 100644 hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorTableCommitter.java
 create mode 100644 hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SuccessfulRecordCounter.java
 create mode 100644 hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/WriteErrorReporter.java
 create mode 100644 hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/validator/SparkWriteErrorValidator.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/sources/TestHiveIncrPullSource.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/sources/TestSource.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/sources/TestStreamerSourceCheckpointVersion.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/streamer/TestErrorTableCommitter.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/streamer/TestParquetDfsCheckpointFormatOnV6.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/streamer/TestStreamSyncWriteStatusValidation.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/streamer/TestSuccessfulRecordCounter.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/streamer/TestWriteErrorReporter.java
 create mode 100644 hudi-utilities/src/test/java/org/apache/hudi/utilities/streamer/validator/TestSparkWriteErrorValidator.java
 create mode 100644 hudi-utilities/src/test/resources/checkpoint-v6/parquet-dfs-v1-fixture.zip
 create mode 100644 hudi-utilities/src/test/resources/schema/cdc_envelope_new.avsc
 create mode 100644 hudi-utilities/src/test/resources/schema/cdc_envelope_old.avsc
 delete mode 100755 packaging/bundle-validation/base/build_flink1170hive313spark351.sh
 delete mode 100644 packaging/bundle-validation/base/build_flink1171hive313spark334.sh
 create mode 100755 packaging/bundle-validation/base/build_flink1181hive313spark334.sh
 create mode 100755 packaging/bundle-validation/base/build_flink1200hive313spark420scala213.sh
 create mode 100644 rfc/rfc-103/01-lsm-tree-layout-overview.png
 create mode 100644 rfc/rfc-103/02-write-with-disruptor-buffer-sort.png
 create mode 100644 rfc/rfc-103/03-k-way-merging.png
 create mode 100644 rfc/rfc-103/rfc-103.md
 create mode 100644 rfc/rfc-105/rfc-105.md
 create mode 100644 rfc/rfc-106/index-compaction-flow.png
 create mode 100644 rfc/rfc-106/index-write-flow.png
 create mode 100644 rfc/rfc-106/rfc-106.md
 create mode 100644 rfc/rfc-106/rli-access-pattern.png
 create mode 100644 rfc/rfc-94/images/timeline_hover.png
 create mode 100644 rfc/rfc-94/images/timeline_instant_select.png
 create mode 100644 rfc/rfc-94/images/timeline_main.png
 create mode 100644 rfc/rfc-94/rfc-94.md