JUL
29
2011

Disabling Nepomuk in Akonadi

When I upgraded my KDE-setup to 4.7.0 I run into the problem that when starting the brand new KMail based upon Akonadi that the Nepomuk-feeder started to index my imap-folders.

The Nepomuk-feeder is used to enable offline fulltext-search. A rather cool feature but the drawback is that it's needed to index all my mails. That can be a rather time-intensive operation if you happen to have a large imap-inbox like me has. In total I've approximated a few millions mails in there. I rarely use fulltext search and especially not on my imap-account. So I was looking for a way to disable that feature and to prevent the Nepomuk-feeder from running through those mails. With the help of a friendly Akonadi-developer I found a way I like to share with you.

Disclaimer: Note that the way is rather hacky and I strongly suggest to not do that if you don't need to. I am sure in near future there will be a better way. Probably even more sensitive defaults that don't try to index all of your mails but only those that are of particular interest (e.g. inbox and send mails).

So, here we go. Start the "akonadiconsole" application e.g. via KRunner (ALT+F2) and add the string "akonadiconsole" in there + press Enter to start the AkonadiConsole. The warning that pops up explaining that it's a developer-tool is meaned so. Be careful what you do with that application!

Once the akonadiconsole started you can remove anything that has "Nepomuk" in it's name from the "Agents" page. In particular this are the agents;

* Nepomuk Calendar Feeder
* Nepomuk Contact Feeder
* Nepomuk EMail Feeder

The last one was the interesting one for me. So, it should be enough to only remove that one to prevent Nepomuk from indexing your E-Mails. The other two agents are for indexing your Calendar (KOrganizer) and your Contacts (KAddressBook). They will not be used if not needed so you don't need to remove them if you either don't use those other PIM-applications or don't have large (I mean really large) amounts of data in there.

That was it already. Maybe it's needed to explicit remove the already running instances (not sure there since I just had to quit KMail and restart again and the Nepomuk-feeder process wasn't running anymore).

p.s. to make this more clear;

This blog-entry does NOT mean that I or anybody else suggest to not use Nepomuk. Nepomuk is a cool, innovative and needed technology! I am sure that this particular scenario will be solved in a better way soon. But till then I had the feeling I need to share this finding (cause I wasn't able to figure it out myself) and point at the great AkonadiConsole-tool. But remember that using that developer-tool is at your own risk. It's NOT an end-user tool! Thanks :-)

Comments

Mhm, just out of interest, shouldn't the email feeder only index mails that are downloaded already anyway? At least thats how I understood it when looking at the configure dialog. It says "Local and cached content". I wouldn't have thought that online is meant by "local content".

I left it enabled anyway, cause I didn't see problems, but I'm curious now. :)

PS: BTW, I wouldn't really call it "hacky" to start a configuration utility to disable a feature. ;)


By gemuend at Fri, 07/29/2011 - 21:27

If you do not see problems then you can leave them enabled. I only disabled them cause after starting KMail even half a hour later I still had 25% CPU usage. The feeders where still running through all mails and not only those explicit downloaded (as in viewed). That makes even sense cause on a fulltext-search I would probably like to search through all mails (of a or multiple specific folders) independent of there already-viewed/-downloaded state.

I think it is hacky cause 1) that's a developer-tool not supposed to be used by end-users and 2) imho it should not be needed to change anything with a default setup cause sensitive defaults are the key. But yes, that needs time and cannot be achieved in one night plus different users, different requirements what makes it so difficult.

In any case it's cool that Akonadi follows the KDE-way here to allow to explicit change such settings to match more to my requirements :-)


By Sebastian Sauer at Sat, 07/30/2011 - 13:52

I think the behavior on Android phones is quite sensible. Search only displays results in your cached mails, but displays a button that says "Continue search on server". Perhaps something like that could be implemented. And afaik the IMAP protocol has a SEARCH command, doesn't it?


By gemuend at Sun, 07/31/2011 - 14:08

That is exactly how it was fixed by the Akonadi developers meanwhile. Only cached mails are indexed what makes lot of sense.


By Sebastian Sauer at Tue, 09/20/2011 - 03:42

I also needed to remove the "Autostart" flag from the Nepomuk feeders (https://bugs.kde.org/show_bug.cgi?id=258171#c3), otherwise those Akonadi agents start again.


By aspotashev at Fri, 07/29/2011 - 21:44

Interesting. Thanks for sharing. For faster reading I attach the linked comment (it wasn't needed for me to apply this steps but then my KDE-setup is rather old and I only upgrade but don't reinstall since years);

------- Comment #3 From Alexander Potashev 2011-06-26 18:14:27 -------
This is how Nepomuk feeders can be disables (including error messages from them):
1. Go to /usr/share/akonadi/agents/
2. Remove "Autostart" from the "X-Akonadi-Capabilities" parameter in all files named nepomuk*.desktop (nepomukcalendarfeeder.desktop, nepomukcontactfeeder.desktop, ...)
3. Run "akonadiconsole" and remove all resources related to Nepomuk
4. You might also need to run "kbuildsycoca4" after editing .desktop files, but I'm not sure if it's necessary


By Sebastian Sauer at Sat, 07/30/2011 - 13:31