The Hudi Timeline and Indexing

Hudi 129 's equivalent of the Delta log is the timeline in .hoodie/timeline/: every action (commit on COW, deltacommit on MOR, compaction, clean, rollback, replacecommit for clustering) appears as an instant that moves from requested to inflight to completed. Since Hudi 1.0 (December 2024), a completed instant records both its start and its completion time, and old instants move to an LSM-tree history so the timeline stays fast for years of commits.

timeline.sh: the merge-on-read table's timeline, metadata table and settingsShell
# The merge-on-read table's timeline and settings: Hudi's log of actions and its table config.
T=/home/dev/v7-l1/ch08/hudi/orders_mer/.hoodie
ls $T/timeline | grep -v history                  # requested -> inflight -> completed
ls $T/metadata                                     # the metadata table's index partitions
grep -E "^hoodie.(table.(type|version|recordkey.fields|ordering.fields)|record.merge.mode)=" \
  $T/hoodie.properties
Output
20261002005058114.deltacommit.inflight
20261002005058114.deltacommit.requested
20261002005058114_20261002005101615.deltacommit
20261002005101722.deltacommit.inflight
20261002005101722.deltacommit.requested
20261002005101722_20261002005103626.deltacommit
column_stats
files
hoodie.record.merge.mode=EVENT_TIME_ORDERING
hoodie.table.ordering.fields=rev
hoodie.table.recordkey.fields=order_id
hoodie.table.type=MERGE_ON_READ
hoodie.table.version=9

Two delta commits, the load and the upsert, each with its three states. What sets Hudi apart is indexing: an upsert must find the file group that already holds each key, and Hudi keeps indexes for that in its metadata table (.hoodie/metadata, itself a MOR table), here with files and column_stats partitions. A record-level index maps every key to its file group, bloom filters and bucket indexes trade precision for size, and Hudi 1.0 added secondary and expression indexes. Iceberg 129 and Delta locate rows by scanning files that match a predicate; Hudi looks keys up, which pays off for high-volume upserts by key.