Re: "Something unusual has occured" error using PostgreSQL 8.2 with Apache Commons DBCP 1.2.2

From: "Matthew Storer" <matthewstorer(at)fastmail(dot)us>
To: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
Cc: "PostgreSQL JDBC List" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: "Something unusual has occured" error using PostgreSQL 8.2 with Apache Commons DBCP 1.2.2
Date: 2007-10-24 19:29:14
Message-ID: 1193254154.25036.1217646555@webmail.messagingengine.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi Heikki -

I think I should be able to put together a simple test class that
demonstrates the behavior, that is, assuming the problem is in fact with
the code in question.

In any case, after I got home yesterday I tried to implement a pool
using a BasicDataSource object instead of what I was doing with the
PoolingDriver, and I haven't run into any problems at all with that.
I'm able to open new connections until all available are full, at which
point it blocks until one is freed, just like I'd expect it to do.

Still using J2SE 1.6 with Postgre's jdbc4 drivers. go figure.

Do you still want me to post an example class that demonstrates the bug?
I don't need a solution any more personally, but if you want to find
the bug for bug-squashing's sake, I can throw one together and post it
in the near-term.

take care, and thanks to all for the quick replies -

Matt

On Tue, 23 Oct 2007 19:13:53 +0100, "Heikki Linnakangas"
<heikki(at)enterprisedb(dot)com> said:
> Matthew Storer wrote:
> > To start, I'm putting together a Java client-server app, where the
> > server side talks to a PostgreSQL database via an Apache Commons DBCP
> > link for connection pooling. Using the code I've included below, I'm
> > able to establish a connection, get database metadata, and execute
> > stored functions perfectly well PROVIDING I DON'T try to call
> > getConnection() again without closing the first connection beforehand.
> > (but it seems to me that doing that ought to work alright, because if I
> > call getConnection() a second time, shouldn't the DBCP code just pull a
> > new connection from the pool, and not, instead, throw this exception?)
>
> Can you reduce it to a self-contained test case? That way others can
> test and help with it as well.
>
> > EXCEPTION:
> > ----------
> > org.postgresql.util.PSQLException: Something unusual has occured to
> > cause the driver to fail. Please report this exception.
> > at org.postgresql.Driver.connect(Driver.java:276)
> > at java.sql.DriverManager.getConnection(Unknown Source)
> > at java.sql.DriverManager.getConnection(Unknown Source)
> > at
> > org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:68)
> > at
> > org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
> > at
> > org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840)
> > at
> > org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:176)
> >
> > at java.sql.DriverManager.getConnection(Unknown Source)
> > at java.sql.DriverManager.getConnection(Unknown Source)
> > at
> > myproject.db.ConnectionPool.getConnection(ConnectionPool.java:136)
>
> Is that the whole stack trace? The stack trace of the underlying
> exception should be there as well.
>
> --
> Heikki Linnakangas
> EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Heikki Linnakangas 2007-10-25 10:20:33 Re: "Something unusual has occured" error using PostgreSQL 8.2 with Apache Commons DBCP 1.2.2
Previous Message interz12 2007-10-24 18:22:59 Re: ERROR transaction is read-only