qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bryand <br...@bldixon.net>
Subject JMS Client failover error stops message consumption
Date Wed, 24 Jan 2018 18:44:23 GMT
I'm using broker-j-7.0.0 and apache-qpid-jms-0-x-6.3.0.  For broker-j I have
HA setup with 3 brokers and have been testing failover by simply starting
and stopping the virtual host node on a random broker.  Usually failover on
my simple JMS message consumer is successful and message consumption
continues but occasionally I'll receive the following exception on my
consumer and it no longer receives messages:
java.lang.RuntimeException: Dispatcher did not close down within the timeout
of 1000 ms.

My simple java client code is this..

String brokerUrl =
"amqp:///spgqpiddev?failover='roundrobin?cyclecount='2''&brokerlist='tcp://spgappdevmutil:5672?retries='3'&connectdelay='1000';tcp://appprd02:5672?retries='3'&connectdelay='1000';tcp://appprd02:5682?retries='3'&connectdelay='1000''";

ConnectionFactory connectionFactory = new AMQConnectionFactory(brokerUrl);

String user = "appuser";
String pwd = "xxxx";
		
Connection connection = connectionFactory.createConnection(user, pwd);

connection.start();

Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

String queueName = "app_testcluster";
		
Destination destination = AMQDestination.createDestination(queueName,
false);

MessageConsumer messageConsumer = session.createConsumer(destination);
// this MsgListener class simply prints out messages received.
messageConsumer.setMessageListener(new MsgListener());

The full stacktrace is:
count: 500, id: ID:6c8f4df0-c8df-3751-86ee-75cef258de69, ts: 2018-01-24
09:58:49.718, lastTimestamp: 1516805929718, body: null
2018-01-24 13:23:58,820 [10.0.51.42:5672] - ERROR AMQConnectionDelegate_0_10    
- error during failover
org.apache.qpid.transport.ConnectionException: connection closed
	at org.apache.qpid.transport.Connection.send(Connection.java:414)
	at org.apache.qpid.transport.Session.send(Session.java:588)
	at org.apache.qpid.transport.Session.invoke(Session.java:804)
	at org.apache.qpid.transport.Session.invoke(Session.java:613)
	at
org.apache.qpid.transport.SessionInvoker.sessionAttach(SessionInvoker.java:29)
	at org.apache.qpid.transport.Session.attach(Session.java:290)
	at org.apache.qpid.transport.Session.resume(Session.java:300)
	at org.apache.qpid.transport.Connection.resume(Connection.java:524)
	at
org.apache.qpid.client.AMQConnectionDelegate_0_10.resubscribeSessions(AMQConnectionDelegate_0_10.java:288)
	at
org.apache.qpid.client.AMQConnection.resubscribeSessions(AMQConnection.java:1480)
	at
org.apache.qpid.client.AMQConnectionDelegate_0_10$2.run(AMQConnectionDelegate_0_10.java:363)
	at
org.apache.qpid.client.AMQConnection.doWithAllLocks(AMQConnection.java:1959)
	at
org.apache.qpid.client.AMQConnection.doWithAllLocks(AMQConnection.java:1947)
	at
org.apache.qpid.client.AMQConnection.doWithAllLocks(AMQConnection.java:1926)
	at
org.apache.qpid.client.AMQConnectionDelegate_0_10.closed(AMQConnectionDelegate_0_10.java:340)
	at org.apache.qpid.transport.Connection.closed(Connection.java:601)
	at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:113)
	at
org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:219)
	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:225)
	at java.lang.Thread.run(Thread.java:745)
2018-01-24 13:23:58,822 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- ==== Checking failoverAllowed() ====
2018-01-24 13:23:58,822 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:3
Current Retry:0
Current Broker:2
tcp://spgappdevmutil:5672?connectdelay='1000'&retries='3'
tcp://appprd02:5672?connectdelay='1000'&retries='3'
>tcp://appprd02:5682?connectdelay='1000'&retries='3'

2018-01-24 13:23:58,822 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- ====================================
2018-01-24 13:23:58,822 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- Trying tcp://appprd02:5682?connectdelay='1000'&retries='3'
2018-01-24 13:23:58,823 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- Delay between connect retries:1000
2018-01-24 13:23:59,826 [10.0.51.42:5672] - ERROR
oggingUncaughtExceptionHandler - Uncaught exception in thread
"IoRcvr-/10.240.15.7:65068-spgappdevmutil/10.0.51.42:5672"
java.lang.RuntimeException: Dispatcher did not close down within the timeout
of 1000 ms.
	at org.apache.qpid.client.AMQSession$Dispatcher.close(AMQSession.java:3407)
	at
org.apache.qpid.client.AMQSession.markClosedConsumers(AMQSession.java:3047)
	at
org.apache.qpid.client.AMQSession.markClosedProducersAndConsumers(AMQSession.java:3077)
	at org.apache.qpid.client.AMQSession.markClosed(AMQSession.java:2278)
	at
org.apache.qpid.client.AMQConnectionDelegate_0_10.closed(AMQConnectionDelegate_0_10.java:392)
	at org.apache.qpid.transport.Connection.closed(Connection.java:601)
	at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:113)
	at
org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:219)
	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:225)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread
"IoRcvr-/10.240.15.7:65068-spgappdevmutil/10.0.51.42:5672"
java.lang.RuntimeException: Dispatcher did not close down within the timeout
of 1000 ms.
	at org.apache.qpid.client.AMQSession$Dispatcher.close(AMQSession.java:3407)
	at
org.apache.qpid.client.AMQSession.markClosedConsumers(AMQSession.java:3047)
	at
org.apache.qpid.client.AMQSession.markClosedProducersAndConsumers(AMQSession.java:3077)
	at org.apache.qpid.client.AMQSession.markClosed(AMQSession.java:2278)
	at
org.apache.qpid.client.AMQConnectionDelegate_0_10.closed(AMQConnectionDelegate_0_10.java:392)
	at org.apache.qpid.transport.Connection.closed(Connection.java:601)
	at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:113)
	at
org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:219)
	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:225)
	at java.lang.Thread.run(Thread.java:745)
2018-01-24 13:24:00,198 [10.1.1.119:5682] - INFO  AMQConnection                 
- Cannot connect to broker
(tcp://appprd02:5682?connectdelay='1000'&retries='3'): Virtual host
'spgqpiddev' is not active:Unable to connect to broker at
tcp://appprd02:5682?connectdelay='1000'&retries='3'
2018-01-24 13:24:00,198 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- ==== Checking failoverAllowed() ====
2018-01-24 13:24:00,198 [10.1.1.119:5682] - INFO  FailoverRoundRobinServers     
- Cycle Servers:




--
Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message