Re: Pure JMS management

2017-05-18 Thread Clebert Suconic
@Tim Bain: yes.. Artemis from what I see on the class Names (I also
spoke to him gnodet on the IRC channel earlier today).

@gnodet: I am not understanding why you would need to use reflection.
You can just simply use JMSManagementHelper directly. they are all
static methods...


This example here, part of distribution under
examples/features/standard/management shows how it was intended to be
used:


https://github.com/apache/activemq-artemis/blob/master/examples/features/standard/management/src/main/java/org/apache/activemq/artemis/jms/example/ManagementExample.java



Maybe I"m misunderstanding your question?

On Thu, May 18, 2017 at 6:23 PM, Guillaume Nodet  wrote:
> I'm trying do perform management operation with pure JMS api.
> To retrieve the list of queues, I'm currently using the following code:
>
> QueueSession session = ((QueueConnection)
> connection).createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> Queue managementQueue = session.createQueue("activemq.management");
> QueueRequestor requestor = new QueueRequestor(session, managementQueue);
> connection.start();
> TextMessage m = session.createTextMessage();
> m.setStringProperty("_AMQ_ResourceName", "broker");
> m.setStringProperty("_AMQ_OperationName", "getQueueNames");
> m.setText("[\"" + routing + "\"]");
> Message reply = requestor.request(m);
> Class mgmtHelperClass =
> connection.getClass().getClassLoader().loadClass("org.apache.activemq.artemis.api.jms.management.JMSManagementHelper");
> Method getResultsMethod = mgmtHelperClass.getMethod("getResults",
> Message.class);
> Object[] results = (Object[]) getResultsMethod.invoke(null, reply);
> List names = new ArrayList<>();
> for (Object o : (Object[]) (results[0])) {
> names.add(o.toString());
> }
> return names;
>
>
> It works, but I think I should not have to use reflection to access the
> result message, hence the use of reflection to access the
> JMSManagementHelper methods.
> It seems to me the reply should be of type TextMessage, but it's currently
> untyped, so I can't use TextMessage#getText to retrieve the json result,
> and I can't find a way to retrieve it another way.
> Do I miss anything ?
>
> --
> 
> Guillaume Nodet



-- 
Clebert Suconic


Re: Pure JMS management

2017-05-18 Thread Tim Bain
This is in Artemis?

On May 18, 2017 4:23 PM, "Guillaume Nodet"  wrote:

> I'm trying do perform management operation with pure JMS api.
> To retrieve the list of queues, I'm currently using the following code:
>
> QueueSession session = ((QueueConnection)
> connection).createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> Queue managementQueue = session.createQueue("activemq.management");
> QueueRequestor requestor = new QueueRequestor(session, managementQueue);
> connection.start();
> TextMessage m = session.createTextMessage();
> m.setStringProperty("_AMQ_ResourceName", "broker");
> m.setStringProperty("_AMQ_OperationName", "getQueueNames");
> m.setText("[\"" + routing + "\"]");
> Message reply = requestor.request(m);
> Class mgmtHelperClass =
> connection.getClass().getClassLoader().loadClass("
> org.apache.activemq.artemis.api.jms.management.JMSManagementHelper");
> Method getResultsMethod = mgmtHelperClass.getMethod("getResults",
> Message.class);
> Object[] results = (Object[]) getResultsMethod.invoke(null, reply);
> List names = new ArrayList<>();
> for (Object o : (Object[]) (results[0])) {
> names.add(o.toString());
> }
> return names;
>
>
> It works, but I think I should not have to use reflection to access the
> result message, hence the use of reflection to access the
> JMSManagementHelper methods.
> It seems to me the reply should be of type TextMessage, but it's currently
> untyped, so I can't use TextMessage#getText to retrieve the json result,
> and I can't find a way to retrieve it another way.
> Do I miss anything ?
>
> --
> 
> Guillaume Nodet
>


Pure JMS management

2017-05-18 Thread Guillaume Nodet
I'm trying do perform management operation with pure JMS api.
To retrieve the list of queues, I'm currently using the following code:

QueueSession session = ((QueueConnection)
connection).createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue managementQueue = session.createQueue("activemq.management");
QueueRequestor requestor = new QueueRequestor(session, managementQueue);
connection.start();
TextMessage m = session.createTextMessage();
m.setStringProperty("_AMQ_ResourceName", "broker");
m.setStringProperty("_AMQ_OperationName", "getQueueNames");
m.setText("[\"" + routing + "\"]");
Message reply = requestor.request(m);
Class mgmtHelperClass =
connection.getClass().getClassLoader().loadClass("org.apache.activemq.artemis.api.jms.management.JMSManagementHelper");
Method getResultsMethod = mgmtHelperClass.getMethod("getResults",
Message.class);
Object[] results = (Object[]) getResultsMethod.invoke(null, reply);
List names = new ArrayList<>();
for (Object o : (Object[]) (results[0])) {
names.add(o.toString());
}
return names;


It works, but I think I should not have to use reflection to access the
result message, hence the use of reflection to access the
JMSManagementHelper methods.
It seems to me the reply should be of type TextMessage, but it's currently
untyped, so I can't use TextMessage#getText to retrieve the json result,
and I can't find a way to retrieve it another way.
Do I miss anything ?

-- 

Guillaume Nodet


Re: ActiveMQ broker becomes unresponsive after sometime

2017-05-18 Thread Tim Bain
For now, let's focus on the garbage collection behavior. CMS has a
well-documented failure mode where fragmentation of the Old Gen space can
result in the JVM being unable to allocate a new large object even though
the heap isn't full. That might be what's going on here, or it might not be
related at all. But the fact that you have an 8-minute (!!!) full GC seems
like there might be something here.

JConsole will give you good details about the GC history and the breakdown
of the heap. Can you see if it shows heavy GC activity leading up to and
after the broker becomes unresponsive?

Also, you may want to try switching to G1GC, since it doesn't have CMS's
failure mode.

Tim

On May 18, 2017 2:09 AM, "Shobhana"  wrote:

I observed closely for last 3 days, but couldn't identify anything wrong
with
CPU, memory, Network I/O, Disk I/O, etc
a) CPU usage on this EC2 instance (has 8 vCPUs) has never crossed 35%
b) Memory usage varies between 1GB to 18 GB (Total available is 32 GB and
Xmx assigned for this broker process is 26 GB)
c) Thread dumps don't show any blocked threads
d) Logs (enabled at INFO level) don't show any errors, except for occasional
"Failed to remove inactive destination. Destination still has an active
subscription". Is there any log to indicate producer flow control has kicked
in?

