[hibernate-issues] [Hibernate-JIRA] Created: (HHH-4574) ConnectionProviderFactory.getConnectionProperties() includes extra properties

Kevin Bowman (JIRA) noreply at atlassian.com
Fri Nov 13 13:15:09 EST 2009


ConnectionProviderFactory.getConnectionProperties() includes extra properties 
------------------------------------------------------------------------------

                 Key: HHH-4574
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4574
             Project: Hibernate Core
          Issue Type: Bug
          Components: core
    Affects Versions: 3.2.4.sp1
         Environment: Hibernate 3.2.4.sp1, Derby DB.  
Any Java environment where System properties include many properties whose names *include* 'hibernate.connection' but do not *start with* 'hibernate.connection'.
            Reporter: Kevin Bowman
         Attachments: org.hibernate.connection.ConnectionProviderFactory.patch, PropertiesTest.java

In our environment we are setting a number of properties with keys like 'rpt.3.hibernate.connection.url'.  They are used indirectly for configuring hibernate, but only a small fraction of them are used for configuring any given hibernate session.  Unfortunately, all these System properties are being pulled into JDBC URL because of ConnectionProviderFactory, which causes problems like this with DerbyDB:

2009-11-13 09:57:19,065 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] WARN com.mchange.v2.resourcepool.BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask at 67f2b0dd -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLTransientConnectionException: A connection could not be established because the database name 'reports/lisa-reports.db;ction.password_enc=76f271db3661fd50082e68d4b953fbee;ction.username=sa;autocommit=false;ion.url=internal;create=true;ction.url=jdbc:derby://localhost:1527/db/reports.db;ction.driver_class=org.apache.derby.jdbc.ClientDriver' is larger than the maximum length allowed by the network protocol.
    at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
    at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
    at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Caused by: org.apache.derby.client.am.SqlException: A connection could not be established because the database name 'reports/lisa-reports.db;ction.password_enc=76f271db3661fd50082e68d4b953fbee;ction.username=sa;autocommit=false;ion.url=internal;create=true;ction.url=jdbc:derby://localhost:1527/db/reports.db;ction.driver_class=org.apache.derby.jdbc.ClientDriver' is larger than the maximum length allowed by the network protocol.
    at org.apache.derby.client.net.NetConnectionRequest.buildRDBNAM(Unknown Source)
    at org.apache.derby.client.net.NetConnectionRequest.buildACCSEC(Unknown Source)
    at org.apache.derby.client.net.NetConnectionRequest.writeAccessSecurity(Unknown Source)
    at org.apache.derby.client.net.NetConnection.writeServerAttributesAndKeyExchange(Unknown Source)
    at org.apache.derby.client.net.NetConnection.flowServerAttributesAndKeyExchange(Unknown Source)
    at org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(Unknown Source)
    at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
    at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
    at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
    at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown Source)
    ... 9 more


Attached is a test case and patch.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list