You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2019/05/06 21:49:28 UTC

[qpid-broker-j] branch master updated: QPID-8304: [Broker-J][JDBC Message Store] Performance bottleneck at the level of the executor

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

orudyy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git


The following commit(s) were added to refs/heads/master by this push:
     new d36d309  QPID-8304: [Broker-J][JDBC Message Store] Performance bottleneck at the level of the executor
d36d309 is described below

commit d36d30951129fde2f56d3f2e80a436d6ffb93d7e
Author: overmeulen <ov...@murex.com>
AuthorDate: Tue Apr 30 08:58:29 2019 +0200

    QPID-8304: [Broker-J][JDBC Message Store] Performance bottleneck at the level of the executor
    
    This closes #29
---
 .../apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java
index bae485e..de8fef2 100644
--- a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java
+++ b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java
@@ -86,6 +86,9 @@ public abstract class AbstractJDBCMessageStore implements MessageStore
     private static final int IN_CLAUSE_MAX_SIZE_DEFAULT = 1000;
     static final String IN_CLAUSE_MAX_SIZE = "qpid.jdbcstore.inClauseMaxSize";
 
+    private static final int EXECUTOR_THREADS_DEFAULT = Runtime.getRuntime().availableProcessors();
+    private static final String EXECUTOR_THREADS = "qpid.jdbcstore.executorThreads";
+
     private static final int DB_VERSION = 8;
 
     private final AtomicLong _messageId = new AtomicLong(0);
@@ -219,7 +222,10 @@ public abstract class AbstractJDBCMessageStore implements MessageStore
     protected void initMessageStore(final ConfiguredObject<?> parent)
     {
         _parent = parent;
-        _executor = new ScheduledThreadPoolExecutor(4, new ThreadFactory()
+
+        int corePoolSize = getContextValue(Integer.class, EXECUTOR_THREADS, EXECUTOR_THREADS_DEFAULT);
+
+        _executor = new ScheduledThreadPoolExecutor(corePoolSize, new ThreadFactory()
         {
             private final AtomicInteger _count = new AtomicInteger();
             @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org