You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by mm...@apache.org on 2022/06/10 11:24:23 UTC

[accumulo] branch main updated: Fix Reference in TabletGroupWatcher (#2764)

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

mmiller 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 0031befaa9 Fix Reference in TabletGroupWatcher (#2764)
0031befaa9 is described below

commit 0031befaa9253b31351d3d626fd96a51e1630b7b
Author: Mike Miller <mm...@apache.org>
AuthorDate: Fri Jun 10 11:24:17 2022 +0000

    Fix Reference in TabletGroupWatcher (#2764)
    
    * Closes #2763
    * Move tabletDir variable down to ReferenceDirectory
---
 core/src/main/java/org/apache/accumulo/core/gc/Reference.java         | 2 --
 .../src/main/java/org/apache/accumulo/core/gc/ReferenceDirectory.java | 2 ++
 .../src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java | 4 +---
 .../java/org/apache/accumulo/manager/upgrade/Upgrader9to10Test.java   | 2 +-
 4 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/gc/Reference.java b/core/src/main/java/org/apache/accumulo/core/gc/Reference.java
index ec820b2a6a..cbc3a28193 100644
--- a/core/src/main/java/org/apache/accumulo/core/gc/Reference.java
+++ b/core/src/main/java/org/apache/accumulo/core/gc/Reference.java
@@ -27,7 +27,6 @@ import org.apache.accumulo.core.metadata.schema.MetadataSchema;
 public class Reference implements Comparable<Reference> {
   // parts of an absolute URI, like "hdfs://1.2.3.4/accumulo/tables/2a/t-0003"
   public final TableId tableId; // 2a
-  public final String tabletDir; // t-0003
 
   // the exact string that is stored in the metadata
   public final String metadataEntry;
@@ -36,7 +35,6 @@ public class Reference implements Comparable<Reference> {
     MetadataSchema.TabletsSection.ServerColumnFamily.validateDirCol(tableId.canonical());
     this.tableId = tableId;
     this.metadataEntry = metadataEntry;
-    this.tabletDir = metadataEntry;
   }
 
   @Override
diff --git a/core/src/main/java/org/apache/accumulo/core/gc/ReferenceDirectory.java b/core/src/main/java/org/apache/accumulo/core/gc/ReferenceDirectory.java
index 8a9ce21899..67d8619d8e 100644
--- a/core/src/main/java/org/apache/accumulo/core/gc/ReferenceDirectory.java
+++ b/core/src/main/java/org/apache/accumulo/core/gc/ReferenceDirectory.java
@@ -24,8 +24,10 @@ import org.apache.accumulo.core.data.TableId;
  * Part of the Tablet File path that is definitely a directory.
  */
 public class ReferenceDirectory extends Reference {
+  public final String tabletDir; // t-0003
 
   public ReferenceDirectory(TableId tableId, String dirName) {
     super(tableId, dirName);
+    this.tabletDir = dirName;
   }
 }
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 cd42491444..4e4ef860a3 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
@@ -53,7 +53,6 @@ import org.apache.accumulo.core.data.TableId;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.dataImpl.KeyExtent;
 import org.apache.accumulo.core.gc.Reference;
-import org.apache.accumulo.core.gc.ReferenceDirectory;
 import org.apache.accumulo.core.logging.TabletLogger;
 import org.apache.accumulo.core.manager.state.tables.TableState;
 import org.apache.accumulo.core.manager.thrift.ManagerState;
@@ -642,8 +641,7 @@ abstract class TabletGroupWatcher extends AccumuloDaemonThread {
         Key key = entry.getKey();
         if (key.compareColumnFamily(DataFileColumnFamily.NAME) == 0) {
           var stf = new StoredTabletFile(key.getColumnQualifierData().toString());
-          var tabletDirectory = new ReferenceDirectory(stf.getTableId(), stf.getTabletDir());
-          datafilesAndDirs.add(tabletDirectory);
+          datafilesAndDirs.add(new Reference(stf.getTableId(), stf.getMetaUpdateDelete()));
           if (datafilesAndDirs.size() > 1000) {
             ample.putGcFileAndDirCandidates(extent.tableId(), datafilesAndDirs);
             datafilesAndDirs.clear();
diff --git a/server/manager/src/test/java/org/apache/accumulo/manager/upgrade/Upgrader9to10Test.java b/server/manager/src/test/java/org/apache/accumulo/manager/upgrade/Upgrader9to10Test.java
index 60e196d11d..67f67340f9 100644
--- a/server/manager/src/test/java/org/apache/accumulo/manager/upgrade/Upgrader9to10Test.java
+++ b/server/manager/src/test/java/org/apache/accumulo/manager/upgrade/Upgrader9to10Test.java
@@ -98,7 +98,7 @@ public class Upgrader9to10Test {
 
   private void compareReferences(Reference ref1, Reference ref2) {
     assertEquals(ref1.metadataEntry, ref2.metadataEntry);
-    assertEquals(ref1.tabletDir, ref2.tabletDir);
+    assertEquals(ref1.tableId, ref2.tableId);
   }
 
   @Test