From 3e528b93413c893491bfd3b592570ee107243bf9 Mon Sep 17 00:00:00 2001 From: Dave Marion Date: Wed, 30 Sep 2026 15:25:08 +0000 Subject: [PATCH 1/2] Log information about wal entries and size when closed --- .../main/java/org/apache/accumulo/tserver/TabletServer.java | 5 ++--- .../java/org/apache/accumulo/tserver/log/DfsLogger.java | 6 ++++++ .../org/apache/accumulo/tserver/log/TabletServerLogger.java | 4 +++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java index b6fc4695f4f..ecb26871809 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java @@ -1425,11 +1425,10 @@ public void walogClosed(DfsLogger currentLog) throws WalMarkerException { closedLogs.add(currentLog); clSize = closedLogs.size(); } - log.info("Marking " + currentLog.getPath() + " as closed. Total closed logs " + clSize); + log.info("Marking {} as closed. Total closed logs: {} ", currentLog.getPath(), clSize); walMarker.closeWal(getTabletSession(), currentLog.getPath()); } else { - log.info( - "Marking " + currentLog.getPath() + " as unreferenced (skipping closed writes == 0)"); + log.info("Marking {} as unreferenced (skipping closed writes == 0)", currentLog.getPath()); walMarker.walUnreferenced(getTabletSession(), currentLog.getPath()); } } diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java index c404214bac9..f7c17bfa9be 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java @@ -37,6 +37,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; +import java.util.Objects; import java.util.Optional; import java.util.UUID; import java.util.concurrent.CountDownLatch; @@ -567,6 +568,11 @@ public synchronized long getWrites() { return writes; } + public synchronized long size() { + Objects.requireNonNull(logFile, "logFile is null"); + return logFile.getPos(); + } + public LoggerOperation defineTablet(CommitSession cs) throws IOException { // write this log to the METADATA table final LogFileKey key = new LogFileKey(); diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java index 7c7dc3e6706..ec816ead126 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java @@ -328,7 +328,7 @@ public void run() { // it's possible the log was advertised in ZK even though we got an // exception. If there's a chance the WAL marker may have been created, // this will ensure it's closed. Either the close will be written and - // the GC will clean it up, or the tserver is about to die due to sesson + // the GC will clean it up, or the tserver is about to die due to session // expiration and the GC will also clean it up. try { tserver.walogClosed(alog); @@ -371,6 +371,8 @@ private synchronized void close() throws IOException { if (currentLog != null) { try { currentLog.close(); + log.info("Closing write-ahead log: {}, entries written: {}, bytes written: {}", + currentLog.getFileName(), currentLog.getWrites(), currentLog.size()); } catch (DfsLogger.LogClosedException ex) { // ignore } catch (Exception ex) { From dd0712b8b1c3cb569c8a742bdd4bbebfe17d473b Mon Sep 17 00:00:00 2001 From: Dave Marion Date: Thu, 1 Oct 2026 13:21:42 +0000 Subject: [PATCH 2/2] Updated method name --- .../main/java/org/apache/accumulo/tserver/log/DfsLogger.java | 2 +- .../org/apache/accumulo/tserver/log/TabletServerLogger.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java index f7c17bfa9be..90e67351497 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java @@ -568,7 +568,7 @@ public synchronized long getWrites() { return writes; } - public synchronized long size() { + public synchronized long getBytesWritten() { Objects.requireNonNull(logFile, "logFile is null"); return logFile.getPos(); } diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java index ec816ead126..caa6ace170c 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java @@ -372,7 +372,7 @@ private synchronized void close() throws IOException { try { currentLog.close(); log.info("Closing write-ahead log: {}, entries written: {}, bytes written: {}", - currentLog.getFileName(), currentLog.getWrites(), currentLog.size()); + currentLog.getFileName(), currentLog.getWrites(), currentLog.getBytesWritten()); } catch (DfsLogger.LogClosedException ex) { // ignore } catch (Exception ex) {