Qpid
  1. Qpid
  2. QPID-4731

[Java Broker] unregistering a topic subscription with selector can silently prevent temporary queue deletion

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.6, 0.8, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20
    • Fix Version/s: 0.22
    • Component/s: Java Broker
    • Labels:
      None

      Description

      When JMS selectors are used with topics, the attempt to deregister the topic subscriber's temporary queue can silently fail. This leaves the queue bound to the exchange, thereby allowing messages to continue being sent to it.

      This is shown in the following log excerpts from a v0.5 Broker:

      Initial set-up of topic with selector:

      2013-04-02 04:11:51,947 INFO  [pool-1-thread-22] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)/ch:1] [vh(/ZZZ)/qu(tmp_yyy.yyy.yyy.yyy45309_2)] QUE-1001 : Create : Owner: xxx AutoDelete Transient
      2013-04-02 04:11:51,949 INFO  [pool-1-thread-22] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)/ch:1] [vh(/ZZZ)/ex(direct/<<default>>)/qu(tmp_yyy.yyy.yyy.yyy45309_2)/rk(tmp_yyy.yyy.yyy.yyy45309_2)] BND-1001 : Create
      2013-04-02 04:11:51,957 INFO  [pool-1-thread-23] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)/ch:1] [vh(/ZZZ)/ex(topic/amq.topic)/qu(tmp_yyy.yyy.yyy.yyy45309_2)/rk(XXX_Topic)] BND-1001 : Create : Arguments : {x-filter-jms-selector=[LONG_STRING: XXX_GROUP='xxxxx']}
      2013-04-02 04:11:51,977 INFO  [pool-1-thread-15] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)/ch:1] [sub:4,117(vh(/ZZZ)/qu(tmp_yyy.yyy.yyy.yyy45309_2)] SUB-1001 : Create : Arguments : JMSSelector(XXX_GROUP='xxxxx')
      2013-04-02 14:14:02,663 INFO  [pool-1-thread-30] queue.AMQQueueMBean (AMQQueueMBean.java:336) - QUEUE_DEPTH_ALERT On Queue tmp_yyy.yyy.yyy.yyy45309_2 - 4137Kb : Maximum queue depth threshold (4136Kb) breached.
      

      Subsequent topic consumer close:

      2013-04-02 23:59:21,538 INFO  [pool-1-thread-23] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)] [sub:4,117(vh(/ZZZ)/qu(tmp_yyy.yyy.yyy.yyy45309_2)] SUB-1002 : Close
      2013-04-02 23:59:21,538 INFO  [pool-1-thread-23] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)] [vh(/ZZZ)/ex(topic/amq.topic)/qu(tmp_yyy.yyy.yyy.yyy45309_2)/rk(XXX_Topic)] BND-1002 : Deleted
      2013-04-02 23:59:21,538 INFO  [pool-1-thread-23] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)] [vh(/ZZZ)/ex(direct/<<default>>)/qu(tmp_yyy.yyy.yyy.yyy45309_2)/rk(tmp_yyy.yyy.yyy.yyy45309_2)] BND-1002 : Deleted
      2013-04-02 23:59:21,538 INFO  [pool-1-thread-23] rawloggers.Log4jMessageLogger (Log4jMessageLogger.java:69) - MESSAGE [con:199(xxxxx@/yyy.yyy.yyy.yyy:45309/ZZZ)] [vh(/ZZZ)/qu(tmp_yyy.yyy.yyy.yyy45309_2)] QUE-1002 : Deleted
      

      Queue depth alerts continue even though the queue should have been deleted. Note that the depth is actually increasing, indicating that message are still being enqueued.

      2013-04-03 05:22:34,463 INFO  [pool-1-thread-14] queue.AMQQueueMBean (AMQQueueMBean.java:336) - QUEUE_DEPTH_ALERT On Queue tmp_yyy.yyy.yyy.yyy45309_2 - 4136Kb : Maximum queue depth threshold (4136Kb) breached.
      2013-04-03 05:23:08,343 INFO  [pool-1-thread-11] queue.AMQQueueMBean (AMQQueueMBean.java:336) - QUEUE_DEPTH_ALERT On Queue tmp_yyy.yyy.yyy.yyy45309_2 - 8570Kb : Maximum queue depth threshold (4136Kb) breached.
      

        Activity

          People

          • Assignee:
            Philip Harvey
            Reporter:
            Philip Harvey
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development