[kde-freebsd] Akonadi/mysqld problems

Dwayne MacKinnon dmk at ncf.ca
Wed Jun 13 02:08:14 UTC 2012


On June 13, 2012 03:51:03 AM Alberto Villa wrote:
> On Wed, May 30, 2012 at 10:08 PM, Dwayne MacKinnon <dmk at ncf.ca> wrote:
> > Done some further digging:
> Thanks!

You're welcome! :D

> > It appears that something is going on with the db connections between
> > mysqld and akonadi. The net_read_timeout value is being invoked,
> > somehow. Basically, under the default value, 30, 30 seconds after you
> > start up akonadi mysqld kills all the connections. Akonadi expects
> > persistent connections... the conf file it uses resets wait_timeout to 1
> > year.
> > 
> > I'm currently experimenting with changing net_read_timeout, although
> > obviously this is a hack fix. I've set it to 1 hr. We'll see how that
> > goes.
> 
> I wonder if it has to do with this:
> On Linux, the NO_ALARM build flag (-DNO_ALARM) modifies how the binary
> treats both net_read_timeout and net_write_timeout. With this flag
> enabled, neither timer cancels the current statement until after the
> failing connection has been waited on an additional net_retry_count
> times. This means that the effective timeout value becomes (timeout
> setting) × (net_retry_count+1).
> 
> So, on Linux timeouts are actually 330 for read and 660 for write. I'm
> experimenting with exactly those values. So far it's working, but it's
> still syncing.
> It might be that 30 seconds are really a too short timeout for
> Akonadi, but no one cared because on Linux it's much longer. I'll ping
> Akonadi developers on this.

Interesting. I wish I had enough time to dive into the code. I'd expect some 
kind of keep-alive if akonadi wants persistent connections, but I don't know 
enough about this type of programming.  

> > Couple of other things:
> > When akonadi sets up its database, it doesn't create the mysql system
> > database. This creates a bunch of errors when mysqld starts up. It may
> > not do any actual harm, though. On linux the mysql system database is
> > installed.
> 
> I have a fix for this.

Cool. I found where mysql_install_database is called in the akonadi code, but 
couldn't parse it properly.
 
> > The reset of wait_timeout to 1 year seems to be ignored. On my system
> > it stays at the default 8 hrs.
> 
> Why are you saying this? Consider that wait_timeout and
> net_read_timeout have completely different meanings.

Ignore that statement. I misread some variables in mysql.

I have currently set net_read_timeout to 24hrs in my mysql.conf file. 
(Overkill, I know, but this way if I forget to log out to kdm overnight I can 
still get my mail in the morning.) My kdepim stuff keeps working brilliantly. 
I look forward to  it stabilizing. I think it's a definite improvement over 
kmail1. 

Cheers,
DMK


More information about the kde-freebsd mailing list