+1 (non-binding) On Sat, Oct 31, 2026 at 1:48 AM Steven Wu <[email protected]> wrote: > > Hi, > > I propose adding a _last_updated_time metadata column to row lineage for v4 > tables. It records the timestamp of the snapshot that last updated a row, > complementing _last_updated_sequence_number with a wall-clock time. > > Summary of the spec change: > * New reserved metadata column _last_updated_time (timestamptz). > * New optional tracking field snapshot_timestamp (timestamptz) in v4 > manifests. > Writers leave it null for added entries and for entries modified by > column files. On read, a null value is inherited from the snapshot's > timestamp-ms. > * Upgrading to v4 does not require rewriting manifest lists or manifests. > Pre-v4 metadata is read as if snapshot_timestamp is null, so exising rows > get the timestamp of the last snapshot before the v4 upgrade. > > This works well with the earlier v4 spec change that requires monotonically > increasing snapshot timestamps (#16294). Because each snapshot's timestamp-ms > is strictly greater than its parent's on the same branch, _last_updated_time > follows the same order as _last_updated_sequence_number. > > This enables queries for when a row was last updated and for > rows modified since a given time, without mapping sequence numbers > back to snapshots that may have expired. > > Spec PR: https://github.com/apache/iceberg/pull/18526 > > Please vote in the next 72 hours: > > [ ] +1 Adopt the spec change > [ ] +0 No preference > [ ] -1 Do not adopt the spec change (please explain) > > Thanks, Steven > > Discussion thread: > https://lists.apache.org/thread/cln7xtjy9kw2096gzqlg5c4gg8b9td10 > > Monotonic snapshot timestamp PR: https://github.com/apache/iceberg/pull/16294
-- Regards Junwang Zhao
