>> - Is this simply an indicator that the consumers are taking a long time to 
>> service messages
>  
>    Yes

Thanks Rob.  This confirms what I thought.

Might want to add another sentence (and fix up the typos - " suspened", " 
before the the Broker") in that log message blurb that "suspended" means the 
consumer is taking longer than the configured threshold to process a message, 
although as I re-read it again, perhaps "..or its asynchronous message listener 
onMessage() is blocked in application code" is pretty clear.

--
Tom
 

On 10/12/19, 5:46 PM, "Rob Godfrey" <[email protected]> wrote:

    On Fri, 11 Oct 2019 at 23:20, Tom Jordahl <[email protected]>
    wrote:
    
    > Hello,
    >
    > I am hoping someone can give me a little more background on why I am
    > receiving the following messages in my broker logs:
    > 2019-10-11 10:32:10,278 INFO [IO-/10.110.54.132:41086] (q.m.s.state) -
    > [IO Pool] [sub:248(vh(/MyVHost)/qu(MyHighVolumeQ)] SUB-1003 : Suspended 
for
    > 10,001 ms
    >
    > I have found this [1]:
    >   > consumer.suspendNotificationPeriod Governs the length of time that a
    > consumer
    >   > may remain suspended before the the Broker begins to produce SUB-1003<
    > 
https://qpid.apache.org/releases/qpid-broker-j-7.1.5/book/Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-SUB-1003>
    > operational log messages.
    >
    > And also have read this [2]:
    >   > Indicates that a subscription has been in a suspened state for an
    > unusual length of time.
    >   > This may be indicative of an consuming application that has stopped
    > taking messages from the consumer
    >   > (i.e. a JMS application is not calling receive() or its asynchronous
    > message listener
    >   > onMessage() is blocked in application code). It may also indicate a
    > generally overloaded system.
    >
    > I am interpreting “its asynchronous message listener onMessage() is
    > blocked in application code” as indicating that something is just taking
    > more that 10 seconds to consume a message.  I may just be getting confused
    > by the word “suspended” here, meaning that the broker is just waiting
    > around for the consumer to get on with acknowledging the successful
    > processing of a message.
    >
    > QUESTIONS
    > - Is this simply an indicator that the consumers are taking a long time to
    > service messages?  I do have consumers that can take upwards of 30-60
    > seconds to complete message processing under load.
    >
    
    Yes
    
    
    > - Is this message “mostly harmless”?  i.e. is Qpid just telling me I have
    > a slow consumer?
    >
    >
    Yes.
    
    The term "suspended" is not the greatest, but is somewhat historical from
    the original implementation.  As you say, the message is harmless, but can
    be very useful in diagnosing issues that are seen in production "why are
    there no messages flowing... ah the broker is saying this consumer is
    suspended... maybe it is not acking correctly", etc.
    
    
    > If it matters, I am using Broker-J 7.1.4 on CentOS.
    >
    > [1]
    > 
https://qpid.apache.org/releases/qpid-broker-j-7.1.5/book/Java-Broker-Management-Managing-Consumers.html
    > [2]
    > 
https://qpid.apache.org/releases/qpid-broker-j-7.1.5/book/Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-SUB-1003
    >
    > Thanks for any info.
    >
    
    Hope this helps,
    Rob
    
    
    > --
    > Tom
    >
    >
    


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to