From b7c56986a102aa71ea35b3b7bdc67b087cbe46b6 Mon Sep 17 00:00:00 2001 From: Sumeet Varma Date: Wed, 20 Mar 2024 14:59:20 -0700 Subject: [PATCH] Nit improvements --- protocol_rfcs/managed-commits.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/protocol_rfcs/managed-commits.md b/protocol_rfcs/managed-commits.md index 92210d433d3..8b1a2df2255 100644 --- a/protocol_rfcs/managed-commits.md +++ b/protocol_rfcs/managed-commits.md @@ -161,11 +161,13 @@ Even after a commit succeeds, Delta clients can only discover the commit through have no way to determine which file in `_delta_log/_commits` directory corresponds to the actual commit `v`. The commit-owner is responsible to implement an API (defined by the Delta client) that Delta clients can use to retrieve information about un-backfilled commits maintained -by the commit-owner. The API must also return the latest version of the table ratified by commit-owner (if any). +by the commit-owner. The API must also return the latest version of the table ratified by the commit-owner (if any). Providing the latest ratified table version helps address potential race conditions between listing commits and contacting the commit-owner. For example, if a client performs a listing before a recently ratified commit is backfilled, and then contacts the commit-owner after the backfill completes, the commit-owner may return an empty list of un-backfilled commits. Without knowing the latest ratified version, the client might incorrectly assume their listing was complete -and read a stale snapshot. Delta clients who are unaware of the commit-owner (or unwilling to talk to it), may not see recent un-backfilled commits and thus may encounter stale reads. +and read a stale snapshot. + +Delta clients who are unaware of the commit-owner (or unwilling to talk to it), may not see recent un-backfilled commits and thus may encounter stale reads. ## Sample Commit Owner API @@ -200,8 +202,8 @@ interface CommitStore { * Note that returning latestTableVersion as -1 is acceptable only if the commit-owner never * ratified any version i.e. it never accepted any un-backfilled commit. * - * @return GetCommitsResponse which has a list of `Commit` and the latestTableVersion which are - * tracked by commit-owner. + * @return GetCommitsResponse which contains a list of `Commit`s and the latestTableVersion + * tracked by the commit-owner. */ def getCommits( startVersion: Long,