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

keith-turner pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new ad2cc81405 fixes redundant update count calculation (#6595)
ad2cc81405 is described below

commit ad2cc8140549f2ebf33528c92cd8294db08aa41d
Author: Keith Turner <[email protected]>
AuthorDate: Fri Oct 16 15:07:04 2026 -0400

    fixes redundant update count calculation (#6595)
    
    ZooBasedConfiguration.getUpdateCount() would compute the update count for 
all
    parent levels.  This is unessecary because getParent().getUpdateCount() 
includes
    its parent count if it has one.
    
    Moved getParent() from AccumuloConfiguration to ZooBasedConfiguration as it 
was
    only used by ZooBasedConfiguration and its subclasses.
---
 .../apache/accumulo/core/conf/AccumuloConfiguration.java   |  9 ---------
 .../org/apache/accumulo/core/conf/SiteConfiguration.java   |  5 -----
 .../apache/accumulo/server/conf/ZooBasedConfiguration.java | 14 ++------------
 3 files changed, 2 insertions(+), 26 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 74f7f13b24..b8bb4f0fe3 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -627,15 +627,6 @@ public abstract class AccumuloConfiguration implements 
Iterable<Entry<String,Str
    */
   public void invalidateCache() {}
 
-  /**
-   * get a parent configuration or null if it does not exist.
-   *
-   * @since 2.1.0
-   */
-  public AccumuloConfiguration getParent() {
-    return null;
-  }
-
   public Stream<Entry<String,String>> stream() {
     return StreamSupport.stream(this.spliterator(), false);
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
index 62efdc8c38..aac3f3ecc3 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
@@ -284,9 +284,4 @@ public class SiteConfiguration extends 
AccumuloConfiguration {
       }
     });
   }
-
-  @Override
-  public AccumuloConfiguration getParent() {
-    return parent;
-  }
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooBasedConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooBasedConfiguration.java
index 8119cbf30b..3a1a6902ab 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooBasedConfiguration.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooBasedConfiguration.java
@@ -82,23 +82,13 @@ public class ZooBasedConfiguration extends 
AccumuloConfiguration {
    */
   @Override
   public long getUpdateCount() {
-    long count = 0;
-    long dataVersion = 0;
-    for (AccumuloConfiguration p = this; p != null; p = p.getParent()) {
-      if (p instanceof ZooBasedConfiguration) {
-        dataVersion = ((ZooBasedConfiguration) p).getDataVersion();
-      } else {
-        dataVersion = p.getUpdateCount();
-      }
-      count += dataVersion;
-    }
+    long count = getDataVersion() + getParent().getUpdateCount();
 
     log.trace("update count result for: {} - data version: {} update: {}", 
propStoreKey,
-        dataVersion, count);
+        getDataVersion(), count);
     return count;
   }
 
-  @Override
   public AccumuloConfiguration getParent() {
     return parent;
   }

Reply via email to