Skip to content

fix: keep last_updated_ms from preceding the latest metadata-log entry - #4273

Open
YuangGao wants to merge 1 commit into
apache:mainfrom
YuangGao:fix/last-updated-ms-not-before-metadata-log
Open

YuangGao wants to merge 1 commit into
apache:mainfrom
YuangGao:fix/last-updated-ms-not-before-metadata-log

Conversation

@YuangGao

@YuangGao YuangGao commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Closes #4189

Rationale for this change

  • A staged snapshot sets last_updated_ms to its own timestamp. If another commit lands before the transaction commits, the new metadata ends up older than its latest metadata-log entry, and Java rejects it once the gap exceeds a minute.
  • update_table_metadata now bumps last_updated_ms to the current time whenever it doesn't come after the base metadata's, not only when they're equal.

Are these changes tested?

  • test_init.py — a snapshot older than the base metadata no longer sets last_updated_ms before the latest metadata-log entry.
  • test_update_metadata_with_multiple_updates used a snapshot timestamp older than its base metadata, so it now uses a later one.

Are there any user-facing changes?

  • No.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A long transaction committed past a concurrent tag writes metadata Java rejects

1 participant