[Kde-pim] Review Request: Fix broken collection comparision leading to resource hangs

Volker Krause vkrause at kde.org
Tue Jun 9 14:58:47 BST 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/806/#review1286
-----------------------------------------------------------

Ship it!


Please commit without the changes to collection.cpp, this has side-effects on collectionsync, which relies on the fact that two new collections are not equal currently. I'll fix Task::operator==() instead.

- Volker


On 2009-06-08 18:35:30, Thomas McGuire wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/806/
> -----------------------------------------------------------
> 
> (Updated 2009-06-08 18:35:30)
> 
> 
> Review request for KDE PIM and Volker Krause.
> 
> 
> Summary
> -------
> 
> Comparing two new Collection objects currently says the collections are different, which triggers an interesting cascade: Equal Task objects were not detected as equal, therefore a check in the resource scheduler that should prevent that more than one change replay tasks fails. Therefore, multiple change replay tasks were in the task queue, and under some special circumstances, that can trigger a change replay when there are 0 pending notification left. In that case, since of the missing notifications, taskDone() on the change replay task was never called, leading to a resource hang.
> 
> Frankly I have no idea what the lastId stuff in the Collection constructor was, I hope it was not needed by something.
> 
> This fixes the POP3 unit test.
> 
> 
> Diffs
> -----
> 
>   trunk/KDE/kdepimlibs/akonadi/changerecorder.cpp 978931 
>   trunk/KDE/kdepimlibs/akonadi/collection.cpp 978931 
>   trunk/KDE/kdepimlibs/akonadi/tests/CMakeLists.txt 978931 
>   trunk/KDE/kdepimlibs/akonadi/tests/resourceschedulertest.h PRE-CREATION 
>   trunk/KDE/kdepimlibs/akonadi/tests/resourceschedulertest.cpp PRE-CREATION 
> 
> Diff: http://reviewboard.kde.org/r/806/diff
> 
> 
> Testing
> -------
> 
> Added minimal testcase for this.
> The POP3 unit tests also cover this bug.
> 
> I tried to run the unit tests, but akonadi-db-testenvironmenttest hangs already, guess that has nothing to do with this patch.
> 
> Did not do application testing.
> 
> 
> Thanks,
> 
> Thomas
> 
>

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list