3 Replies Latest reply on Dec 11, 2014 10:35 AM by Justin Bertram

    Stale Subscriber is Starving Topic

    Steven Landers Newbie

      Quick Info:

      HornetQ 2.2.14 on JBoss 5

      Using Core API

      Roughly 1000 messages per second

      Address Full Policy: DROP (kicks in at 103k messages)

       

      Background:

      When we create a subscription to a topic, it creates a temporary queue.  Everything normally works great.

      Except...when a consumer becomes stale/disconnects/dies/etc - the temporary queue does not always get removed.  That queue reaches sufficient depth and starves the whole topic.  Normal depth is 0-5 messages, and the address-full policy happens at 103k messages.  (~1 minute)

       

      Question:

      I understand that the address-full-policy is kicking in.  What can I do?  I could raise the limit, it will only buy me time if that queue grows indefinitely.  (I have to expect that consumers will sometimes be slow or unresponsive and plan for it)

      Is there something I can do to tune HornetQ as follows: "if a subscriber is not consuming...destroy it's temporary non-durable queue?"   Is there a "best practice" I'm likely not doing?

       

      There is likely something obvious in the documentation that I just can't find.  I'm having a hard time searching for 'stale subscriber'.  I really appreciate your advice on this.