[
https://issues.apache.org/jira/browse/JAMES-2465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tellier Benoit closed JAMES-2465.
---------------------------------
> Concurrency issue in LocalDelivery upon INBOX provisionning
> -----------------------------------------------------------
>
> Key: JAMES-2465
> URL: https://issues.apache.org/jira/browse/JAMES-2465
> Project: James Server
> Issue Type: Bug
> Components: Mailet Contributions, tests
> Reporter: Tellier Benoit
> Priority: Major
> Fix For: 3.2.0
>
>
> MailAppender attempt to create the mailbox if it do not exist yet:
> {code:java}
> private void createMailboxIfNotExist(MailboxSession session, MailboxPath
> path) throws MailboxException {
> if (!mailboxManager.mailboxExists(path, session)) {
> mailboxManager.createMailbox(path, session);
> }
> }
> {code}
> The problem is that in a concurrent environment, a mailbox can be created
> between the test and the mailbox creation. In that case mailboc creation
> fails:
> {code:java}
> org.apache.james.mailbox.exception.MailboxExistsException: Mailbox with
> name=#private:[email protected]:INBOX already exists.
> at
> org.apache.james.mailbox.store.StoreMailboxManager.createMailbox(StoreMailboxManager.java:497)
> at
> org.apache.james.transport.mailets.delivery.MailboxAppender.createMailboxIfNotExist(MailboxAppender.java:86)
> at
> org.apache.james.transport.mailets.delivery.MailboxAppender.appendMessageToMailbox(MailboxAppender.java:73)
> at
> org.apache.james.transport.mailets.delivery.MailboxAppender.append(MailboxAppender.java:64)
> ... 40 common frames omitted
> Wrapped by: javax.mail.MessagingException: Unable to access mailbox.
> at
> org.apache.james.transport.mailets.delivery.MailboxAppender.append(MailboxAppender.java:66)
> at
> org.apache.james.transport.mailets.delivery.MailboxAppender.append(MailboxAppender.java:46)
> at
> org.apache.james.transport.mailets.delivery.SimpleMailStore.storeMail(SimpleMailStore.java:95)
> at
> org.apache.james.transport.mailets.delivery.MailDispatcher.deliver(MailDispatcher.java:125)
> at
> org.apache.james.transport.mailets.delivery.MailDispatcher.customizeHeadersAndDeliver(MailDispatcher.java:113)
> at
> org.apache.james.transport.mailets.delivery.MailDispatcher.dispatch(MailDispatcher.java:90)
> at
> org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:62)
> {code}
> We need to ignore such errors...
> note that this issue was causing
> *ToRepositoryTest.userShouldBeAbleToAccessReprocessedMails* test to be
> unstable...
> {code:java}
> ToRepositoryTest.userShouldBeAbleToAccessReprocessedMails:133 ยป
> ConditionTimeout
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]