Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-1870

JDBC exception when sending and receiving a lot of messages (MySQL 5 in use for persistence)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 5.8.0
    • JMS client
    • None
    • Active MQ 5.1, Windows XP, MySQL 5.0.45, MySQL Connector/J 5.1.5

    Description

      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)

      Attachments

        1. AMQ-1870.patch
          2 kB
          Claus Ibsen

        Activity

          People

            gtully Gary Tully
            pj.fanning PJ Fanning
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: