Mike,
the database is running on a production machine:
Sun MySQL - 5.0.51a
Linux 2.6.25-14.fc9.x86_64 (amd64)
Java 1.6
One thing I noticed was that my webhost is using MySQL 5.0.51a, while Wikipedia documents 5.1.45 as the most recent stable release. The JDBC driver is provided by the host.
I am not sure why they are using 5.0.51a. Could this cause a problem with Cayenne?
Joe
On Apr 16, 2010, at 6:07 PM, Mike Kienenberger wrote:
> Someone more knowledgable would have to comment, but my suspicion is
> that the problem is with your database or JDBC driver rather than with
> Cayenne.
>
> Perhaps if you describe your database setup (database, version,
> anything else relevent), someone might have some additional ideas.
>
> You might also try searching on the SQLException. Here's one
> interesting hit I found:
>
> http://forums.mysql.com/read.php?22,37371,39620#msg-39620
>
>
> On Fri, Apr 16, 2010 at 5:57 PM, Joe Baldwin <jfbaldwi..arthlink.net> wrote:
>> Michael & Andrus,
>>
>> The DataSource Factory specified in CM is:
>>
>> org.apache.cayenne.conf.DriverDataSourceFactory
>>
>>> I've deployed a long-running (up 24x7) internal application before
>>> that had a max of 2 DB connections ...
>>
>>
>> Interesting - I saw one of you examples in which you used min = max = 1. So this is not expected behavior at all.
>>
>> The catalina log reported an exception (just prior to the connection exception)
>>
>> java.sql.SQLException: Lock wait timeout exceeded; (see detail in attached file)
>>
>> Is it possible that I have inadvertently configured improper locking? (Note: I never explicitly set locking.)
>>
>> The only theory I can think of at this point is *really* bizarre: is it possible content editing of one product is locking the entire list of products? (The ProductDetail class is a JSP that simply displays a Product. At the same time, there is content editing going on. My expectation would be that there is row-level locking and that this would not interfere with displaying a row.)
>>
>> RE open connections (I thought the PoolManager might report that, if my session gets one auto-magically).
>>
>> Thanks,
>> Joe
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Apr 16, 2010, at 8:57 AM, Michael Gentry wrote:
>>
>>> Hi Joe,
>>>
>>> I've deployed a long-running (up 24x7) internal application before
>>> that had a max of 2 DB connections using the built-in Cayenne
>>> connection pooling mechanism and never had any issues with running out
>>> of connections. The only reason I even used 2 was I had long-running
>>> (several minutes) queries in a background thread that might block the
>>> interactive portion and make the user wait during those periods, so I
>>> basically allocated one to the background thread and one to the user
>>> threads.
>>>
>>> I don't know of a way to report open connections off the top of my
>>> head, but I could look into that if needed.
>>>
>>> mrg
>>>
>>>
>>> On Thu, Apr 15, 2010 at 8:57 AM, Joe Baldwin <jfbaldwi..arthlink.net> wrote:
>>>> Hi Michael,
>>>>
>>>> min = 1
>>>> max = 10 (we changed this to 20 but then got the same error)
>>>>
>>>> To my knowledge there are no long running transactions. Most are product list fetches which should take less than a second each. There is some content editing right now, so there are about 50-100 updates per day, (which again should take no more than 1 sec per transaction)
>>>>
>>>> I have been searching through my code, but can't find anything that seems out of the ordinary.
>>>>
>>>> Is there an object available to me that will report open connections?
>>>>
>>>> Thanks,
>>>> Joe
>>>>
>>>>
>>>> On Apr 15, 2010, at 8:18 AM, Michael Gentry wrote:
>>>>
>>>>> The connections are stored and reused. What is your min/max setting?
>>>>> Do you have any long-running transactions?
>>>>>
>>>>>
>>>>> On Wed, Apr 14, 2010 at 11:34 PM, Joe Baldwin <jfbaldwi..arthlink.net> wrote:
>>>>>> Why would the DataContext be running out of connections in a web app with only a small amount of traffic?
>>>>>>
>>>>>> (I thought that a group of connections were stored (base on the modeler specification), and then reused for each transaction.)
>>>>>>
>>>>>> Joe
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>
>>
This archive was generated by hypermail 2.0.0 : Fri Apr 16 2010 - 21:50:10 EDT