[jboss-user] [JBoss Messaging] - Failover failed

chrismeadows do-not-reply at jboss.com
Tue Dec 4 11:14:51 EST 2007


JBoss 4.2.2 GA with JBM 1.4.0.SP1 configured as per documentation, deployed identically over a two node cluster (ServerPeers 0 and 1 respectively).

I send 1000 messages to a queue. An MDB is listening to the queue, and it redispatches each message to one of 50 topics (randomly).

Each topic has a durable subscription client that is already listening before the message sending begins.

At some point after messages have started being sent, redispatched and received, I kill the receiving node in the cluster with a kill -9. Sometimes failover works, but in my experience this is not the norm. More often I get a 'Failover failed'. See stacktrace below. It's complaining about duplicate clientIDs, but it isn't my code that is setting them, so I don't see what I can do. Any ideas?


  | 638453 [Thread-259] ERROR org.jboss.jms.client.FailoverCommandCenter  - Failover failed
  | javax.jms.IllegalStateException: Cannot set clientID, already set as DurableSubscriberExample31
  | 	at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.setClientID(ServerConnectionEndpoint.java:309)
  | 	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$setClientID$aop(ConnectionAdvised.java:85)
  | 	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$setClientID_N1479100880614063379.invokeNext(ConnectionAdvised$setClientID_N1479100880614063379.java)
  | 	at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
  | 	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$setClientID_N1479100880614063379.invokeNext(ConnectionAdvised$setClientID_N1479100880614063379.java)
  | 	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.setClientID(ConnectionAdvised.java)
  | 	at org.jboss.jms.wireformat.ConnectionSetClientIDRequest.serverInvoke(ConnectionSetClientIDRequest.java:73)
  | 	at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
  | 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
  | 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
  | 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:387)
  | 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
  | 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
  | 	at org.jboss.remoting.Client.invoke(Client.java:1634)
  | 	at org.jboss.remoting.Client.invoke(Client.java:548)
  | 	at org.jboss.remoting.Client.invoke(Client.java:536)
  | 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:187)
  | 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:158)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate.org$jboss$jms$client$delegate$ClientConnectionDelegate$setClientID$aop(ClientConnectionDelegate.java:228)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$setClientID_N1479100880614063379.invokeNext(ClientConnectionDelegate$setClientID_N1479100880614063379.java)
  | 	at org.jboss.jms.client.container.ConnectionAspect.handleSetClientID(ConnectionAspect.java:105)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$setClientID_N1479100880614063379.invokeNext(ClientConnectionDelegate$setClientID_N1479100880614063379.java)
  | 	at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:114)
  | 	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$setClientID_N1479100880614063379.invokeNext(ClientConnectionDelegate$setClientID_N1479100880614063379.java)
  | 	at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
  | 	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$setClientID_N1479100880614063379.invokeNext(ClientConnectionDelegate$setClientID_N1479100880614063379.java)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate.setClientID(ClientConnectionDelegate.java)
  | 	at org.jboss.jms.client.delegate.ClientConnectionDelegate.synchronizeWith(ClientConnectionDelegate.java:120)
  | 	at org.jboss.jms.client.FailoverCommandCenter.failureDetected(FailoverCommandCenter.java:145)
  | 	at org.jboss.jms.client.container.ConnectionFailureListener.handleConnectionException(ConnectionFailureListener.java:62)
  | 	at org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener.handleConnectionException(ConsolidatedRemotingConnectionListener.java:81)
  | 	at org.jboss.remoting.ConnectionValidator$1.run(ConnectionValidator.java:452)
  | 
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4110242#4110242

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4110242



More information about the jboss-user mailing list