Login | Register
My pages Projects Community openCollabNet

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Catacomb] Fwd: catacomb mysql connection handling problems



Hi Roger,

I will read you Mail later, but forwarding it to the main catacomb mailing at 
webdav.org ( http://mailman.webdav.org/mailman/listinfo/catacomb ) because 
there are more people suscribed.

Greetings!
Markus

----------  Weitergeleitete Nachricht  ----------

Subject: catacomb mysql connection handling problems
Date: Freitag, 25. August 2006 17:41
From: Roger Pettett <rmp@sanger.ac.uk>
To: users@catacomb.tigris.org

Hi,

I'm trying to set up catacomb on a group of machines to use mysql shared
storage for hosting primarily iCal calendar files. Testing on one
standalone server I'm experiencing approximately half of the requests
dropping out with MySQL errors in the Apache log.

The MySQL server is used for lot of other things, so I'm pretty happy it's
set up correctly, though it does have a short wait_timeout (300s) to
reduce the total number of persistent connections in my connection pool.

I'm using:
MySQL server 4.1.16 on debian on opteron
MySQL client libs 5.0.15 on debian on xeon
Apache 2.2.2 + mod_perl 2.0.2 + catacomb 0.9.2

The relevant bits of httpd.conf are:

<IfModule mod_dav.c>
         LoadModule              dav_repos_module       
 apache2/modules/libmod_dav_repos.so DavDBMSHost             webdbsrv
         DavDBMSDbName           davrepos
         DavDBMSId               davrw
         DavDBMSTmpDir           /tmp/
</IfModule>

....

<IfModule mod_dav.c>
         <Location /dav>
                 AuthLDAPURL            
 ldaps://ldap/ou=people,dc=example,dc=com AuthBasicProvider       ldap
                 AuthzLDAPAuthoritative  off
                 DAV                     repos
                 Options                 None
                 Order                   allow,deny
                 Allow                   from all
                 Satisfy                 all
                 AuthName                "WebDAV Access"
                 AuthType                Basic

                 <LimitExcept GET HEAD OPTIONS>
                         Require valid-user
                 </LimitExcept>
         </Location>
</IfModule>

The ldaps connection has been tested independently of DAV and works ok.

I can connect to the web server with cadaver for example, make and delete
collections/folders, push files in, but there doesn't seem to be any of
the file contents pushed in to the database - there's a row in
dasl_resource with attributes but nothing in the bincontent or
textcontent. Is this normal?

I see sporadic database connection problems like this with 'ls':
dav:/dav/> ls
Listing collection `/dav/': failed:
XML parse error at line 1: no element found

dav:/dav/> ls
Listing collection `/dav/': succeeded.
Coll:   people                                 0  Aug 25 16:27
         feature.pm                             0  Aug 25 16:27

The XML parse error throws errors like this in the Apache log:

[Fri Aug 25 16:32:55 2006] [error] Error: dbms_execute error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:32:55 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:32:55 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:32:55 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:32:55 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:32:55 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:32:55 2006]
 [error] [client 172.22.7.32] Provider encountered an error while streaming a
 multistatus PROPFIND response.  [500, #0] [Fri Aug 25 16:32:55 2006] [error]
 [client 172.22.7.32] DBMS Error  [500, #0]

or this for 'mkdir':
dav:/dav/> mkdir 1
Creating `1': failed:
500 Internal Server Error
dav:/dav/> mkdir 2
Creating `2': succeeded.

[Fri Aug 25 16:33:51 2006] [error] Error: dbms_execute error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:33:51 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:33:51 2006]
 [error] Error: mysql_use_result error\nError Number:
 2006\nErrorMessage:MySQL server has gone away\n [Fri Aug 25 16:33:51 2006]
 [error] [client 172.22.7.32] The locks could not be queried for verification
 against a possible "If:" header.  [500, #0] [Fri Aug 25 16:33:51 2006]
 [error] [client 172.22.7.32] (2)No such file or directory: DBMS Error  [500,
 #0]

I have also tried this on a MySQL 5.0.22 server with the same results.

What can I try to produce more debug output? Has anyone else seen a
problem like this? Am I missing something stupidly trivial? Can I provide
any more library / system information for developers?

Thanks very much,
R.