Hi ,
I installed James using the docker image linagora/james-jpa-sample.
After starting and configuring it , the server works fine for a while. I
don't know the exact time , but after some activity , I am unable to connect
to the IMAP server. The only way I am able to recover my server is
restarting the container.
The error that I see in the log is the following :
15:24:39.824 [ERROR] o.a.j.i.p.b.AbstractChainedProcessor - Error while
processing IMAP request
org.apache.openjpa.persistence.PersistenceException: Multiple concurrent
threads attempted to access a single broker. By default brokers are not
thread safe; if you require and/or intend a broker to be accessed by more
than one thread, set the openjpa.Multithreaded property to true to override
the default behavior.
at
org.apache.openjpa.kernel.BrokerImpl.endOperation(BrokerImpl.java:1987)
at
org.apache.openjpa.kernel.BrokerImpl.isActive(BrokerImpl.java:1935)
at
org.apache.openjpa.kernel.DelegatingBroker.isActive(DelegatingBroker.java:47
5)
at
org.apache.openjpa.persistence.EntityManagerImpl.isActive(EntityManagerImpl.
java:678)
at
org.apache.openjpa.persistence.PersistenceExceptions$2.translate(Persistence
Exceptions.java:74)
at
org.apache.openjpa.kernel.DelegatingBroker.translate(DelegatingBroker.java:1
06)
at
org.apache.openjpa.kernel.DelegatingBroker.newObjectId(DelegatingBroker.java
:317)
at
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java
:487)
at
org.apache.james.mailbox.jpa.quota.JPAPerUserMaxQuotaManager.getMaxMessage(J
PAPerUserMaxQuotaManager.java:104)
at
org.apache.james.mailbox.store.quota.StoreQuotaManager.getMessageQuota(Store
QuotaManager.java:52)
at
org.apache.james.imap.processor.GetQuotaRootProcessor.doProcess(GetQuotaRoot
Processor.java:81)
at
org.apache.james.imap.processor.GetQuotaRootProcessor.doProcess(GetQuotaRoot
Processor.java:53)
at
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractM
ailboxProcessor.java:110)
at
org.apache.james.imap.processor.AbstractMailboxProcessor.process(AbstractMai
lboxProcessor.java:97)
at
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractM
ailboxProcessor.java:89)
at
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractM
ailboxProcessor.java:71)
at
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(Abstra
ctChainedProcessor.java:65)
at
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(Abstra
ctChainedProcessor.java:74)
at
org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived
(ImapChannelUpstreamHandler.java:196)
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleCh
annelUpstreamHandler.java:70)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPi
peline.java:564)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.
sendUpstream(DefaultChannelPipeline.java:791)
at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceive
d(FrameDecoder.java:462)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.jav
a:443)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecode
r.java:303)
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleCh
annelUpstreamHandler.java:70)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPi
peline.java:564)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.
sendUpstream(DefaultChannelPipeline.java:791)
at
org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(Channel
UpstreamEventRunnable.java:43)
at
org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunna
ble.java:67)
at
org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$Child
Executor.run(OrderedMemoryAwareThreadPoolExecutor.java:314)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
49)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
24)
at java.lang.Thread.run(Thread.java:748)
Any help is welcome. Thank you