[
https://issues.apache.org/jira/browse/IMAP-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13009621#comment-13009621
]
Norman Maurer commented on IMAP-268:
------------------------------------
After checking again the RFC I think 1) is correct. From the RFC:
7.3.1. EXISTS Response
Contents: none
The EXISTS response reports the number of messages in the mailbox.
This response occurs as a result of a SELECT or EXAMINE command,
and if the size of the mailbox changes (e.g., new messages).
The update from the EXISTS response MUST be recorded by the
client.
Example: S: * 23 EXISTS
So from my understanding this would even be true for messages which are marked
for deletion.
So +1 for the change!
> Possible race condition
> -----------------------
>
> Key: IMAP-268
> URL: https://issues.apache.org/jira/browse/IMAP-268
> Project: JAMES Imap
> Issue Type: Bug
> Reporter: Wojtek Strzalka
> Assignee: Wojtek Strzalka
>
> When selecting messages UIDs are loaded to UidToMsnConverter.
> Then when unsoliciteted response is created it reads message count directly
> from the store - when change is notified client can ask for the message
> before it's added to UidToMsnConverter (via listener) and this causes BAD
> when there is an error in calculating range.
> To avoid this (and also avoid asking store each time) message count should be
> computed from selected list.
> The only question is:
> 1. should we return all the messages in the UidToMsnConverter (messages are
> not delete from there until EXPUNGED is returned) - this is what Zimbra do
> 2. should we do real message count UidToMsnConverter size - expungedUids size
> (this is very similiar to what we do now)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]