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

dlmarion 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 130d0ed6a5 added trace level logging for Fate statuses (#6372)
130d0ed6a5 is described below

commit 130d0ed6a5a9d226959a1cb94f1328c3d400bcc8
Author: Arbaaz Khan <[email protected]>
AuthorDate: Thu Jun 4 15:01:48 2026 -0400

    added trace level logging for Fate statuses (#6372)
---
 .../manager/tableOps/bulkVer2/BulkImportMove.java      | 10 ++++++++++
 .../manager/tableOps/compact/CompactionDriver.java     | 18 ++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
index 492a61efd6..a1f258091e 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
@@ -40,7 +40,10 @@ import org.apache.accumulo.manager.Manager;
 import org.apache.accumulo.manager.tableOps.ManagerRepo;
 import org.apache.accumulo.server.fs.VolumeManager;
 import org.apache.accumulo.server.zookeeper.TransactionWatcher.ZooArbitrator;
+import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Bulk import makes requests of tablet servers, and those requests can take a 
long time. Our
@@ -61,6 +64,7 @@ class BulkImportMove extends ManagerRepo {
 
   private static final long serialVersionUID = 1L;
 
+  private static final Logger log = 
LoggerFactory.getLogger(BulkImportMove.class);
   private final BulkInfo bulkInfo;
 
   public BulkImportMove(BulkInfo bulkInfo) {
@@ -74,6 +78,12 @@ class BulkImportMove extends ManagerRepo {
 
     VolumeManager fs = manager.getVolumeManager();
 
+    if (log.isTraceEnabled()) {
+      FileStatus[] files = fs.listStatus(sourceDir);
+      log.trace("{} bulk import move starting. source:{} dest:{} files to 
move:{}",
+          FateTxId.formatTid(tid), sourceDir, bulkDir, files == null ? 0 : 
files.length);
+    }
+
     if (bulkInfo.tableState == TableState.ONLINE) {
       ZooArbitrator.start(manager.getContext(), 
Constants.BULK_ARBITRATOR_TYPE, tid);
     }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
index d2d56c59a4..8721ddc56d 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
@@ -23,6 +23,9 @@ import static 
org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType
 import static 
org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.LOCATION;
 import static 
org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.PREV_ROW;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.accumulo.core.Constants;
 import 
org.apache.accumulo.core.clientImpl.AcceptableThriftTableOperationException;
 import org.apache.accumulo.core.clientImpl.TableOperationsImpl;
@@ -109,6 +112,7 @@ class CompactionDriver extends ManagerRepo {
 
     int tabletsToWaitFor = 0;
     int tabletCount = 0;
+    List<String> waitingDetail = log.isTraceEnabled() ? new ArrayList<>() : 
null;
 
     TabletsMetadata tablets = 
TabletsMetadata.builder(manager.getContext()).forTable(tableId)
         .overlapping(startRow, endRow).fetch(LOCATION, PREV_ROW, 
COMPACT_ID).build();
@@ -119,6 +123,11 @@ class CompactionDriver extends ManagerRepo {
         if (tablet.hasCurrent()) {
           serversToFlush.increment(tablet.getLocation().getServerInstance(), 
1);
         }
+        if (waitingDetail != null && waitingDetail.size() < 5) {
+          String loc = tablet.hasCurrent() ? 
tablet.getLocation().getServerInstance().getHostPort()
+              : "no location";
+          waitingDetail.add(tablet.getExtent() + "@" + loc);
+        }
       }
 
       tabletCount++;
@@ -179,6 +188,15 @@ class CompactionDriver extends ManagerRepo {
           "{} tablets compacted:{}/{} servers contacted:{} expected id:{} 
compaction extent:{} sleepTime:{}",
           FateTxId.formatTid(tid), tabletCount - tabletsToWaitFor, tabletCount,
           serversToFlush.size(), compactId, extent, sleepTime);
+
+      StringBuilder sb = new StringBuilder();
+      waitingDetail.forEach(d -> sb.append("\n    waiting on ").append(d));
+      if (tabletsToWaitFor > waitingDetail.size()) {
+        sb.append(String.format("\n    ... and %d more", tabletsToWaitFor - 
waitingDetail.size()));
+      }
+      if (sb.length() > 0) {
+        log.trace("{}", sb);
+      }
     }
 
     return sleepTime;

Reply via email to