[ http://issues.apache.org/jira/browse/DERBY-1173?page=all ]
Mike Matrigali updated DERBY-1173:
----------------------------------
If anyone gets a chance to look at the stack trace error above here is the info
I think would be interesting:
1) what is the stack traces of the server threads when the "timeout/deadlock"
happens. I believe this is a single user, but
multi-connection test.
2) are connections getting cleaned up on the server side after the control c
of the client. Note there are likely multiple
connections in the client some of which are guaranteed not to have been
active when the client went away.
3) what is container 129 in this db. In a freshly created db it is the
SYSTABLES_INDEX2 table. So it not existing is a
serious issue. This has the feel of some lock/latch issue which has not
been cleaned up and then prevents subsequent
access to the system.
4) what does a lock table query return after reconnecting to the server? The
repro is kill the client, leave the server. Then
reconnect to the existing server.
> conglomerate (129) requested does not exist error on create table after
> aborting and rerunning jdbcapi/checkDataSource test with client.
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1173
> URL: http://issues.apache.org/jira/browse/DERBY-1173
> Project: Derby
> Type: Bug
> Components: Network Client, Store
> 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