activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-1870) JDBC exception when sending and receiving a lot of messages (MySQL 5 in use for persistence)
Date Sun, 07 Oct 2012 12:18:02 GMT

    [ https://issues.apache.org/jira/browse/AMQ-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13471206#comment-13471206
] 

Claus Ibsen commented on AMQ-1870:
----------------------------------

Yeah there should IMHO be some upper limit to cap, so the max rows wont get as large as yours.
                
> JDBC exception when sending and receiving a lot of messages (MySQL 5 in use for persistence)
> --------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1870
>                 URL: https://issues.apache.org/jira/browse/AMQ-1870
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>         Environment: Active MQ 5.1, Windows XP, MySQL 5.0.45, MySQL Connector/J 5.1.5
>            Reporter: PJ Fanning
>            Assignee: Claus Ibsen
>             Fix For: 5.8.0
>
>
> The number of messages that were on the queue was approx 3 million when this exception
happened. Would it be possible to modify the code so that the setMaxRows value is kept to
a much lower number?
> java.sql.SQLException: setMaxRows() out of range. 50871918 > 50000000.
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
>         at com.mysql.jdbc.StatementImpl.setMaxRows(StatementImpl.java:2412)
>         at org.apache.commons.dbcp.DelegatingStatement.setMaxRows(DelegatingStatement.java:186)
>         at org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doRecoverNextMessages(DefaultJDBCAdapter.java:703)
>         at org.apache.activemq.store.jdbc.JDBCMessageStore.recoverNextMessages(JDBCMessageStore.java:230)
>         at org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:83)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:75)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:188)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.hasNext(AbstractStoreCursor.java:104)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.hasNext(StoreQueueCursor.java:136)
>         at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1092)
>         at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1178)
>         at org.apache.activemq.broker.region.Queue.iterate(Queue.java:956)
>         at org.apache.activemq.thread.DeterministicTaskRunner.runTask(DeterministicTaskRunner.java:84)
>         at org.apache.activemq.thread.DeterministicTaskRunner$1.run(DeterministicTaskRunner.java:41)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message