From 567d448420bee3e1690cb89873f15483c8e94ca5 Mon Sep 17 00:00:00 2001 From: Carmen Kwan Date: Tue, 1 Oct 2024 19:05:08 +0200 Subject: [PATCH] [Protocol] Amend Row Tracking Protocol to explicitly require domainMetadata (#3740) #### Which Delta project/connector is this regarding? - [ ] Spark - [ ] Standalone - [ ] Flink - [ ] Kernel - [x] Other (Protocol changes) ## Description Right now, the Delta protocol for Row tracking references the DomainMetadata table feature, but does not explicitly state domainMetadata as one of its required table feature like e.g. Clusteredtable. The code in `TableFeature.scala` accurately lists domainMetadata as one of the required table feature. This PR amends the Protocol to accurately reflect the state of the system and the remainder of the Row tracking proposition. Row Tracking cannot require writers to write DomainMetadata if it is not listing domainMetadata as one of its required feature. This is also to be consistent with how other table features handle listing their required table features. ## How was this patch tested? N/A ## Does this PR introduce _any_ user-facing changes? 'No' --- PROTOCOL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PROTOCOL.md b/PROTOCOL.md index 74f85891904..f7b4a3bff01 100644 --- a/PROTOCOL.md +++ b/PROTOCOL.md @@ -1063,7 +1063,7 @@ Row Tracking is defined to be **supported** or **enabled** on a table as follows Enablement: - The table must be on Writer Version 7. -- The feature `rowTracking` must exist in the table `protocol`'s `writerFeatures`. +- The feature `rowTracking` must exist in the table `protocol`'s `writerFeatures`. The feature `domainMetadata` is required in the table `protocol`'s `writerFeatures`. - The table property `delta.enableRowTracking` must be set to `true`. ## Row IDs