In this morning run, there was 1 full GC (we use CMS GC) before the issue
popped up and another full GC just 1 second after the issue. The first full
GC took about 8.17 secs. Does this indicate any trouble?

I enabled JMX to check the no of messages pending. The JMX console just
shows message statistics for each destination; However in my setup, there
are thousands of topics created and thousands of durable subscribers. The
JMX console couldn't even load all of them. So couldn't get how many
messages were pending. Is there any other way to get total no of messages
pending delivery?

Is our usage of ActiveMQ following any of the anti-patterns? We create
thousands of connections, hundreds of thousands of topics and durable
subscribers to exchange MQTT messages. Is this usage not recommended?




--
View this message in context: http://activemq.2283324.n4.
nabble.com/ActiveMQ-broker-becomes-unresponsive-after-
sometime-tp4725278p4726317.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ broker becomes unresponsive after sometime

2017-05-18 Thread Shobhana
Is "Fresh KahaDB" equivalent to deleting the entire contents of KahaDB
folder? If yes, we do this every early morning to prevent the issue, but it
has never helped us!



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-broker-becomes-unresponsive-after-sometime-tp4725278p4726372.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Connection to activemq broker is lost within one second

2017-05-18 Thread Morgan
MartinEden do you have the Inactivity Monitor running on both client and
server for ActiveMq ?



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Connection-to-activemq-broker-is-lost-within-one-second-tp4726204p4726360.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ broker becomes unresponsive after sometime

2017-05-18 Thread Morgan
We have experienced this twice before. A complete reinstall of ActiveMq
(fresh kahadb) resolved it. Never found the root cause. 



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-broker-becomes-unresponsive-after-sometime-tp4725278p4726359.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Issues with Queues that have low activity

2017-05-18 Thread Morgan
We are experiencing an issue when we have queues that do not have a lot of
traffic, and the consumers of those queues are "slow".

With inactivityMonitor on, when there are no new messages on a queue for a
day or two, the connection will be closed even though we have
useKeepAlive=true. The problem is when the subscriber attempts to reconnect
we get an error "the channel has been inactive for too long" and it can't
establish the connection.

With inactivityMonitor off this problem goes away for some reason. However
an even bigger problem crops up. We get hundreds of EOF exceptions (ie
client disconnects) a day in the ActiveMq log. These disconnects are causing
message redelivery since they happen between the time when the subscriber
receives the message and when it has returned an ACK. This causes the
message to be processed twice.

Does anyone have any suggestions? Have you seen this behavior before?

ActiveMq 5.14.5
NMS 1.7.1



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Issues-with-Queues-that-have-low-activity-tp4726358.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Object messages in ActiveMQ v5.14.4

