[
https://issues.apache.org/activemq/browse/AMQ-1762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48645#action_48645
]
Piotr Jagielski commented on AMQ-1762:
--------------------------------------
Same exception on Servicemix 3.2.1 with ActiveMQ 4.1 and Derby 10.4.1.3:
java.io.IOException: Failed to store acknowledgment for: atm on message
ID:servicemix-64271-1228238657193-5:19:1:1:771 in container:
java.sql.SQLException: The resulting value is outside the range for the data
type INTEGER.
at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31)
at
org.apache.activemq.store.jdbc.JDBCTopicMessageStore.acknowledge(JDBCTopicMessageStore.java:54)
at
org.apache.activemq.store.journal.JournalTopicMessageStore$2.execute(JournalTopicMessageStore.java:170)
at
org.apache.activemq.store.journal.JournalMessageStore$3.execute(JournalMessageStore.java:293)
at
org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:44)
at
org.apache.activemq.store.journal.JournalMessageStore.checkpoint(JournalMessageStore.java:247)
at
org.apache.activemq.store.journal.JournalTopicMessageStore.checkpoint(JournalTopicMessageStore.java:162)
at
org.apache.activemq.store.journal.JournalPersistenceAdapter$5.call(JournalPersistenceAdapter.java:373)
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
... 3 more
Caused by:
java.sql.SQLException: The resulting value is outside the range for the data
type INTEGER.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedResultSet.noStateChangeException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.setLong(Unknown
Source)
at
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doSetLastAck(DefaultJDBCAdapter.java:324)
at
org.apache.activemq.store.jdbc.JDBCTopicMessageStore.acknowledge(JDBCTopicMessageStore.java:51)
... 10 more
> Field Type for ID column on table activemq_msgs should be increased from
> integer to bigint for postgres
> -------------------------------------------------------------------------------------------------------
>
> Key: AMQ-1762
> URL: https://issues.apache.org/activemq/browse/AMQ-1762
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.1.0
> Environment: Linux, with Postgres/EnterpriseDB
> Reporter: Yves Sandfort
> Fix For: 5.3.0
>
> Attachments: PostgresqlJDBCAdapter.java.diff.txt
>
>
> As the postgres size for an int is limited to: 2147483647 you can easily
> reach that number on a loaded ActiveMQ server within weeks. This is very hard
> to nail issue, as you get an exception like: Batch entry 0 INSERT INTO
> ACTIVEMQ_MSGS(ID, MSGID_PROD, MSGID_SEQ, CONTAINER, EXPIRATION, MSG) VALUES
> (2152101302, ID:cnmacoll2.ms.de.cdip.net-2970-1212478745177-0:1397:1:1, 1,
> queue://CNMACollector_1000474_1000474, 0, <stream of 820 bytes>) was aborted.
> Which gives you no clue about the real issue, so we searched for all kinds of
> issues around.
> However we figured out it was the ID column.
> Not sure if this happens on other plattforms too, but at least on all
> PostgreSQL versions.
> While checking this, someone should make sure that not the ID inside the java
> code will be the next issue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.