delta-io/delta

[Kernel] Remove unecessary N.json loading for InCommitTimestamp value

Open

#4,914 opened on Jul 10, 2025

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Scala (8,807 stars) (2,100 forks)batch import
good first issuekernel

Description

Today, Kernel will issue a cloud read request to read the Snapshot's latest N.json file, in order to read the in-commit-timestamp value from the CommitInfo action.

We should be able to remove such a cloud call (in 99.99% of cases). The basis for this is the following:

  • To get a Snapshot, we must resolve the latest Protocol and Metadata
  • We can get the latest P & M in one of two ways
  • First, by reading a .crc file. If so, the ICT value should be in there. (If not, we have to make the N.json cloud request later on)
  • Second, by reading the delta log .json files until we find the latest P & M. Even if the latest P & M are found in the latest N.json file, when ICT is enabled we require that the CommitInfo action is the first action written into such a file -- so we can guarantee we find it either way

Contributor guide