You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2023/10/06 22:52:05 UTC

[accumulo] branch elasticity updated: fixes merge (#3828)

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

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


The following commit(s) were added to refs/heads/elasticity by this push:
     new 0d82c1a654 fixes merge (#3828)
0d82c1a654 is described below

commit 0d82c1a654505ad2c84776bac5d6b2aceae535b7
Author: Keith Turner <kt...@apache.org>
AuthorDate: Fri Oct 6 18:52:00 2023 -0400

    fixes merge (#3828)
    
    merge was broken by #3705
---
 .../src/main/java/org/apache/accumulo/manager/Manager.java        | 2 +-
 .../main/java/org/apache/accumulo/manager/TabletGroupWatcher.java | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
index 4fbe6bc407..57936973c0 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
@@ -749,7 +749,7 @@ public class Manager extends AbstractServer
         final boolean overlaps = mergeInfo.overlaps(extent);
 
         if (overlaps) {
-          log.debug("mergeInfo overlaps: {} true", extent);
+          log.debug("mergeInfo overlaps: {} true {}", extent, mergeInfo.getState());
           switch (mergeInfo.getState()) {
             case NONE:
             case COMPLETE:
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java b/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
index 627e2ab427..23c8501207 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
@@ -327,6 +327,8 @@ abstract class TabletGroupWatcher extends AccumuloDaemonThread {
   private static class TableMgmtStats {
     int[] counts = new int[TabletState.values().length];
     private int totalUnloaded;
+
+    Map<TableId,MergeStats> mergeStatsCache = new HashMap<>();
   }
 
   private TableMgmtStats manageTablets(Iterator<TabletManagement> iter,
@@ -337,7 +339,6 @@ abstract class TabletGroupWatcher extends AccumuloDaemonThread {
     TableMgmtStats tableMgmtStats = new TableMgmtStats();
     int unloaded = 0;
 
-    Map<TableId,MergeStats> mergeStatsCache = new HashMap<>();
     Map<TableId,MergeStats> currentMerges = new HashMap<>();
     for (MergeInfo merge : manager.merges()) {
       if (merge.getExtent() != null) {
@@ -396,7 +397,7 @@ abstract class TabletGroupWatcher extends AccumuloDaemonThread {
 
       final TableConfiguration tableConf = manager.getContext().getTableConfiguration(tableId);
 
-      final MergeStats mergeStats = mergeStatsCache.computeIfAbsent(tableId, k -> {
+      final MergeStats mergeStats = tableMgmtStats.mergeStatsCache.computeIfAbsent(tableId, k -> {
         var mStats = currentMerges.get(k);
         return mStats != null ? mStats : new MergeStats(new MergeInfo());
       });
@@ -634,8 +635,7 @@ abstract class TabletGroupWatcher extends AccumuloDaemonThread {
               tabletMgmtStats.totalUnloaded);
         }
 
-        // TODO
-        // updateMergeState(mergeStatsCache);
+        updateMergeState(tabletMgmtStats.mergeStatsCache);
 
         synchronized (this) {
           lastScanServers = ImmutableSortedSet.copyOf(currentTServers.keySet());