2017-05-18 Thread Tim Bain
That property is relevant only when you're going to deserialize the object,
which typically happens only on the clients. Its possible to deserialize
the object on the server, in the case were you you the message via the web
console, but if you're not doing that then the only place you would need it
is the client.

On May 18, 2017 8:27 AM, "xabhi"  wrote:

> Hi,
>
> I am upgrading my ActiveMQ setup from v5.11.1 to v5.14.4. I came across
> this
> wiki page as per upgrade instructions -
> http://activemq.apache.org/objectmessage.html.
>
> It says that i need to org.apache.activemq.SERIALIZABLE_PACKAGES system
> property to whitelist the packages. However, it isn't clear that whether
> this property is required only on Client side or if it is required on
> broker
> side as well.
>
> In my testing the Object messages were successfully sent from producer
> client to consumer client by specifying the system property only on client
> side and nothing on broker side.
>
> Can anyone confirm this behavior and whether the property should be added
> to
> broker as well?
>
> Thanks
> Abhi
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.
> nabble.com/Object-messages-in-ActiveMQ-v5-14-4-tp4726341.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Object messages in ActiveMQ v5.14.4

2017-05-18 Thread xabhi
Hi,

I am upgrading my ActiveMQ setup from v5.11.1 to v5.14.4. I came across this
wiki page as per upgrade instructions -
http://activemq.apache.org/objectmessage.html.

It says that i need to org.apache.activemq.SERIALIZABLE_PACKAGES system
property to whitelist the packages. However, it isn't clear that whether
this property is required only on Client side or if it is required on broker
side as well.

In my testing the Object messages were successfully sent from producer
client to consumer client by specifying the system property only on client
side and nothing on broker side. 

Can anyone confirm this behavior and whether the property should be added to
broker as well?

Thanks
Abhi



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Object-messages-in-ActiveMQ-v5-14-4-tp4726341.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Could not accept connection from tcp://192.168.0.116:60999 : org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed: tcp://192.168.0.116:60999

2017-05-18 Thread aragoubi
Thank you Tim for your response.
When I an mqtt transport connector to my broker-config "
 " and I try to
connect to it using apache paho java, I am getting this exception : 

Exception in thread "main" java.lang.IllegalArgumentException:
mqtt://0.0.0.0:1884
at
org.eclipse.paho.client.mqttv3.MqttConnectOptions.validateURI(MqttConnectOptions.java:509)
at
org.eclipse.paho.client.mqttv3.MqttAsyncClient.(MqttAsyncClient.java:291)
at
org.eclipse.paho.client.mqttv3.MqttAsyncClient.(MqttAsyncClient.java:185)
at client.Client.main(Client.java:46)

Also I still have problem with paho java client and activemq websocket(
http://activemq.2283324.n4.nabble.com/Connection-to-activemq-broker-is-lost-within-one-second-td4726204.html

 
), I am kind of blocked and I can't progress.

Is activemq supporting apache paho client ?



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Could-not-accept-connection-from-tcp-192-168-0-116-60999-org-apache-activemq-transport-InactivityIOE9-tp4726323p4726328.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Could not accept connection from tcp://192.168.0.116:60999 : org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed: tcp://192.168.0.116:60999

2017-05-18 Thread Tim Bain
The TCP transport speaks OpenWire, so it's not valid to connect to it with
an MQTT client.

Tim

On May 18, 2017 3:07 AM, "aragoubi"  wrote:

I have an embedded broker, and I am connection a Paho client to it.
This my broker config file :

  http://activemq.apache.org/schema/core; useJmx="true"
useShutdownHook="false" brokerName="mimo.broker1">

 

   
 


   
 


  
 

  


I am getting this error when I try to connect my paho java client to my
broker via the "tcp://0.0.0.0:61619" transport port.

Here is the server log :

