Re: Connection Pool

From: Joe Baldwin (jfbaldwi..arthlink.net)
Date: Fri Apr 16 2010 - 21:49:24 EDT

  • Next message: Aristedes Maniatis: "Re: Connection Pool"

    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