Uploaded image for project: 'James Imap'
  1. James Imap
  2. IMAP-193

UIDNEXT generation is a big performance killer and should get reworked

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.1
    • 0.2-M1
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            norman Norman Maurer
            norman Norman Maurer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: