You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Pi...@lakeviewtech.com on 2004/11/08 17:01:56 UTC
Derby and JBoss JMS
I am attempting to get JBoss working using Derby as the default data
source, replacing Hypersonic DB. I am using the Network Server and the db2
driver (). I have made several changes to the JBoss config both for server
and JMS, which I can send if needed. My EJBs appear to be working fine.
However, I am getting locking errors when using JMS. Everything works OK
when using the hsqldb. For kicks, I also put in place the null persistence
manager and my app works also, but obviously I am not getting any
persistent messages. We going to be using JBoss clustering so I need
persistent messages.
Does anyone have a set of JBoss config files available for Derby including
the JMS changes? I found bits and pieces for cloudscape, but not
everything.
I am suspicious of the XAException list since I don't think XA is supported
by Derby using the Network Server.
Any help would be greatly appreciated.
JBoss and Derby logs follow.
=========================
Here is a snippet of my Jboss log:
=========================
2004-11-08 09:38:51,127 WARN [org.jboss.tm.TransactionImpl] XAException:
tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=rem-piercej/510,
BranchQual=, localId=510] errorCode=XAER_RMERR
org.jboss.mq.SpyXAException: - nested throwable:
(org.jboss.mq.SpyJMSException: Could not commit tx: 62; - nested throwable:
(com.ibm.db2.jcc.c.SqlException:
2004-11-08 15:38:51.107 GMT
XID |TYPE |MODE|LOCKCOUNT|LOCKNAME
|STATE|TABLETYPE / LOCKOBJ |INDEXNAME / CONTAINER_ID /
(MODE for LATCH only) |TABLENAME / CONGLOM_ID |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*** The following row is the victim ***
1016 |ROW |U |0 |(2,20)
|WAIT |T |NULL
|JMS_MESSAGES |
*** The above row is the victim ***
1020 |ROW |X |2 |(1,1)
|GRANT|T |SQL041108093337790
|JMS_MESSAGES |
1022 |ROW |X |0 |(1,1)
|WAIT |T |SQL041108093337790
|JMS_MESSAGES |
1020 |LATCH |org.|1 |Page(1,Container(0, 945))
|GRANT|T |SQL041108093337790
|JMS_MESSAGES |
1019 |ROW |X |1 |(2,27)
|GRANT|T |NULL
|JMS_MESSAGES |
*** A latch/lock, org.apache.derby.impl.services.locks.Lock@1d1402c, exist
in the lockTable that cannot be printed ***
1023 |LATCH |org.|1 |Page(0,Container(0, 945))
|GRANT|T |SQL041108093337790
|JMS_MESSAGES |
1008 |TABLE |IX |3 |Tablelock
))
at org.jboss.mq.SpyXAResource.commit(SpyXAResource.java:88)
at
org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2141)
at
org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1674)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:330)
at org.jboss.tm.TxManager.commit(TxManager.java:200)
at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:341)
at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:877)
at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
at org.jboss.mq.SpySession.run(SpySession.java:351)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:536)
Caused by: org.jboss.mq.SpyJMSException: Could not commit tx: 62; - nested
throwable: (com.ibm.db2.jcc.c.SqlException:
=========================
Here is a snippet of my Derby log:
=========================
2004-11-08 15:38:51.117 GMT Thread[DRDAConnThread_9,5,main] (XID = 1016),
(SESSIONID = 6), (DATABASE = snoboldb), (DRDAID =
C0A80AF7.G72B-954199071120919846{7}), Failed Statement is: DELETE FROM
JMS_MESSAGES WHERE TXID=? AND TXOP=?
ERROR 40XL2: A lock could not be obtained within the time requested. The
lockTable dump is:
2004-11-08 15:38:51.107 GMT
XID |TYPE |MODE|LOCKCOUNT|LOCKNAME
|STATE|TABLETYPE / LOCKOBJ |INDEXNAME / CONTAINER_ID /
(MODE for LATCH only) |TABLENAME / CONGLOM_ID |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*** The following row is the victim ***
1016 |ROW |U |0 |(2,20)
|WAIT |T |NULL
|JMS_MESSAGES |
*** The above row is the victim ***
1020 |ROW |X |2 |(1,1)
|GRANT|T |SQL041108093337790
|JMS_MESSAGES |
1022 |ROW |X |0 |(1,1)
|WAIT |T |SQL041108093337790
|JMS_MESSAGES |
1020 |LATCH |org.|1 |Page(1,Container(0, 945))
|GRANT|T |SQL041108093337790
|JMS_MESSAGES |
1019 |ROW |X |1 |(2,27)
|GRANT|T |NULL
|JMS_MESSAGES |
*** A latch/lock, org.apache.derby.impl.services.locks.Lock@1d1402c, exist
in the lockTable that cannot be printed ***
1023 |LATCH |org.|1 |Page(0,Container(0, 945))
|GRANT|T |SQL041108093337790
|JMS_MESSAGES |
1008 |TABLE |IX |3 |Tablelock
|GRANT|T |NULL
|JMS_MESSAGES |
1016 |TABLE |IX |2 |Tablelock
|GRANT|T |NULL
|JMS_MESSAGES |
1019 |TABLE |IX |2 |Tablelock
|GRANT|T |NULL
|JMS_MESSAGES |
1020 |TABLE |IX |1 |Tablelock
|GRANT|T |NULL
|JMS_MESSAGES |
1021 |TABLE |IX |2 |Tablelock
|GRANT|T |NULL
|JMS_MESSAGES |
1022 |TABLE |IX |1 |Tablelock
|GRANT|T |NULL
|JMS_MESSAGES |
1008 |ROW |X |2 |(2,20)
|GRANT|T |NULL
|JMS_MESSAGES |
1021 |ROW |X |1 |(2,28)
|GRANT|T |NULL
|JMS_MESSAGES |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java)
at
org.apache.derby.impl.services.locks.Timeout.createException(Timeout.java)
at
org.apache.derby.impl.services.locks.Timeout.buildException(Timeout.java)
at
org.apache.derby.impl.services.locks.LockSet.lockObject(LockSet.java)
at
org.apache.derby.impl.services.locks.SinglePool.lockAnObject(SinglePool.java)
at
org.apache.derby.impl.services.locks.SinglePool.lockObject(SinglePool.java)
at
org.apache.derby.impl.store.raw.xact.RowLocking2.lockRecordForRead(RowLocking2.java)
at
org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.lockPositionForRead(OpenConglomerate.java)
at
org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java)
at
org.apache.derby.impl.store.access.heap.HeapScan.fetchNext(HeapScan.java)
at
org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java)
at
org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java)
at
org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java)
at
org.apache.derby.impl.sql.execute.DeleteResultSet.setup(DeleteResultSet.java)
at
org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSet.java)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java)
at
org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java)
at
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java)
at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java)
Cleanup action completed
Re: Derby and JBoss JMS
Posted by Kathey Marsden <km...@Sourcery.Org>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> I am suspicious of the XAException list since I don't think XA is
supported
> by Derby using the Network Server.
You are right that Network Server does not yet support XA.
I am not sure how that would translate into lock timeouts. If the
application were attempting to use XA, I would expect more serious
problems earlier.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBkVhSG0h36bFmkocRAuyZAKCBmWF4g9EKASxTeY0qMPrV4BCKMQCcCHk8
dDdm3d/1aqoNkT1mLaASkbI=
=WR9V
-----END PGP SIGNATURE-----
Re: Derby and JBoss JMS
Posted by Pi...@lakeviewtech.com.
I should probably clarify that that I am using JBoss 4.0 and the default
server config.