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

Fast producer, slow consumer hangs after a few messages when using VMPendingSubscriberMessageStoragePolicy

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.0.0
    • 5.0.0
    • Broker
    • None
    • Sun JDK 1.6.0 on Windows XP SP2 with VM arguments -Xms384m -Xmx512m

    Description

      Following from this discussion:

      http://www.nabble.com/Fast-producer%2C-slow-consumer-with-spooling-to-disk--tf3123868.html

      Rob Davies implemented VMPendingSubscriberMessageStoragePolicy which, if I understand correctly, should cause a fast producer to block if a slow consumer can't keep up.

      However, when running the attached test case, the system seems to hang before the consumers have received much more than 5 messages. When it hangs probably depends on the heap size.

      I get this:

      2007-02-02 13:44:23,281 [main ] INFO BrokerService - ActiveMQ null JMS Message Broker (localhost) is starting
      2007-02-02 13:44:23,281 [main ] INFO BrokerService - For help or more information please see: http://incubator.apache.org/activemq/
      2007-02-02 13:44:25,312 [main ] INFO JDBCPersistenceAdapter - Database driver recognized: [apache_derby_embedded_jdbc_driver]
      2007-02-02 13:44:26,500 [main ] INFO DefaultDatabaseLocker - Attempting to acquire the exclusive lock to become the Master broker
      2007-02-02 13:44:26,531 [main ] INFO DefaultDatabaseLocker - Becoming the master on dataSource: org.apache.derby.jdbc.EmbeddedDataSource@1372656
      2007-02-02 13:44:26,593 [main ] INFO JournalPersistenceAdapter - Journal Recovery Started from: Active Journal: using 2 x 20.0 Megs at: C:\home\albert\work5\activemq\activemq-core\activemq-data\localhost\journal
      2007-02-02 13:44:26,671 [main ] INFO JournalPersistenceAdapter - Journal Recovered: 0 message(s) in transactions recovered.
      2007-02-02 13:44:26,859 [main ] INFO BrokerService - Using Persistence Adapter: JournalPersistenceAdapator(JDBCPersistenceAdaptor(org.apache.derby.jdbc.EmbeddedDataSource@1372656))
      2007-02-02 13:44:26,906 [main ] INFO JournalPersistenceAdapter - Journal deleted:
      2007-02-02 13:44:29,296 [main ] WARN DefaultJDBCAdapter - Could not create JDBC tables; they could already exist. Failure was: CREATE TABLE ACTIVEMQ_LOCK( ID BIGINT NOT NULL, TIME BIGINT, BROKER_NAME VARCHAR(250), PRIMARY KEY (ID) ) Message: Table/View 'ACTIVEMQ_LOCK' already exists in Schema 'APP'. SQLState: X0Y32 Vendor code: 30000
      2007-02-02 13:44:29,343 [main ] WARN DefaultJDBCAdapter - Could not create JDBC tables; they could already exist. Failure was: INSERT INTO ACTIVEMQ_LOCK(ID) VALUES (1) Message: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL070130113001540' defined on 'ACTIVEMQ_LOCK'. SQLState: 23505 Vendor code: 30000
      2007-02-02 13:44:29,484 [main ] INFO TransportServerThreadSupport - Listening for connections at: tcp://ratbert:60706
      2007-02-02 13:44:29,515 [main ] INFO TransportConnector - Connector tcp://ratbert:60706 Started
      2007-02-02 13:44:29,515 [main ] INFO BrokerService - ActiveMQ JMS Message Broker (localhost, ID:ratbert-2177-1170416663296-1:0) started
      2007-02-02 13:44:29,578 [JMX connector ] INFO ManagementContext - JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
      2007-02-02 13:44:29,625 [/127.0.0.1:2181] INFO KahaStore - Kaha Store successfully deleted data directory activemq-data\localhost\tmp_storage
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW
      GOT A MESSAGE BEING SLOW

      before it hangs.

      Attachments

        1. ASF.LICENSE.NOT.GRANTED--SlowConsumerTest.java
          5 kB
          Albert Strasheim
        2. SlowConsumerTest.java
          5 kB
          Albert Strasheim

        Activity

          People

            rajdavies Robert Davies
            fullung Albert Strasheim
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: