Thank you. I will take a look at the pull request.

On Sat, Apr 11, 2026 at 10:53 PM Benoit TELLIER <[email protected]>
wrote:

> Hello
> The issue is that 77mb do not fit in auto configured 20mb.
> René opened https://github.com/apache/james-project/pull/2999 which
> allows configuring the memory limit and would allow you a workaround.
> --
>
> Best regards,
>
> Benoit TELLIER
>
> General manager of Linagora VIETNAM.
> Product owner for Twake-Mail product.
> Chairman of the Apache James project.
>
> Mail: [email protected]
> Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)
>
>
> Le avr. 11, 2026 9:53 PM, de Gilberto Espinoza <[email protected]>Dear
> Rene,
>
> Thanks for the reply. I was able to locate the activemq folder and deleted
> the files. That resolved the issue.
>
> I'll review the information at the link you provided about migration. It
> seems it is not a straightforward undertaking.
>
> @Benoit:
>
> The file size is about 77.5MB.
>
> I do experience frequent memory issues, mainly because I run on a Linux
> Linode with only 2GB of RAM. But this was the first time I experience the
> persistent storage issue with activemq.
>
> Here is the content of the jvm. properties file:
>
> # ============================================= Extra JVM System Properties
> ===========================================
> # To avoid clutter on the command line, any properties in this file will be
> added as system properties on server start.
>
> # Example: If you need an option -Dmy.property=whatever, you can instead
> add it here as
> # my.property=whatever
>
> # (Optional). String (size, integer + size units, example: `12 KIB`,
> supported units are bytes KIB MIB GIB TIB). Defaults to 100KIB.
> # This governs the threshold MimeMessageInputStreamSource relies on for
> storing MimeMessage content on disk.
> # Below, data is stored in memory. Above data is stored on disk.
> # Lower values will lead to longer processing time but will minimize heap
> memory usage. Modern SSD hardware
> # should however support a high throughput. Higher values will lead to
> faster single mail processing at the cost
> # of higher heap usage.
> #james.message.memory.threshold=12K
>
> # Optional. Boolean. Defaults to false. Recommended value is false.
> # Should MimeMessageWrapper use a copy of the message in memory? Or should
> bigger message exceeding james.message.memory.threshold
> # be copied to temporary files?
> #james.message.usememorycopy=false
>
> # Mode level of resource leak detection. It is used to detect a resource
> not be disposed of before it's garbage-collected.
> # Example `MimeMessageInputStreamSource`
> # Optional. Allowed values are: none, simple, advanced, testing
> #   - none: Disables resource leak detection.
> #   - simple: Enables output a simplistic error log if a leak is
> encountered and would free the resources (default).
> #   - advanced: Enables output an advanced error log implying the place of
> allocation of the underlying object and would free resources.
> #   - testing: Enables output an advanced error log implying the place of
> allocation of the underlying object and rethrow an error, that action is
> being taken by the development team.
> #james.lifecycle.leak.detection.mode=simple
>
> # Should we add the host in the MDC logging context for incoming IMAP,
> SMTP, POP3? Doing so, a DNS resolution
> # is attempted for each incoming connection, which can be costly. Remote IP
> is always added to the logging context.
> # Optional. Boolean. Defaults to true.
> #james.protocols.mdc.hostname=true
>
> # Manage netty leak detection level see
> netty.io/wiki/reference-counted-objects.html#leak-detection-levels
> # io.netty.leakDetection.level=SIMPLE
>
> # Should James exit on Startup error? Boolean, defaults to true. This
> prevents partial startup.
> # james.exit.on.startup.error=true
>
> # Fails explicitly on missing configuration file rather that taking
> implicit values. Defautls to false.
> # james.fail.on.missing.configuration=true
>
> # JMX, when enable causes RMI to plan System.gc every hour. Set this
> instead to once every 1000h.
> sun.rmi.dgc.server.gcInterval=3600000000
> <http://voice.google.com/calls?a=nc,%2B13600000000>
> sun.rmi.dgc.client.gcInterval=3600000000
>
> # Automatically generate a JMX password upon start. CLI is able to retrieve
> this password.
> james.jmx.credential.generation=true
>
> # Disable Remote Code Execution feature from JMX
> # CF
>
> github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9e306bc1422/src/java.management/share/classes/com/sun/jmx/remote/security/MBeanServerAccessController.java#L646
> jmx.remote.x.mlet.allow.getMBeansFromURL=false
>
> -Xms1024M
>
> Thanks,
>
> Gil Espinoza
>
> On Tue, Apr 7, 2026 at 1:17 PM Benoit TELLIER  wrote:
>
> &gt; Hi Gilberto
> &gt;
> &gt; Out of curiosity, how large is the video file?
> &gt;
> &gt; Clearing the faulty mail is needed to restore the server. Backup then
> &gt; clear files for ActiveMQ...
> &gt;
> &gt; Can you also share the JVM options used to run James?
> &gt;
> &gt; --
> &gt;
> &gt; Best regards,
> &gt;
> &gt; Benoit TELLIER
> &gt;
> &gt; General manager of Linagora VIETNAM.
> &gt; Product owner for Twake-Mail product.
> &gt; Chairman of the Apache James project.
> &gt;
> &gt; Mail: [email protected]
> &gt; Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)
> &gt;
> &gt;
> &gt; Le avr. 7, 2026 10:47 AM, de Rene Cordier Hi
> &gt; Gilberto,
> &gt;
> &gt; I ain't much of a JPA expert but I will try to answer to the best of
> my
> &gt; capabilities, hoping it helps you.
> &gt;
> &gt; I think the EmbeddedActiveMq class creates a default activemq broker
> &gt; with default storage settings, which must be around 20mb. The
> attachment
> &gt; of your user seems slitghly bigger than this limit, filling up the
> &gt; queue. James keeps crashing then I guess as the message keeps staying
> in
> &gt; the queue.
> &gt;
> &gt; Is the faulty email important to keep or not? If not can try to clear
> &gt; away the queue. The data of activemq should be inside the container at
> &gt; /var/store/activemq.
> &gt;
> &gt; I think you can try to clean what's in
> &gt; /var/store/activemq/brokers/KahaDB/* (cf
> &gt;
> &gt;
> github.com/apache/james-project/blob/3.8.x/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/EmbeddedActiveMQ.java
> &gt
> <http://github.com/apache/james-project/blob/3.8.x/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/EmbeddedActiveMQ.java&gt>;
> )
> &gt;
> &gt; I guess you could back up the data as well,
> from&nbsp;/var/store/activemq,
> &gt; and reinject the data in an external volume with more space that you
> can
> &gt; mount then in&nbsp;/var/store/activemq ?
> &gt;
> &gt; There is unfortunately no configuration for ActiveMQ storage space.
> The
> &gt; configuration file would be activemq.properties, but I think it is
> just
> &gt; about some metrics configuration so far. But maybe that could be a
> nice
> &gt; contribution to propose?
> &gt;
> &gt; Regarding the migration from 3.8 to 3.9, here there is a file for
> &gt; upgrade instructions in general:
> &gt;
> &gt;
> github.com/apache/james-project/blob/master/upgrade-instructions.md#390-version
> &gt
> <http://github.com/apache/james-project/blob/master/upgrade-instructions.md#390-version&gt>
> ;
> &gt; I must admit people need to figure out which upgrade concerns which
> &gt; product, if concerned or not, it's not really practical sorry. We got
> &gt; room for improvement here I think too.
> &gt;
> &gt; Let me know if this helps you.
> &gt;
> &gt; Good luck :)
> &gt;
> &gt; Rene.
> &gt;
> &gt; On 4/3/26 08:05, Gilberto Espinoza wrote:
> &gt; &gt; Hi Apache James Brain Trust,
> &gt; &gt;
> &gt; &gt; I am having issues with my James server. I am running James 3.8,
> JPA
> &gt; in a
> &gt; &gt; Docker Container. A user was attempting to email a large video
> file
> &gt; and
> &gt; &gt; that seems to have crashed the server. I get this message in the
> log
> &gt; file:
> &gt; &gt;
> &gt; &gt; [WARN ] o.a.a.b.r.Queue - Usage(Main:store:queue://spool:store)
> &gt; &gt; percentUsage=100%, usage=20779975, limit=20765548,
> &gt; &gt; percentUsageMinDelta=1%;Parent:Usage(Main:store)
> percentUsage=100%,
> &gt; &gt; usage=20779975, limit=20765548, percentUsageMinDelta=1%:
> Persistent
> &gt; store
> &gt; &gt; is Full, 100% of 20765548. Stopping producer
> &gt; &gt; (ID:7a04cd6de807-43041-1775136440917-5:2:1:1) to prevent flooding
> &gt; &gt; queue://spool.
> &gt; &gt;
> &gt; &gt; I am struggling to figure out how to resolve this issue (I found
> this
> &gt; link,
> &gt; &gt; but I am unable to figure where the ActiveMQ files are located) (
> &gt; &gt;
> &gt;
> knowledge.informatica.com/s/article/Persistent-store-is-Full-100-of-Stopping-producer-ID-to-prevent-flooding-error-in-DataExchange-logs?language=en_US
> &gt
> <http://knowledge.informatica.com/s/article/Persistent-store-is-Full-100-of-Stopping-producer-ID-to-prevent-flooding-error-in-DataExchange-logs?language=en_US&gt>;
> &gt;
> &gt; ;
> &gt; ).
> &gt; &gt;
> &gt; &gt; I would appreciate your help in resolving this issue (restarting
> the
> &gt; server
> &gt; &gt; has not helped). How do you stop the "producer"?
> &gt; &gt;
> &gt; &gt; Also, where can I find the configuration file for ActiveMQ?
> &gt; &gt;
> &gt; &gt; I would also like to know how to back up the database files, if
> that
> &gt; is
> &gt; &gt; possible?
> &gt; &gt;
> &gt; &gt; Is there any documentation on how to migrate from 3.8 to 3.9?
> &gt; &gt;
> &gt; &gt; I look forward to any feedback.
> &gt; &gt;
> &gt; &gt; Best regards,
> &gt; &gt;
> &gt; &gt; Gil Espinoza
> &gt; &gt;
> &gt;
> &gt; ---------------------------------------------------------------------
> &gt; To unsubscribe, e-mail: [email protected]
> &gt; For additional commands, e-mail: [email protected]
>

Reply via email to