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: > > > Hi Gilberto > > > > Out of curiosity, how large is the video file? > > > > Clearing the faulty mail is needed to restore the server. Backup then > > clear files for ActiveMQ... > > > > Can you also share the JVM options used to run James? > > > > -- > > > > 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. 7, 2026 10:47 AM, de Rene Cordier Hi > > Gilberto, > > > > I ain't much of a JPA expert but I will try to answer to the best of > my > > capabilities, hoping it helps you. > > > > I think the EmbeddedActiveMq class creates a default activemq broker > > with default storage settings, which must be around 20mb. The > attachment > > of your user seems slitghly bigger than this limit, filling up the > > queue. James keeps crashing then I guess as the message keeps staying > in > > the queue. > > > > Is the faulty email important to keep or not? If not can try to clear > > away the queue. The data of activemq should be inside the container at > > /var/store/activemq. > > > > I think you can try to clean what's in > > /var/store/activemq/brokers/KahaDB/* (cf > > > > > github.com/apache/james-project/blob/3.8.x/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/EmbeddedActiveMQ.java > > > <http://github.com/apache/james-project/blob/3.8.x/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/EmbeddedActiveMQ.java>>; > ) > > > > I guess you could back up the data as well, > from /var/store/activemq, > > and reinject the data in an external volume with more space that you > can > > mount then in /var/store/activemq ? > > > > There is unfortunately no configuration for ActiveMQ storage space. > The > > configuration file would be activemq.properties, but I think it is > just > > about some metrics configuration so far. But maybe that could be a > nice > > contribution to propose? > > > > Regarding the migration from 3.8 to 3.9, here there is a file for > > upgrade instructions in general: > > > > > github.com/apache/james-project/blob/master/upgrade-instructions.md#390-version > > > <http://github.com/apache/james-project/blob/master/upgrade-instructions.md#390-version>> > ; > > I must admit people need to figure out which upgrade concerns which > > product, if concerned or not, it's not really practical sorry. We got > > room for improvement here I think too. > > > > Let me know if this helps you. > > > > Good luck :) > > > > Rene. > > > > On 4/3/26 08:05, Gilberto Espinoza wrote: > > > Hi Apache James Brain Trust, > > > > > > I am having issues with my James server. I am running James 3.8, > JPA > > in a > > > Docker Container. A user was attempting to email a large video > file > > and > > > that seems to have crashed the server. I get this message in the > log > > file: > > > > > > [WARN ] o.a.a.b.r.Queue - Usage(Main:store:queue://spool:store) > > > percentUsage=100%, usage=20779975, limit=20765548, > > > percentUsageMinDelta=1%;Parent:Usage(Main:store) > percentUsage=100%, > > > usage=20779975, limit=20765548, percentUsageMinDelta=1%: > Persistent > > store > > > is Full, 100% of 20765548. Stopping producer > > > (ID:7a04cd6de807-43041-1775136440917-5:2:1:1) to prevent flooding > > > queue://spool. > > > > > > I am struggling to figure out how to resolve this issue (I found > this > > link, > > > but I am unable to figure where the ActiveMQ files are located) ( > > > > > > knowledge.informatica.com/s/article/Persistent-store-is-Full-100-of-Stopping-producer-ID-to-prevent-flooding-error-in-DataExchange-logs?language=en_US > > > <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>>; > > > > ; > > ). > > > > > > I would appreciate your help in resolving this issue (restarting > the > > server > > > has not helped). How do you stop the "producer"? > > > > > > Also, where can I find the configuration file for ActiveMQ? > > > > > > I would also like to know how to back up the database files, if > that > > is > > > possible? > > > > > > Is there any documentation on how to migrate from 3.8 to 3.9? > > > > > > I look forward to any feedback. > > > > > > Best regards, > > > > > > Gil Espinoza > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] >
