You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Tellier Benoit (JIRA)" <se...@james.apache.org> on 2017/07/25 02:10:00 UTC

[jira] [Created] (JAMES-2098) Improve SetInMailboxes speed

Tellier Benoit created JAMES-2098:
-------------------------------------

             Summary: Improve SetInMailboxes speed
                 Key: JAMES-2098
                 URL: https://issues.apache.org/jira/browse/JAMES-2098
             Project: James Server
          Issue Type: Improvement
            Reporter: Tellier Benoit


I was surprised to realise how SetInMailboxes operation is slow. See the attached screenshots for rationals. It was generated while sorting 2 weeks of email. Thus, I had an optimisation round on my free time. I found:

 - That we can avoid a read in StoreMessageIdManager by avoiding calling delete (which comes at the cost of extra reads).
 - We can avoid updating flags when none specified

The last point implies:
 - Avoiding extra reads before updating flags
 - Avoiding noop updates of search engine
 - This noop updates is, in fact, a replace with current flags, which can compete with parallel flags updates. Thus, this optimisation also improve concurrent behaviours, by uncoupling SetFlags and SetInMailboxes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org