[ 
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.

Reply via email to