You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2022/03/29 20:07:43 UTC
[accumulo] branch main updated: Use ServerContext.getScheduledExecutor where appropriate (#2593)
This is an automated email from the ASF dual-hosted git repository.
dlmarion 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 cbd689f Use ServerContext.getScheduledExecutor where appropriate (#2593)
cbd689f is described below
commit cbd689fbce9f3d4d0c521ef896e5787970733fbe
Author: Dave Marion <dl...@apache.org>
AuthorDate: Tue Mar 29 16:07:37 2022 -0400
Use ServerContext.getScheduledExecutor where appropriate (#2593)
Reviewed the direct usage of ThreadPools.createGeneralScheduledExecutorService
and compared it to the usage of Timer and SimpleTimer in version 2.0.1. Found
and fixed a case in SessionManager where a new SheduledThreadPool was being created
in each SessionManager but a shared instance of SimpleTimer was being used in
the previous version.
---
.../src/main/java/org/apache/accumulo/server/ServerContext.java | 5 ++---
.../java/org/apache/accumulo/tserver/session/SessionManager.java | 6 ++++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
index 835430b..16b841e 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
@@ -455,9 +455,8 @@ public class ServerContext extends ClientContext {
*/
public synchronized ScheduledThreadPoolExecutor getScheduledExecutor() {
if (sharedScheduledThreadPool == null) {
- sharedScheduledThreadPool =
- (ScheduledThreadPoolExecutor) ThreadPools.getServerThreadPools().createExecutorService(
- getConfiguration(), Property.GENERAL_SIMPLETIMER_THREADPOOL_SIZE, true);
+ sharedScheduledThreadPool = ThreadPools.getServerThreadPools()
+ .createGeneralScheduledExecutorService(getConfiguration());
}
return sharedScheduledThreadPool;
}
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
index 8c21c1d..d608f29 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
@@ -65,8 +65,10 @@ public class SessionManager {
private final List<Session> idleSessions = new ArrayList<>();
private final Long expiredSessionMarker = (long) -1;
private final AccumuloConfiguration aconf;
+ private final ServerContext ctx;
public SessionManager(ServerContext context) {
+ this.ctx = context;
this.aconf = context.getConfiguration();
maxUpdateIdle = aconf.getTimeInMillis(Property.TSERV_UPDATE_SESSION_MAXIDLE);
maxIdle = aconf.getTimeInMillis(Property.TSERV_SESSION_MAXIDLE);
@@ -279,8 +281,8 @@ public class SessionManager {
}
};
- ScheduledFuture<?> future = ThreadPools.getServerThreadPools()
- .createGeneralScheduledExecutorService(aconf).schedule(r, delay, TimeUnit.MILLISECONDS);
+ ScheduledFuture<?> future =
+ ctx.getScheduledExecutor().schedule(r, delay, TimeUnit.MILLISECONDS);
ThreadPools.watchNonCriticalScheduledTask(future);
}
}