This is an automated email from the ASF dual-hosted git repository.

kturner pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/2.1 by this push:
     new 8e823f53c5 syncs ZK before reading root tablet metadata (#3601)
8e823f53c5 is described below

commit 8e823f53c5d191d9b16da43e12183305d3b58bd0
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Tue Jul 18 11:25:41 2023 -0400

    syncs ZK before reading root tablet metadata (#3601)
---
 .../org/apache/accumulo/core/metadata/schema/TabletsMetadata.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
 
b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
index f6042f184b..600e889f5e 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
@@ -537,7 +537,11 @@ public class TabletsMetadata implements 
Iterable<TabletMetadata>, AutoCloseable
       case IMMEDIATE:
         ZooReader zooReader = ctx.getZooReader();
         try {
-          byte[] bytes = zooReader.getData(zkRoot + RootTable.ZROOT_TABLET);
+          var path = zkRoot + RootTable.ZROOT_TABLET;
+          // attempt (see ZOOKEEPER-1675) to ensure the latest root table 
metadata is read from
+          // zookeeper
+          zooReader.sync(path);
+          byte[] bytes = zooReader.getData(path);
           return new RootTabletMetadata(new String(bytes, 
UTF_8)).toTabletMetadata();
         } catch (InterruptedException | KeeperException e) {
           throw new RuntimeException(e);

Reply via email to