You are not logged in.

Unanswered posts



Important! This site has been replaced. All content here is read-only. Please visit our brand-new community at https://community.talend.com/. We look forward to hearing from you there!



#1 2017-04-07 20:04:33

Benjamin Thompson
Guest

Benjamin Thompson said:

Why won't tJMSInput reconnect via failover protocol?

Tags: [, bug, development, error]

I have one job producing messages on an ActiveMQ message queue with a tJMSOutput component. The Server URL is a string using the failover protocol. 
"failover:(tcp://XXX.XXX.XXX.XXX:61616,tcp://YYY.YYY.YYY.YYY:61616,tcp://ZZZ.ZZZ.ZZZ.ZZZ:61616)"
I have a second job consuming messages with a tJMSInput, using the exact same Server URL.
They are both using the same activemq-all-5.14.3.jar that I imported into the Module List, matching the ActiveMQ version I'm running, and the Context Provider and Connection Factory JNDI Name have both been left at their defaults.
The ActiveMQ hosts are set up as Master/Slave with a shared storage directory.
When I take the current master ActiveMQ host down, the slave is promoted to master, the producer job finds it, and it resumes sending messages right away. The consumer job, however, gets this in the log and never finds the new master node:
[WARN ]: org.apache.activemq.transport.failover.FailoverTransport - Transport (tcp://XXX.XXX.XXX.XXX:61616) failed , attempting to automatically reconnect: java.io.EOFException
[WARN ]: org.apache.activemq.transport.failover.FailoverTransport - Failed to connect to [tcp://XXX.XXX.XXX.XXX:61616, tcp://YYY.YYY.YYY.YYY:61616, tcp://ZZZ.ZZZ.ZZZ.ZZZ:61616] after: 10 attempt(s) continuing to retry.
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier; color: #929000}
[WARN ]: org.apache.activemq.transport.failover.FailoverTransport - Failed to connect to [tcp://XXX.XXX.XXX.XXX:61616, tcp://YYY.YYY.YYY.YYY:61616, tcp://ZZZ.ZZZ.ZZZ.ZZZ:61616] after: 20 attempt(s) continuing to retry.
I can't figure out why the producer would failover gracefully but the consumer would not. If I stop and start the consumer, it finds the new master and resumes reading messages off the queue. I *want* it to find the new master on its own without being restarted.

Board footer

Talend Contributor Agreement - Talend Website Privacy Policy