10:39:39,328 DEBUG [org.apache.activemq.transport.WireFormatNegotiator]
(ActiveMQ BrokerService[mimo.broker1] Task-3) Sending: WireFormatInfo {
version=12, properties={MaxFrameSize=9223372036854775807, CacheSize=1024,
ProviderVersion=5.14.3, CacheEnabled=true, ProviderName=ActiveMQ,
SizePrefixDisabled=false, PlatformDetails=JVM: 1.7.0_79, 24.79-b02, Oracle
Corporation, OS: Windows 8.1, 6.3, amd64,
MaxInactivityDurationInitalDelay=1, TcpNoDelayEnabled=true,
MaxInactivityDuration=3, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
10:39:39,334 DEBUG
[org.apache.activemq.broker.TransportConnection.Transport] (ActiveMQ
Transport: tcp:///192.168.0.116:61000@61619) Transport Connection to:
tcp://192.168.0.116:61000 failed: java.io.IOException: Unknown data type:
77: java.io.IOException: Unknown data type: 77
at
org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(
OpenWireFormat.java:359)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(
OpenWireFormat.java:278)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(
TcpTransport.java:240)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
[activemq-client-5.14.3.jar:5.14.3]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]

10:39:39,349 DEBUG [org.apache.activemq.broker.jmx.ManagementContext]
(ActiveMQ Transport: tcp:///192.168.0.116:61000@61619) Unregistering MBean
org.apache.activemq:type=Broker,brokerName=mimo.broker1,connector=
clientConnectors,connectorName=tcp,connectionViewType=
remoteAddress,connectionName=tcp_//192.168.0.116_61000
10:39:39,349 DEBUG [org.apache.activemq.broker.TransportConnection]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Stopping connection:
tcp://192.168.0.116:61000
10:39:39,365 DEBUG [org.apache.activemq.transport.tcp.TcpTransport]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Stopping transport
tcp:///192.168.0.116:61000@61619
10:39:39,365 DEBUG [org.apache.activemq.thread.TaskRunnerFactory] (ActiveMQ
BrokerService[mimo.broker1] Task-1) Initialized TaskRunnerFactory[ActiveMQ
Task] using ExecutorService:
java.util.concurrent.ThreadPoolExecutor@1703f9d4[Running, pool size = 0,
active threads = 0, queued tasks = 0, completed tasks = 0]
10:39:39,365 DEBUG [org.apache.activemq.transport.tcp.TcpTransport]
(ActiveMQ Task-1) Closed socket
Socket[addr=/192.168.0.116,port=61000,localport=61619]
10:39:39,365 DEBUG [org.apache.activemq.util.ThreadPoolUtils] (ActiveMQ
BrokerService[mimo.broker1] Task-1) Forcing shutdown of ExecutorService:
java.util.concurrent.ThreadPoolExecutor@1703f9d4[Running, pool size = 1,
active threads = 1, queued tasks = 0, completed tasks = 0]
10:39:39,365 DEBUG [org.apache.activemq.broker.TransportConnection]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Stopped transport:
tcp://192.168.0.116:61000
10:39:39,365 DEBUG [org.apache.activemq.broker.TransportConnection]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Connection Stopped:
tcp://192.168.0.116:61000
10:39:43,235 DEBUG [org.apache.activemq.store.kahadb.MessageDatabase]
(ActiveMQ Journal Checkpoint Worker) Checkpoint started.
10:39:43,313 DEBUG [org.apache.activemq.store.kahadb.MessageDatabase]
(ActiveMQ Journal Checkpoint Worker) Checkpoint done.


Could someone help me with this ?




--
View this message in context: http://activemq.2283324.n4.
nabble.com/Could-not-accept-connection-from-tcp-192-168-0-
116-60999-org-apache-activemq-transport-InactivityIOE9-tp4726323.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ broker becomes unresponsive after sometime

2017-05-18 Thread Shobhana
>From last 3 days' GC logs I observe something consistently :
When full GC happens which takes about 8 and odd seconds, 15 minutes later
our servers loose connection to the broker;  all further attempts to
reconnect fail with "Timeout" exception. New connection attempts also fail
with same exception!

Why isn't the broker unable to recover after full GC?




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-broker-becomes-unresponsive-after-sometime-tp4725278p4726325.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Could not accept connection from tcp://192.168.0.116:60999 : org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed: tcp://192.168.0.116:60999

2017-05-18 Thread aragoubi
I have an embedded broker, and I am connection a Paho client to it. 
This my broker config file :

  http://activemq.apache.org/schema/core; useJmx="true"
useShutdownHook="false" brokerName="mimo.broker1">

 
   
   
 


   
 


  
 
   
   


I am getting this error when I try to connect my paho java client to my
broker via the "tcp://0.0.0.0:61619" transport port.

Here is the server log : 

10:39:39,328 DEBUG [org.apache.activemq.transport.WireFormatNegotiator]
(ActiveMQ BrokerService[mimo.broker1] Task-3) Sending: WireFormatInfo {
version=12, properties={MaxFrameSize=9223372036854775807, CacheSize=1024,
ProviderVersion=5.14.3, CacheEnabled=true, ProviderName=ActiveMQ,
SizePrefixDisabled=false, PlatformDetails=JVM: 1.7.0_79, 24.79-b02, Oracle
Corporation, OS: Windows 8.1, 6.3, amd64,
MaxInactivityDurationInitalDelay=1, TcpNoDelayEnabled=true,
MaxInactivityDuration=3, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
10:39:39,334 DEBUG
[org.apache.activemq.broker.TransportConnection.Transport] (ActiveMQ
Transport: tcp:///192.168.0.116:61000@61619) Transport Connection to:
tcp://192.168.0.116:61000 failed: java.io.IOException: Unknown data type:
77: java.io.IOException: Unknown data type: 77
at
org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:359)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:278)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
[activemq-client-5.14.3.jar:5.14.3]
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
[activemq-client-5.14.3.jar:5.14.3]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]

10:39:39,349 DEBUG [org.apache.activemq.broker.jmx.ManagementContext]
(ActiveMQ Transport: tcp:///192.168.0.116:61000@61619) Unregistering MBean
org.apache.activemq:type=Broker,brokerName=mimo.broker1,connector=clientConnectors,connectorName=tcp,connectionViewType=remoteAddress,connectionName=tcp_//192.168.0.116_61000
10:39:39,349 DEBUG [org.apache.activemq.broker.TransportConnection]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Stopping connection:
tcp://192.168.0.116:61000
10:39:39,365 DEBUG [org.apache.activemq.transport.tcp.TcpTransport]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Stopping transport
tcp:///192.168.0.116:61000@61619
10:39:39,365 DEBUG [org.apache.activemq.thread.TaskRunnerFactory] (ActiveMQ
BrokerService[mimo.broker1] Task-1) Initialized TaskRunnerFactory[ActiveMQ
Task] using ExecutorService:
java.util.concurrent.ThreadPoolExecutor@1703f9d4[Running, pool size = 0,
active threads = 0, queued tasks = 0, completed tasks = 0]
10:39:39,365 DEBUG [org.apache.activemq.transport.tcp.TcpTransport]
(ActiveMQ Task-1) Closed socket
Socket[addr=/192.168.0.116,port=61000,localport=61619]
10:39:39,365 DEBUG [org.apache.activemq.util.ThreadPoolUtils] (ActiveMQ
BrokerService[mimo.broker1] Task-1) Forcing shutdown of ExecutorService:
java.util.concurrent.ThreadPoolExecutor@1703f9d4[Running, pool size = 1,
active threads = 1, queued tasks = 0, completed tasks = 0]
10:39:39,365 DEBUG [org.apache.activemq.broker.TransportConnection]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Stopped transport:
tcp://192.168.0.116:61000
10:39:39,365 DEBUG [org.apache.activemq.broker.TransportConnection]
(ActiveMQ BrokerService[mimo.broker1] Task-1) Connection Stopped:
tcp://192.168.0.116:61000
10:39:43,235 DEBUG [org.apache.activemq.store.kahadb.MessageDatabase]
(ActiveMQ Journal Checkpoint Worker) Checkpoint started.
10:39:43,313 DEBUG [org.apache.activemq.store.kahadb.MessageDatabase]
(ActiveMQ Journal Checkpoint Worker) Checkpoint done.


Could someone help me with this ?




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Could-not-accept-connection-from-tcp-192-168-0-116-60999-org-apache-activemq-transport-InactivityIOE9-tp4726323.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ broker becomes unresponsive after sometime

2017-05-18 Thread Shobhana
I observed closely for last 3 days, but couldn't identify anything wrong with
CPU, memory, Network I/O, Disk I/O, etc
a) CPU usage on this EC2 instance (has 8 vCPUs) has never crossed 35%
b) Memory usage varies between 1GB to 18 GB (Total available is 32 GB and
Xmx assigned for this broker process is 26 GB)
c) Thread dumps don't show any blocked threads
d) Logs (enabled at INFO level) don't show any errors, except for occasional
"Failed to remove inactive destination. Destination still has an active
subscription". Is there any log to indicate producer flow control has kicked
in?

In this morning run, there was 1 full GC (we use CMS GC) before the issue
popped up and another full GC just 1 second after the issue. The first full
GC took about 8.17 secs. Does this indicate any trouble?

I enabled JMX to check the no of messages pending. The JMX console just
shows message statistics for each destination; However in my setup, there
are thousands of topics created and thousands of durable subscribers. The
JMX console couldn't even load all of them. So couldn't get how many
messages were pending. Is there any other way to get total no of messages
pending delivery?

Is our usage of ActiveMQ following any of the anti-patterns? We create
thousands of connections, hundreds of thousands of topics and durable
subscribers to exchange MQTT messages. Is this usage not recommended?




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-broker-becomes-unresponsive-after-sometime-tp4725278p4726317.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.