Bug 406136 - DAV resource syncs too eagerly, causing dirty entries
Summary: DAV resource syncs too eagerly, causing dirty entries
Status: REPORTED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: DAV Resource (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR major
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-02 06:56 UTC by Erik Quaeghebeur
Modified: 2022-03-16 11:28 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Quaeghebeur 2019-04-02 06:56:50 UTC
I use Zanshin to manage my todos stored in Akonadi. Zanshin saves as-you-type and therefore a lot of updates happen subsequently in Akonadi. The DAV resource then apparently tries to sync all of those short after each other. This is too fast for the network connection or server and then the edited entry becomes dirty. (Any entry edited or added after that also becomes dirty.) This is unrecoverable in Zanshin or the standard todo application and so I need to do a time-consuming cleanup:

1. Using Akonadiconsole, find the dirty entries, copy their content to a file somewhere and delete them from Akonadi
2. Stop Akonadi
3. Delete the agent_config_akonadi_davgroupware_resource_xy_changes.dat file from ~/.config/akonadi. (N.B.: This file should be placed in ~/.local/share/akonadi I think, but that's another issue.)
4. Restart Akonadi
5. Manually re-edit or re-add the entries that were dirty.

I think that it is a bug that Akonadi syncs so eagerly as to cause dirty entries. It's a major issue, because it requires a cleanup procedure non-skilled people will not be able to find.

I think that as long as Akonadi allows Zanshin to write so eagerly to the database, it should handle such additions intelligently. Probably this means adding a minimal time between syncs or disallow concurrent syncing.

SOFTWARE/OS VERSIONS
Akonadi: 18.12.3 (qtsqlite)
KDE Plasma Version: 5.14.5
KDE Frameworks Version: 5.54.0
Qt Version: 5.11.3