Github user shoukunhuai commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1894#discussion_r170405300
--- Diff:
artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java
---
@@ -1488,7 +1494,13 @@ public synchronized void start() throws Exception {
beforeStart();
- singleThreadExecutor = executorFactory.getExecutor();
+ ThreadFactory tFactory = AccessController.doPrivileged(new
PrivilegedAction<ThreadFactory>() {
+ @Override
+ public ThreadFactory run() {
+ return new ActiveMQThreadFactory("ActiveMQ-journal-server-" +
this.toString(), true, ClientSessionFactoryImpl.class.getClassLoader());
+ }
+ });
+ singleThreadExecutor = Executors.newSingleThreadExecutor(tFactory);
--- End diff --
We believe this happens when
- using fixed thread pool which is the default, and
- an address has many producers, more then thread pool's size, and
- the address is about to exit paging state
---