What does the Slow attribute of a Connection object precisely mean?
Issue
While investigating how to detect and handle slow consumers, I have detected a discrepancy in JMX.
The Slow attribute at connection level does not match the SlowConsumer attribute at subscription level.
Here is a concrete example with a connection (with Slow=false) that has a single subscription:
org.apache.activemq:brokerName=xx.xx,connectionName=ID_xx.xx-8627-1460620754907-1_655311,connectionViewType=clientId,connector=clientConnectors,connectorName=stomp,type=Broker = {
"Active" : true,
"ActiveTransactionCount" : 0,
"Address" : "xxx.xxx.xx.xx",
"Blocked" : false,
"Broker" : "xx@xxx",
...
"Producers" : [],
"RemoteAddress" : "tcp://xxx.xxx.xxx.xx:xxxxx",
"Slow" : false,
"UserName" : null
}
And here is the corresponding subscription (and it has SlowConsumer=true):
org.apache.activemq:brokerName=xx.xx,clientId=ID_xx.xx-8627-1460620754907-1_655311,consumerId=ID_xx.xx-8627-1460620754907-1_655311_-1_1,destinationName=xx.xx,destinationType=Topic,endpoint=Consumer,type=Broker = {
"Active" : true,
"Broker" : "xx.xx",
...
"Selector" : null,
"SessionId" : -1,
"SlowConsumer" : true,
"SubcriptionId" : 1,
"SubcriptionName" : null,
"SubscriptionId" : 1,
"SubscriptionName" : null,
"Type" : "Topic",
"UserName" : null
}
So, why isn't the connection marked as being slow? What does the "Slow" attribute on a connection object precisely mean?
Environment
- JBoss A-MQ
- 6.2.1
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.