)]}'
{
  "commit": "d142bd133a4ebec067c87fa783637ceb7477fd0c",
  "tree": "00ce896f6dc8f9a6aa260d6f862f30984e66cfcb",
  "parents": [
    "d63d4865ba14804874aafd0d9bd642dfc7c6af70"
  ],
  "author": {
    "name": "Anas Khan",
    "email": "anxkhn28@gmail.com",
    "time": "Sun Aug 16 01:53:08 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Aug 15 22:23:08 2026 +0200"
  },
  "message": "fix: Compare timestamps for partitions metadata (#3603)\n\n* fix: compare timestamps for partitions metadata last_updated_at\n\n`InspectTable._update_partitions_map_from_manifest_entry` aggregates\nper-partition stats over manifest entries, which are iterated in manifest\norder rather than chronologically. The guard that keeps the most recently\ncommitted snapshot per partition compared the stored `last_updated_snapshot_id`\n(a snapshot id) against `snapshot.timestamp_ms` (a commit timestamp). Snapshot\nids are large positive 63-bit integers, so `id \u003c timestamp_ms` is effectively\nalways false and the row keeps whichever entry was visited first instead of the\nnewest one, reporting the wrong `last_updated_at` / `last_updated_snapshot_id`\nfor any partition touched by more than one snapshot.\n\nCompare the stored `last_updated_at` timestamp against the incoming\n`snapshot.timestamp_ms`, matching the Java `PartitionsTable.Partition.update`\nwhich uses `snapshotCommitTime \u003e this.lastUpdatedAt`.\n\n* test: reuse data file in partitions regression test\n\nSigned-off-by: Anas Khan \u003c83116240+anxkhn@users.noreply.github.com\u003e\n\n---------\n\nSigned-off-by: Anas Khan \u003c83116240+anxkhn@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4a25fda092749119ee1a519b6859698ba5358a53",
      "old_mode": 33188,
      "old_path": "pyiceberg/table/inspect.py",
      "new_id": "4609f23199034b487c1d6412e945ebd2ef30abd3",
      "new_mode": 33188,
      "new_path": "pyiceberg/table/inspect.py"
    },
    {
      "type": "modify",
      "old_id": "c325af20332d9a57865f651086365871e89c96e9",
      "old_mode": 33188,
      "old_path": "tests/table/test_inspect.py",
      "new_id": "c1eeffc3869865e38e1fceeb12033730d1dfebc1",
      "new_mode": 33188,
      "new_path": "tests/table/test_inspect.py"
    }
  ]
}
