Author: norman
Date: Sun Oct 9 17:38:18 2011
New Revision: 1180661
URL: http://svn.apache.org/viewvc?rev=1180661&view=rev
Log:
Skip messages in response which were not found in msn<->uid mappings. See
IMAP-346
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java?rev=1180661&r1=1180660&r2=1180661&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
Sun Oct 9 17:38:18 2011
@@ -232,8 +232,18 @@ abstract public class AbstractMailboxPro
MessageResult mr = it.next();
final long uid = mr.getUid();
int msn = selected.msn(uid);
- if (msn == SelectedMailbox.NO_SUCH_MESSAGE)
- throw new MailboxException("No message found with uid " + uid);
+ if (msn == SelectedMailbox.NO_SUCH_MESSAGE) {
+ if (session.getLog().isDebugEnabled()) {
+ if(session.getLog().isDebugEnabled()) {
+ session.getLog().debug("No message found with uid " +
uid + " in the uid<->msn mapping for mailbox " +
selected.getPath().getFullName(mailboxSession.getPathDelimiter()) +" , this may
be because it was deleted by a concurrent session. So skip it..");
+
+ }
+ // skip this as it was not found in the mapping
+ //
+ // See IMAP-346
+ continue;
+ }
+ }
boolean qresyncEnabled =
EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC);
boolean condstoreEnabled =
EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_CONDSTORE);
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java?rev=1180661&r1=1180660&r2=1180661&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
Sun Oct 9 17:38:18 2011
@@ -277,8 +277,16 @@ public class StoreProcessor extends Abst
final long uid = entry.getKey();
final int msn = selected.msn(uid);
- if (msn == SelectedMailbox.NO_SUCH_MESSAGE)
- throw new MailboxException("No message found with uid " +
uid);
+ if (msn == SelectedMailbox.NO_SUCH_MESSAGE) {
+ if(session.getLog().isDebugEnabled()) {
+ session.getLog().debug("No message found with uid " +
uid + " in the uid<->msn mapping for mailbox " +
selected.getPath().getFullName(mailboxSession.getPathDelimiter()) +" , this may
be because it was deleted by a concurrent session. So skip it..");
+
+ }
+ // skip this as it was not found in the mapping
+ //
+ // See IMAP-346
+ continue;
+ }
final Flags resultFlags = entry.getValue();
final Long resultUid;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]