This is an automated email from the ASF dual-hosted git repository. kturner 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 d5756e8f2d decrements total queued mutation size when update idles (#5236) d5756e8f2d is described below commit d5756e8f2d39ed114794d5a695d2e09203ee57ae Author: Keith Turner <ktur...@apache.org> AuthorDate: Wed Jan 8 11:42:58 2025 -0500 decrements total queued mutation size when update idles (#5236) fixes #5235 --- .../org/apache/accumulo/tserver/TabletClientHandler.java | 16 +++++++++++++++- .../java/org/apache/accumulo/tserver/TabletServer.java | 7 ++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java index c6b3873902..7ef64352d9 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java @@ -258,7 +258,21 @@ public class TabletClientHandler implements TabletClientService.Iface { UpdateSession us = new UpdateSession(new TservConstraintEnv(server.getContext(), security, credentials), - credentials, durability); + credentials, durability) { + @Override + public boolean cleanup() { + // This is called when a client abandons a session. When this happens need to decrement + // any queued mutations. + if (queuedMutationSize > 0) { + log.trace( + "cleaning up abandoned update session, decrementing totalQueuedMutationSize by {}", + queuedMutationSize); + server.updateTotalQueuedMutationSize(-queuedMutationSize); + queuedMutationSize = 0; + } + return true; + } + }; return server.sessionManager.createSession(us, false); } 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 3a3ad3f3b1..beb2e550a6 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 @@ -417,7 +417,12 @@ public class TabletServer extends AbstractServer implements TabletHostingServer } public long updateTotalQueuedMutationSize(long additionalMutationSize) { - return totalQueuedMutationSize.addAndGet(additionalMutationSize); + var newTotal = totalQueuedMutationSize.addAndGet(additionalMutationSize); + if (log.isTraceEnabled()) { + log.trace("totalQueuedMutationSize is now {} after adding {}", newTotal, + additionalMutationSize); + } + return newTotal; } @Override