Tellier Benoit created JAMES-2350: ------------------------------------- Summary: JPA max quota manager is not thread safe Key: JAMES-2350 URL: https://issues.apache.org/jira/browse/JAMES-2350 Project: James Server Issue Type: Bug Components: IMAPServer, jpa Affects Versions: master Reporter: Tellier Benoit Fix For: master
`Yeikel Santana` encountered the following error: {code:java} 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) {code} We need to issue parallel IMAP `GETQUOTAROOT` calls on top of JPA James Server and ensure that we reproduce this bug. Then we need to solve it. Then ensure our test pass. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org