Page MenuHomePhorge

KMail loads folder forever
Closed, ResolvedPublic

Description

It can happen that kmail loads a folder for a very long time, and within that time no other operations are possible.
This happens due to an ItemFetchJob blocking the complete session.

The ItemFetchJob takes so long, because requested parts are not locally available (cacheOnly() is false because we need on-demand fetching),
and the ItemRetriever then ends up requesting each message in the folder (typically several thousand), one by one. This naturally takes forever,
and the fetchjob remains blocked during the whole time.

Details

Ticket Type
Task

Event Timeline

mollekopf raised the priority of this task from to 60.
mollekopf updated the task description. (Show Details)
mollekopf added a project: KDE PIM.
mollekopf changed Ticket Type from Task to Task.
mollekopf subscribed.

To fix this problem we need a non-blocking fetchjob that triggers the on-demand sync, but doesn't manually retrieve each individual message.
That way we can avoid blocking the session, and messages that could not be retrieved immediately will be added to the ETM via monitor signals.

We also need to investigate how it can happen that a folder is available, but containing a bunch of items with either no or the wrong payload parts (so the itemretriever ends up going to the server for every single item.

This shouldn't normally happen.

mollekopf claimed this task.
mollekopf moved this task from Backlog to Functionality Blockers on the KDE PIM board.

The non-blocking behavior has been implemented in the akonadi server.