[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: http://jira.jboss.org/jira/browse/JBMESSAGING-808 - Fail
clebert.suconic@jboss.com
do-not-reply at jboss.com
Tue Feb 6 13:27:59 EST 2007
I'm about to commit the fix for http://jira.jboss.org/jira/browse/JBMESSAGING-809
But I realized something..
If I disable the retry detection (I mean... the query to verify the duplication). I get a PrimaryKey duplication exception... but the JDBCPersistentManager can always perform the update after a retry:
I don't have any other thread receiving messages (the receive would happen afterwards the send is completed). I don't know what would delete the reference allowing the retry to work.
11:23:01,267 WARN @WorkerThread#1[127.0.0.1:45094] [JDBCPersistenceManager] SQLException caught - assuming deadlock detected, try:1
| java.sql.BatchUpdateException: Duplicate entry '10-4353' for key 1
| at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:648)
| at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:517)
| at org.jboss.messaging.core.plugin.JDBCPersistenceManager.updateWithRetry(JDBCPersistenceManager.java:3454)
| at org.jboss.messaging.core.plugin.JDBCPersistenceManager.updateWithRetryBatch(JDBCPersistenceManager.java:3337)
| at org.jboss.messaging.core.plugin.JDBCPersistenceManager.handleBeforeCommit1PC(JDBCPersistenceManager.java:2021)
| at org.jboss.messaging.core.plugin.JDBCPersistenceManager$TransactionCallback.beforeCommit(JDBCPersistenceManager.java:3709)
| at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:201)
| at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:436)
| at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:99)
| at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
| at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
| at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
| at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.sendTransaction(ConnectionAdvised.java)
| at org.jboss.jms.wireformat.ConnectionSendTransactionRequest.serverInvoke(ConnectionSendTransactionRequest.java:81)
| at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:125)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:715)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:553)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:378)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:158)
| 11:23:01,268 WARN @WorkerThread#1[127.0.0.1:45094] [JDBCPersistenceManager] Trying again after a pause
| 11:23:01,765 WARN @WorkerThread#1[127.0.0.1:45094] [JDBCPersistenceManager] Update worked after retry
| 11:23:01,766 TRACE @WorkerThread#1[127.0.0.1:45094] [JDBCPersistenceManager] Batch update INSERT INTO JMS_MESSAGE_REFERENCE (CHANNELID, MESSAGEID, TRANSACTIONID, STATE, ORD, PAGE_ORD, DELIVERYCOUNT, RELIABLE, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?), inserted
| total of 0 rows
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4012074#4012074
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4012074
More information about the jboss-dev-forums
mailing list