[ https://issues.apache.org/jira/browse/IMAP-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913993#action_12913993 ]
Eric Charles commented on IMAP-193: ----------------------------------- oops, I was a bit confused. The *UidNextProvider* would be by default a MemoryUidNextProvider. For stores without auto_increment, I was also thinking to a *UidProvider* that would be injected. This would be also injected with the choice impl (could be FileUidProvider, JPAUidProvider,... or whatever an imaginative developer could think to :). > UIDNEXT generation is a big performance killer and should get reworked > ---------------------------------------------------------------------- > > Key: IMAP-193 > URL: https://issues.apache.org/jira/browse/IMAP-193 > Project: JAMES Imap > Issue Type: Improvement > Affects Versions: 0.1 > Reporter: Norman Maurer > Assignee: Norman Maurer > Fix For: 0.2 > > > In the store api we generate the uid for a new message and guaranteer that > the Mailbox.getLastUid() method will return this value after it is stored. > For this we save the message and the mailbox and use for example a row lock > (in jpa land) for this to get rid of ghost-reads etc. > This is a big performance killer and is not needed at all. In the rfc its > clearly stated that the used uid for the next saved message must just be > equal or bigger then the UIDNEXT value. > From rfc: > Note: The next unique identifier value is intended to > provide a means for a client to determine whether any > messages have been delivered to the mailbox since the > previous time it checked this value. It is not intended to > provide any guarantee that any message will have this > unique identifier. A client can only assume, at the time > that it obtains the next unique identifier value, that > messages arriving after that time will have a UID greater > than or equal to that value. > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org