Dovecot, JavaMail, UIDs and Message Numbers
Hi, new to this list, so a little prelude to my issue with Dovecot. We have been using JavaMail against Cyrus for ages, and developed Webtop, a huge Java web collaboration application running on them in production in various installations for all this time. Recently we had to run the same software against Dovecot pre-existing accounts running on Nethesis NethServer solution. After some time of testing, we started having an intermittent problem, where Dovecot started reindexing when Webtop was trying to issue sort or search commands. The same accounts previously worked with Thunderbird clients and/or RoundCube interface, never facing this problem. Digging into the issue, we compared the imap protocol produced by Thunderbird, RoundCube and Webtop, discovering that JavaMail is internally all based on message numbers, so any sort/search/fetch is a normal SORT/SEARCH/FETCH, while RC and TB always use UID SORT/UID SEARCH/UID FETCH. We tried to convert our code to use UIDs instead of msgnums, but turned out to be a huge rewrite of JavaMail, because of how JavaMail imap implementation is tied to msgnums. So my questions are:
- is it a known fact that Dovecot prefers and performs better with UIDs than with msgnums?
- is there any tweak we can do on Dovecot to work better on msgnums?
- anybody already faced this issue with JavaMail/Dovecot? Thanks for any suggestion, Gabriele.
On 10/28/2015 12:53 PM, Gabriele Bulfon wrote:
Hi, new to this list, so a little prelude to my issue with Dovecot. We have been using JavaMail against Cyrus for ages, and developed Webtop, a huge Java web collaboration application running on them in production in various installations for all this time. Recently we had to run the same software against Dovecot pre-existing accounts running on Nethesis NethServer solution. After some time of testing, we started having an intermittent problem, where Dovecot started reindexing when Webtop was trying to issue sort or search commands. The same accounts previously worked with Thunderbird clients and/or RoundCube interface, never facing this problem. Digging into the issue, we compared the imap protocol produced by Thunderbird, RoundCube and Webtop, discovering that JavaMail is internally all based on message numbers, so any sort/search/fetch is a normal SORT/SEARCH/FETCH, while RC and TB always use UID SORT/UID SEARCH/UID FETCH. We tried to convert our code to use UIDs instead of msgnums, but turned out to be a huge rewrite of JavaMail, because of how JavaMail imap implementation is tied to msgnums. So my questions are:
- is it a known fact that Dovecot prefers and performs better with UIDs than with msgnums?
- is there any tweak we can do on Dovecot to work better on msgnums?
- anybody already faced this issue with JavaMail/Dovecot?
Dovecot doesn't care if you use msgnums of UIDs. They both work fine. Your problem has to be something else. What exactly do you mean by "Dovecot started reindexing"? Dovecot's normal indexes or full text search indexes? How have you configured everything? Does Dovecot log anything (especially any errors/warnings about anything)?
In this case, this is no more my field, I will ask the NethServer gurus to check what you asked. Thanks a lot Gabriele
Da: Timo Sirainen A: Gabriele Bulfon dovecot@dovecot.org Cc: Cristian Manoni Giacomo Sanchietti Raffaele Fullone Matteo Albinola Data: 29 ottobre 2015 11.41.28 CET Oggetto: Re: Dovecot, JavaMail, UIDs and Message Numbers On 10/28/2015 12:53 PM, Gabriele Bulfon wrote: Hi, new to this list, so a little prelude to my issue with Dovecot. We have been using JavaMail against Cyrus for ages, and developed Webtop, a huge Java web collaboration application running on them in production in various installations for all this time. Recently we had to run the same software against Dovecot pre-existing accounts running on Nethesis NethServer solution. After some time of testing, we started having an intermittent problem, where Dovecot started reindexing when Webtop was trying to issue sort or search commands. The same accounts previously worked with Thunderbird clients and/or RoundCube interface, never facing this problem. Digging into the issue, we compared the imap protocol produced by Thunderbird, RoundCube and Webtop, discovering that JavaMail is internally all based on message numbers, so any sort/search/fetch is a normal SORT/SEARCH/FETCH, while RC and TB always use UID SORT/UID SEARCH/UID FETCH. We tried to convert our code to use UIDs instead of msgnums, but turned out to be a huge rewrite of JavaMail, because of how JavaMail imap implementation is tied to msgnums. So my questions are:
- is it a known fact that Dovecot prefers and performs better with UIDs than with msgnums?
- is there any tweak we can do on Dovecot to work better on msgnums?
- anybody already faced this issue with JavaMail/Dovecot? Dovecot doesn't care if you use msgnums of UIDs. They both work fine. Your problem has to be something else. What exactly do you mean by "Dovecot started reindexing"? Dovecot's normal indexes or full text search indexes? How have you configured everything? Does Dovecot log anything (especially any errors/warnings about anything)?
participants (2)
-
Gabriele Bulfon
-
Timo Sirainen