Get Involved/Quality/Beta/4.10/PIMFeeders

From KDE Community Wiki

PIM Feeder Rewrite

The PIM Feeders have changed.

However as it is a change being merged very late into the release cycle we should test it to death. Below is a checklist with everything that should be tested. It's mostly moving code, so all should be fine. However it's important to still make sure this is released tested as it has missed some of the testing cycle.

When you find something which is broken or not perfect, open a bug report and note down the bug number near the test.

Changes

  • On startup, every non-email item is queried for the last-modification time to find items which have been modified while the feeder has been turned off. => After startup the feeder should bring all items up-to date, so there remain no unindexed or outdated items.
  • If a large batch of modified/added email items comes in, the feeder should skip those changes and not try to index them all.
  • A recurring task, which is triggered on startup and every 30min (if some emails have been skipped only), queries for not indexed email items and adds them to the indexing queue.
  • Some performance improvements.

Testing

  • Try changing a lot of emails (e.g. by marking them as read), "batch detected, skipping" should appear in the console, and after the batch is through "end of batch".
  • Performance testing for the initial queries:
    • "Finding Unindexed took (ms): " should report how long the query for unindexed items took (for me that's around 30s usually with 100'000 items in my db.
    • The non-email query is finished when the indexer changes its status to "Indexing Completed".
  • If the indexer is disabled either through the kcm or by turning the agent offline, it shouldn't cause any activity, and the change-recorder files shouldn't grow anymore even with a lot of modified items. The changerecorder files are:
    • .config/akonadi/agent_config_akonadi_nepomuk_feeder_changes.dat
    • .kde4/share/apps/akonadi_nepomuk_feeder/lowPrioQueue
    • .kde4/share/apps/akonadi_nepomuk_feeder/highPrioQueue