[ 
https://issues.apache.org/jira/browse/UIMA-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933154#action_12933154
 ] 

Jerry Cwiklik commented on UIMA-1658:
-------------------------------------

I have tried to make the failover work with AMQ 5.3.2 and 5.4.1 with no luck. 
The behavior seems different from the problems reported earlier in this JIRA. 
After the failover, the UIMA AS service (consumer) gets a message from the 
broker but it is unable to deliver it to the temp reply queue of the client. It 
fails with: javax.jms.InvalidDestinationException: Cannot publish to a deleted 
Destination: temp-queue://ID:jxxxxxxx

I created a pure jms producer and consumer to eliminate a possible bug in UIMA 
AS. The bare bones producer sends 1 message to a consumer and expects a reply. 
With pure Master-Slave configuration and both brokers running there are no 
problems. If I kill the Master, I see two problems:

1) Occasionally the Consumer process terminates after a failover occurs with:

Nov 17, 2010 1:36:36 PM 
org.apache.activemq.transport.failover.FailoverTransport handleTransportFailure
WARNING: Transport (XXXXX:61616) failed to tcp://XXXX:61616 , attempting to 
automatically reconnect due to: java.io.EOFException

This exception is supposedly expected, but the process should remain running. 
The consumer process broker URLis 
failover://(tcp://host1:61616,tcp://host2:61618)?randomize=false. 

2) If the Consumer process survives problem#1 (ie.keeps running after 
failover), the next problem happens on reply. The Consumer process tries to 
reply to a temp queue provided in a message by the Producer (client). It uses a 
MessageProducer object and Session that were created and cached during a 
previous (successful) message exchange while both brokers were up. After the 
failover though, the Consumer fails with:

Nov 17, 2010 1:40:31 PM 
org.apache.activemq.transport.failover.FailoverTransport handleTransportFailure
WARNING: Transport (XXXX:61616) failed to tcp://XXX:61616 , attempting to 
automatically reconnect due to: java.io.EOFException
Nov 17, 2010 1:40:31 PM 
org.apache.activemq.transport.failover.FailoverTransport doReconnect
INFO: Successfully reconnected to tcp://YYYY:61618
Consumer Received Message - Reply 
Destination:temp-queue://ID:XXXX-57934-1290019237590-0:0:1
javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: 
temp-queue://ID:XXXX-53953-1290019223427-0:0:1

In jConsole I can see that the temp queue is created in both brokers. The temp 
queues have different IDs though. As I understand AMQ failover, it should be 
automatic and transparent. There are a few JIRAs in AMQ related to Pure-Master 
failover so I think that this problem is AMQ related and propose to close this 
JIRA. I will create a JIRA for AMQ. Do you agree Jorn?



> UIMA AS worker does not respond to client initialize after failover
> -------------------------------------------------------------------
>
>                 Key: UIMA-1658
>                 URL: https://issues.apache.org/jira/browse/UIMA-1658
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>    Affects Versions: 2.3AS
>         Environment: Ubuntu 8.10 Server, Java 1.6 and ActiveMQ 5.3.0
>            Reporter: Jörn Kottmann
>
> A Pure Master Slave Broker is used to increase availability of the broker. 
> More information about it can be found in the activemq documentation:
> http://activemq.apache.org/pure-master-slave.html 
> In a test we simulated Master failure through killing the process with kill 
> -9.
> Here is the log output from the worker node:
> INFO  FailoverTransport              - Successfully connected to 
> tcp://XXX1:61616
>  Here I stopped the master broker process with kill -9 
> WARN  FailoverTransport              - Transport failed to tcp://XXX1:61616 , 
> attempting to automatically reconnect due to: java.io.EOFException
> WARN  FailoverTransport              - Transport failed to tcp://XXX1:61616 , 
> attempting to automatically reconnect due to: java.io.EOFException
> WARN  FailoverTransport              - Transport failed to tcp://XXX1:61616 , 
> attempting to automatically reconnect due to: java.io.EOFException
> INFO  FailoverTransport              - Successfully reconnected to 
> tcp://XXX2:61616
> INFO  FailoverTransport              - Successfully reconnected to 
> tcp://XXX2:61616
> INFO  FailoverTransport              - Successfully reconnected to 
> tcp://XXX2:61616 
> Afterwards the client was restarted but got a time out error during 
> initialize.
> During initializes it sends a message to the worker nodes input queue, but 
> this
> message if never retrieved.
> I used the activemq web interface to get some information about the message:
> Command     2001
> MessageFrom     ID:XXXX-51032-1257865414664-0:1:1
> ServerURI     failover:(tcp://XXX1:61616,tcp://XXX2:61616)?randomize=false
> MessageType     3000 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to