Your problem doesn't sound like something that Apache::DBI would cause. Deadlock problems are caused by conflicting updates, which could only be coming from your code.
> I'm not positive but maybe it seemed like there were > stale handlers lying around that weren't being closed If you put database handles in globals or in closures, or in some data structure (like an object) that gets put into a global, it will stay around just like it does with Apache::DBI. Is it possible you did something like partially read a set of results and leave the rest dangling? You could try putting some $sth->finish() statements in your code to deal with this. > Regardless, I was wondering what a solution would be for this situation. > Currently, I do not do a ping if a handler goes stale and attempt a > reconnect. Should I implement this feature? No, you would just be rewriting Apache::DBI. - Perrin