After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 745545 - [IMAPx] Rewrite job queue to one central
[IMAPx] Rewrite job queue to one central
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.15.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 677841 (view as bug list)
Depends on: 737468
Blocks: 750766
 
 
Reported: 2015-03-03 17:28 UTC by Milan Crha
Modified: 2016-07-18 07:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2015-03-03 17:28:02 UTC
As found out and confirmed at bug #737468, using a per-IMAPXServer job queue is inefficient and can lead to issues like described in that bug report.

The new job queue:
a) should be handled in the connection manager or any other upper object
b) that object will distribute jobs between opened connections (IMAPXServer-s)
c) any waiting for a running job should count with a possibility that
   multiple threads are waiting for the same job, thus possibly fighting
   for resources (it's not enough to ask once for an existing job and
   expect that if the job wait finished unsuccessfully, then a new job can
   be started, because there can be more threads waiting and starting the same
   job in parallel).
Comment 1 Milan Crha 2015-03-10 16:56:30 UTC
*** Bug 677841 has been marked as a duplicate of this bug. ***
Comment 2 Milan Crha 2015-08-04 17:20:33 UTC
I'm not going to commit this into the stable branch (gnome-3-16), the change is quite huge and needs more testing than only that what I did, but otherwise looks good, thus I'm pushed it into the master.

Created commit 267f78c in eds master (3.17.90+)
Comment 3 Paul Menzel 2015-08-07 21:15:59 UTC
According to Milan this also fixes bug #621765.
Comment 4 Tobias Mueller 2016-07-12 12:30:50 UTC
hm. I still get many of those Empty cache file: .cache/evolution/mail/ INBOX/cur/ errors. It's actually every time I receive an email. I'm using 3.20.3. When I get the desktop notification, it still takes a good while for Evolution to show the email in the list. And then I can't read it yet, because it doesn't seem to have been downloaded. Is this a separate issue or should it be tracked here?
Comment 5 Milan Crha 2016-07-18 07:37:58 UTC
(In reply to Tobias Mueller from comment #4)
> hm. I still get many of those Empty cache file: .cache/evolution/mail/
> INBOX/cur/ errors. It's actually every time I receive an email. I'm using
> 3.20.3. When I get the desktop notification, it still takes a good while for
> Evolution to show the email in the list. And then I can't read it yet,
> because it doesn't seem to have been downloaded. Is this a separate issue or
> should it be tracked here?

Too bad. I'd rather open a new bug report for it. Could you try to run evolution with IMAPx debugging, maybe it'll show  what it does in the background. The command to run is:
   $ CAMEL_DEBUG=imapx evolution &>log.txt
only note that the log will contain raw communication between the evolution and all the servers you've configured for IMAP (ideally have enabled only the affected account, if you have more), thus it will expose also message contents, email addresses and so on. I'm not interested in the whole log, but only in the part before the "Empty cache file" error, which will be shown in the log too.