activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Денис Кирпиченков <denis.kirpichen...@gmail.com>
Subject org.apache.activemq.artemis.core.journal.impl.JournalImpl
Date Fri, 02 Jun 2017 09:20:12 GMT
Hello, All!

I work on an application that uses artemis in embedded mode and sometimes
(due to unexpected external coditions) the app processes any single message
very slow. But in any cases artemis has constantly high rate of input
messages. For example, artemis receives 100-200 messages per second, but
due to slow consumers it could deliver only 10-20 messages per second.
As you can image, described conditions cause an OutOfMemoryError,
eventually.
After an investigation I found that ConcurrentHashMap<Long,
JournalRecord> records in
org.apache.activemq.artemis.core.journal.impl.JournalImpl holds a lot of
information about messages which is waiting to be delivered.

Artemis is configured to have a persisted journal, but anyway
JournalImpl.records grows on any new received message as far as JVM heap
allows.

And my questions, is there any workaround? maybe configuration tweaks?
How do you think is it ok to make JournalImpl.records backed by
disk-storage, to limit it's heap usage.

--
Best regards,
Denis

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message