----- Original Message -----
From: "Tom Donovan" <donovant@bellatlantic.net>
To: <modules-dev@httpd.apache.org>
Sent: Monday, July 09, 2007 10:09 AM
Subject: Re: mod_authn_dbd - internal server error after certain idle time
> Danie Qian wrote:
>>
>>
>> It is working a little better now after I set both DBDKeep and DBDMin to
>> zero. But I am still getting the internal server error from time to
>> time. Users usually can get pass the error by reloading the same page.
>> Here is the error messages in the log:
>>
>> [Sat Jul 07 02:56:44 2007] [error] (20014)Internal error: DBD [mysql]
>> Error: Lost connection to MySQL server during query
>> [Sat Jul 07 02:56:44 2007] [error] [client 75.87.112.250]
>> authn_dbd_acquire: Error looking up josiahhansen in database
>>
>
> Unfortunately, DBD connection pooling (which is performed by the
> apr-util reslist facility) presumes that connections last longer than
> DBDTimeout, so just setting DBDKeep and DBDMin will not completely
> eliminate the problem.
>
> The proposed changes to the MySQL driver seem like a good idea and they
> may help - but they will only help MySQL, not any other databases.
>
> I entered a new APR bug and proposed a patch -
> http://issues.apache.org/bugzilla/show_bug.cgi?id=42841
> to change the interpretation of timeout so that it will work to avoid
> this error.
>
> With this patch, setting DBDTimout lower than the MySQL system variable
> 'wait_timeout' will ensure than expired connections never get used.
>
Assuming by DBDTimeout you mean DBDExptime in mod_dbd documentation where it
implies a keepalive value, how about making mod_dbd to send something to
mysql server so that its wait_timeout timer gets reset whenever the
keepalive time elapses? Is this what the setting originally meant for?
As I am pretty new to this listing and I apologize if I am not on the same
page as you guys.