[
http://jira.nuxeo.org/browse/NXP-2524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=39505#action_39505
]
Alexandre Russel commented on NXP-2524:
---------------------------------------
If using a Persistent Manager, message are stored in DB while waiting to be
processed. If there is a slow consumer, then a lot of message are stored.
JBoss remove those message when restarted, however if the transaction timeout
is too short and there is a lot of messages, the transaction might time out and
the message not be removed.
When it tries to store message again, you have the following exception.
To fix it, stop JBOSS, remove the temporary messages from jms_messages ( DELETE
FROM JMS_MESSAGES WHERE TXOP='T') and restart JBoss.
You want to check why you have so many messages in your DB (why a consumer was
so slow)
> Jboss-mq "Transaction timed out" and postgres "duplicate key violates
> unique constraint jms_messages_pkey" error
> ------------------------------------------------------------------------------------------------------------------
>
> Key: NXP-2524
> URL: http://jira.nuxeo.org/browse/NXP-2524
> Project: Nuxeo Enterprise Platform
> Issue Type: Bug
> Affects Versions: 5.1.3.2, 5.1.4, 5.1.5, 5.2 M1
> Reporter: Sun Tan
> Assignee: Alexandre Russel
> Priority: Major
>
> WARN [org.jboss.tm.TransactionImpl] Transaction
> TransactionImpl:XidImpl[FormatId=257, GlobalId=nutxt-db1/3, BranchQual=,
> localId=3] timed out. status=STATUS_ACTIVE
> When restarting Jboss, it took about 12minutes before showing "timed out"
> and after a while a postgres sql error occurs :
> 2008-07-01 10:03:09,563 WARN [org.jboss.tm.TransactionImpl] XAException:
> tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=nutxt-db1/154326,
> BranchQual=, localId=154326] errorCode=XAER_RMERR
> org.jboss.mq.SpyXAException: Resource manager error during commit; - nested
> throwable: (org.jboss.mq.SpyTransactionRolledBackException: Transaction was
> rolled back.; - nested throwable: (org.jboss.mq.SpyJMSException: Could not
> store message: 56987 msg=9191 hard NOT_STORED PERSISTENT
> queue=TOPIC.NXPMessages.ID:10.-2147483648 priority=4 lateClone=false
> hashCode=22499078; - nested throwable: (org.postgresql.util.PSQLException:
> ERROR: duplicate key violates unique constraint "jms_messages_pkey")))
> at org.jboss.mq.SpyXAException.getAsXAException(SpyXAException.java:72)
> at org.jboss.mq.SpyXAResource.commit(SpyXAResource.java:92)
> at
> org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2253)
> at
> org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1784)
> at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:340)
> at org.jboss.tm.TxManager.commit(TxManager.java:240)
> at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
> at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
> at
> org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.aspects.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:166)
> at
> org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:108)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
> at
> org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
> at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at
> org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:319)
> at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
> at
> org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
> at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
> at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
> at
> org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
> at
> org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
> at
> org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
> Caused by: org.jboss.mq.SpyTransactionRolledBackException: Transaction was
> rolled back.; - nested throwable: (org.jboss.mq.SpyJMSException: Could not
> store message: 56987 msg=9191 hard NOT_STORED PERSISTENT
> queue=TOPIC.NXPMessages.ID:10.-2147483648 priority=4 lateClone=false
> hashCode=22499078; - nested throwable: (org.postgresql.util.PSQLException:
> ERROR: duplicate key violates unique constraint "jms_messages_pkey"))
> at
> org.jboss.mq.server.JMSDestinationManager.transact(JMSDestinationManager.java:450)
> at
> org.jboss.mq.server.JMSServerInterceptorSupport.transact(JMSServerInterceptorSupport.java:126)
> at
> org.jboss.mq.security.ServerSecurityInterceptor.transact(ServerSecurityInterceptor.java:197)
> at
> org.jboss.mq.server.TracingInterceptor.transact(TracingInterceptor.java:352)
> at
> org.jboss.mq.server.JMSServerInvoker.transact(JMSServerInvoker.java:132)
> at
> org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:191)
> at
> org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
> at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
> at
> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: org.jboss.mq.SpyJMSException: Could not store message: 56987
> msg=9191 hard NOT_STORED PERSISTENT queue=TOPIC.NXPMessages.ID:10.-2147483648
> priority=4 lateClone=false hashCode=22499078; - nested throwable:
> (org.postgresql.util.PSQLException: ERROR: duplicate key violates unique
> constraint "jms_messages_pkey")
> at
> org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceManager.java:1646)
> at org.jboss.mq.server.MessageCache.saveToStorage(MessageCache.java:420)
> at
> org.jboss.mq.server.MessageReference.makeSoft(MessageReference.java:312)
> at
> org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:367)
> at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:158)
> at org.jboss.mq.server.MessageCache.add(MessageCache.java:128)
> at org.jboss.mq.server.JMSTopic.addMessage(JMSTopic.java:416)
> at
> org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:415)
> at
> org.jboss.mq.server.JMSDestinationManager.transact(JMSDestinationManager.java:434)
> ... 9 more
> Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key violates
> unique constraint "jms_messages_pkey"
> at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
> at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:305)
> at
> org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:251)
> at
> org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:1136)
> at
> org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceManager.java:1632)
> ... 17 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets