[ http://issues.apache.org/jira/browse/DERBY-1173?page=comments#action_12373149 ]
Kathey Marsden commented on DERBY-1173: --------------------------------------- I checked in the fix for DERBY-1144. The test no longer hangs every time but I did see it hang on repeated runs of the test, so I have no reason to believe that the the fix for DERBY-1144 actually fixed the issue. To reproduce easily, revert the code change for DERBY-1144. > Possible regression: jdbcapi/checkDataSource test hangs with client. After > test is aborted, if rerun it gives he conglomerate (129) requested does not > exist. > -------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-1173 > URL: http://issues.apache.org/jira/browse/DERBY-1173 > Project: Derby > Type: Bug > Components: JDBC, Network Client > Versions: 10.0.2.1 > Reporter: Kathey Marsden > Priority: Critical > Fix For: 10.2.0.0 > > I had been working on the checkDataSource test a few weeks ago, to get it > working with client but did not bring it into a suite at that time > unfortunately. > jdbcapi/checkDataSource.java now hangs with client. If I abort the test with > <ctrl> c and rerun it fails on create table with: > Booting Derby version The Apache Software Foundation - Apache Derby - > 10.2.0.0 alpha - (1): instance c013800d-010a-51bb-ae54-0000048a8d0f > on database directory D:\testout4\DerbyNetClient\checkDataSource\wombat > Database Class Loader started - derby.database.classpath='' > Could not listen on port 1527 on host localhost. > 2006-03-31 19:18:47.370 GMT Thread[DRDAConnThread_6,5,main] (XID = 200), > (SESSIONID = 1), (DATABASE = wombat), (DRDAID = > NF000001.G90E-1097469790362120575{12}), Cleanup action starting > 2006-03-31 19:18:47.370 GMT Thread[DRDAConnThread_6,5,main] (XID = 200), > (SESSIONID = 1), (DATABASE = wombat), (DRDAID = > NF000001.G90E-1097469790362120575{12}), Failed Statement is: create table y(i > int) > ERROR XSAI2: The conglomerate (129) requested does not exist. > at > org.apache.derby.iapi.error.StandardException.newException(StandardException.java:311) > at > org.apache.derby.impl.store.access.btree.index.B2IFactory.readConglomerate(B2IFactory.java:241) > at > org.apache.derby.impl.store.access.RAMAccessManager.conglomCacheFind(RAMAccessManager.java:484) > at > org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(RAMTransaction.java:389) > at > org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(RAMTransaction.java:1315) > at > org.apache.derby.impl.sql.catalog.TabInfoImpl.insertRowListImpl(TabInfoImpl.java:525) > at > org.apache.derby.impl.sql.catalog.TabInfoImpl.insertRow(TabInfoImpl.java:419) > at > org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptorNow(DataDictionaryImpl.java:1637) > at > org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(DataDictionaryImpl.java:1624) > at > org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(CreateTableConstantAction.java:223) > at > org.apache.derby.impl.sql.execute.MiscResultSet.open(MiscResultSet.java:56) > at > org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:361) > at > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1160) > at > org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:567) > at > org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(EmbedStatement.java:158) > at > org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLIMM(DRDAConnThread.java:4395) > at > org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:645) > at > org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:236) > Cleanup action completed > Apache Derby Network Server - 10.2.0.0 alpha shutdown at 2006-03-31 > 19:18:48.601 GMT > There is some relevant revison history: > At r 380672 I made some changes to the test and the test passed with client > At r 387611 I made some comment changes and accidently enabled one of the > failing client cases. > At r 390481 I disabled the test for DERBY-1047 with client again, so the > tests at 380672 (which passed) and the current test are the same. > With the following patch for DERBY-1144 the test does not normally hang. I > don't know why and am a bit hesitant to check this patch in since it might be > masking something serious. > Index: java/client/org/apache/derby/client/ClientPooledConnection.java > =================================================================== > --- java/client/org/apache/derby/client/ClientPooledConnection.java > (revision > 387603) > +++ java/client/org/apache/derby/client/ClientPooledConnection.java > (working > copy) > @@ -172,11 +172,14 @@ > } > createLogicalConnection(); > > + > if (!newPC_) { > - physicalConnection_.reset(logWriter_, user_, password_, ds_, > false); // false means do not recompute > + // DERBY-1144 changed the last parameter of this method to > true > + // to reset the connection state to the default on > + // PooledConnection.getConnection() otherwise the > + // isolation level was not correct and out of sync with the > server. > + physicalConnection_.reset(logWriter_, user_, password_, ds_, > true); > } > - // properties from the dataSource > - // properties don't change > else { > physicalConnection_.lightReset(); //poolfix > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
