delta-io/delta

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

开放

#4,914 创建于 2025年7月10日

 (3 条评论) (0 个反应) (0 位负责人)Scala (2,153 个派生)batch import
good first issuekernel

仓库指标

星标
 (8,939 个星标)
PR 合并指标
 (平均合并 7天 1小时) (30 天内合并 142 个 PR)

描述

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

贡献者指南