activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: Successfully delivered message ends up on DLQ
Date Tue, 12 Feb 2013 15:17:10 GMT
Tough to say without a test case, but just by looking at the exception
handling, maybe it can happen. Can you open a JIRA and attach a test that
reproduces this?


On Tue, Feb 12, 2013 at 3:20 AM, jliezers <john.liezers@metoffice.gov.uk>wrote:

> Hi,
>
> I'm running ActiveMQ version 5.6.0 on linux.
>
> Very occasionaly a message ends up on a DLQ even though consumer logs give
> every indication that the message has been successfully delivered and
> processed.
>
> The consumer Spring jms listener acknowledge attribute is set to "client"
>
> I can't find any errors or warnings logged that relate directly to these
> DLQ
> events but I have found a few JDBC warnings in the log.
>
> Here's an example.
>
> WARN  o.a.a.s.jdbc.JDBCPersistenceAdapter - JDBC Failure: Io exception:
> Connection reset java.sql.SQLRecoverableException: Io exception: Connection
> reset
>         at
>
> oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
> oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBCDriver version -
> "11.1.0.7.0-Production"]
>         at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBCDriver version -
> "11.1.0.7.0-Production"]
>         at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBCDriver version -
> "11.1.0.7.0-Production"]
>         at
>
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:969)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
>
> oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:897)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
>
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
>
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
>
> oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
>
> oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
> ~[ojdbc6-11.1.0.7.0-Production.jar:Oracle JDBC Driver version -
> "11.1.0.7.0-Production"]
>         at
>
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
>
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
>
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
>
> org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.getStoreSequenceId(DefaultJDBCAdapter.java:278)
> ~[activemq-core-5.6.0.jar:5.6.0]
>         at
>
> org.apache.activemq.store.jdbc.JDBCMessageStore.getStoreSequenceIdForMessageId(JDBCMessageStore.java:335)
> [activemq-core-5.6.0.jar:5.6.0]
>         at
>
> org.apache.activemq.store.jdbc.JDBCMessageStore.removeMessage(JDBCMessageStore.java:190)
> [activemq-core-5.6.0.jar:5.6.0]
>
> Could a JDBC exception be forcing a message onto the DLQ after delivery has
> been acknowledged?
>
> Thanks,
>
> John
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Successfully-delivered-message-ends-up-on-DLQ-tp4663232.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message