kde-pim dev needed, for a sponsored open source effort, to remove akonadi
Martin Steigerwald
martin at lichtvoll.de
Sat Mar 17 12:45:09 GMT 2018
Dear Paul.
This may still contain spelling mistakes and so on, but I read through it
about 2 times, so sending it as is now:
First off: I acknowledge that there are performance *and* stability related
issues with KMail on Akonadi. There is no point in denying that. They are in
part due to how Akonadi currently handles some things. I was busy with other
things and I bet Dan was too, but I really look forward to provide the in-
depth technical information that Dan shared with Sandro, Pablo and me with the
public, even if initially just by posting some mails to KDEPIM developer
mailing list.
Second: I easily spend about one hour for writing this detailed response. On
hour that I did not use to do other things to help moving beyond the current
situations with KDEPIM + Akonadi. I am certainly not interested in engaging a
lot in a discussion on this list that may just end up being fruitless. I am
interested in helping to move things along, i.e. really doing something that
is effective. As I am not doing any of this during my day job as well. So
after this long and elaborate mail I may not respond much more to this thread.
Paul Vixie - 16.03.18, 22:18:
> so there are two things i am unclear on, wrt akonadi's problems.
>
> looked at: https://marc.info/?l=kde-pim&m=151777761106658&w=2
>
> question 1: how did it ever get this bad? clearly the design and
> implementation was not stress tested or stringently reviewed.
I am not a KDEPIM dev, I just spent and spend some effort to help moving
things in a positive direction. Take my answer as my personal impression:
I think the answer to your question is two-fold:
1) It is challenging to get right from the beginning. Doing such an
asynchronous personal information management system that works independently
from the applications, like Akonadi, is a challenging task. Protocols like
IMAP are complex already, how to handle errors during connection, like for
example not being able to store a mail onto the IMAP server, is even more so.
Akonadi currently misses replaying payloads (that is mails, appointments) to
their backend storage (be it local maildir or IMAP server) in case the initial
attempt to store them there failed. Server-side change as proposed by Dan can
fix that.
2) There are only a few developers working on KDEPIM. Often in their spare
time beside their daily job. This is where funding might be able to help
depending on how flexible their current employers are and whether those
developers would be willing to accept money from sponsors. The Krita project
people successfully raised quite some money several times and has a developer
(or even two at the end?) work on specific topics.
Paul, your approach to pay to basically rewrite quite some amount of KDEPIM to
work with something other than Akonadi might even make sense… but I take the
word of KDEPIM developers like Dan, Sandro, and others that it would be a
really, really huge effort. I think that Sink which is used for Kube is not
there yet as it focuses on just IMAP based setups, but I am happily told
otherwise. And also Sink is quite different in a lot of ways, so porting
things over to it, may also be a quite huge effort.
So I find it highly unlikely that one of them would agree to work on a fork of
KDEPIM. Why?
1. I think it is safe for me to say that current KDEPIM developers plan to use
Akonadi. They don´t think its feasible to replace it with something else at
the current point in time.
2. It would split the developer, tester and user community even more.
3. And how I understood Dan who really looked deep into the internals of
Akonadi with the four major changes I mentioned in the other mail, it would be
possible to remove the reason for the majority of all current bug reports.
So I believe that going about fixing Akonadi may easily still be way less
effort than basically rewriting lots of KDEPIM from scratch.
However it appears to still be quite some effort. And there are only a few
developers available at the moment who are capable to do this work. And these
are developing on KDEPIM in their spare time. That is why I thought that
publishing what Dan wrote to us during a very constructive private mail
exchange about the inner workings of Akonadi, the current technical
shortcomings and ways on how to solve them for good, can be helpful to attract
other developers at least for some parts of the work.
However, putting a condition on the sponsoring that developers have to remove
Akonadi… would be requiring the current KDEPIM developers to work against what
they think is most suitable. I think it is unlikely for you this way to
attract one of the current KDEPIM developers as you are basically opposing
they way they want to fix things in KDEPIM.
I do think you may be able to go a longer way if you offer money so that
KDEPIM developers can spend more time to work on the four major changes I
mentioned in the other mail. However I fully appreciate that you want to read
more about it before committing to spend money on it and… it would still be
the decision of the developer whether to agree to step back from his current
job a bit in order to free up more time for a temporary development task.
I plan to spend some of my time to help making the information Dan shared
privately with us available on KDEPIM development mailing list. I handed it to
Dan himself to post the information, but it seems he did not have the time, so
I offered my help to him just today.
> question 2: why would we stress test or stringently review a fix, given
> that akonadi + kde-pim as it is, wasn't tested or reviewed, and is
> unusably bad?
I don´t get what you mean by that?
As far as I got it from Dan and other developers Akonadi has been tested and
reviewed. One issue in all of that is that Akonadi to KDEPIM developers quite
some issues don´t seem to happen on developer boxes. One reason for that may
be the sheer amount of different ways to configure and setup Akonadi and
KDEPIM. And well some shortcomings in Akonadi that can lead to bugs that only
happen some of the time.
> background:
>
> i have to shut down kmail and akonadi whenever i'm not reading e-mail,
> to keep it from eating my 12-hour battery in 45 minutes, and to protect
> my network bandwidth. when i start it back up i have to do it in a very
> particular order since only the first imap connection to come up will be
> able to do IDLE, and the kolabsys imap server _only_ works if you do
> IDLE. and then akonadi has to check _every single folder_ to find out if
> anything has changed. and then if anything has changed it has to
> re-download _every single message_ in that folder. including trash,
> which usually has thousands of messages in it. so i'm in it for a
> minimum of a gigabyte of bandwith and 15% of my battery just to start
> kmail back up, which i have to do whenever i receive encrypted e-mail.
First off, do you use disconnected IMAP?
Second: AFAIK it does not redownload every message, but with disconnected IMAP
it synchronizes what is has locally with the contents of the folders on the
IMAP server. I do think that it may be doing that *way* too often and it would
be beneficial to be able to specify how often it does that. I have seen it
doing it after pressing the delete key to delete a mail about 5-10 times in a
folder. I have reported several bug reports related to that.
> conclusion:
>
> my view is, don't ask for second set of eyes on code or testing, just
> commit patches to make akonadi better, because nothing you can break
> that way would be worse than the current situation.
While I certainly acknowledge that you are facing real issues, let me tell you
this: Not everyone does.
I still have KDEPIM + Akonadi 17.08 here and I not see most of the issues you
mentioned. I do see performance related issues with my large POP3 + maildir
private setup and I reduced this recently by tarring together old mails from
mailing lists and then removing them from the maildir. But I am talking about
way more than a 1 million of mails here. The work related account with uses
IMAP works quite fine. There are some issues with losing the IMAP connection
rarely, but as Akonadi talkes to an Exchange based IMAP account, I am not
really all that surprised it. For me it helped setting it not to cache all
mails locally. So it just caches the most recent ones.
Thanks,
--
Martin
More information about the kdepim-users
mailing list