qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lance D." <lan...@gmail.com>
Subject Client-side Failover Logic
Date Sun, 03 Mar 2013 16:14:07 GMT
Howdy all!


I've got a quick question about the failover behavior of the JAVA API
before I file a bug report (just to make sure it's not just something I'm
doing).


Mundane details first:  QPID 0.16, AMQP 0-10; I have 2 brokers running on 2
different servers; the brokers are not clustered.  I'm attempting to write
code that, on failure of one broker, automatically swaps over to the other
broker (failover).


I'm unable to failover due to a timeout exception in the Session class
(org.apache.qpid.transport).  When the Session tries to resume, it will
null the 'resumer' once it has finished its resuming tasks.  When waiting
for the commands lock in the invoke method, the code waits for the default
60 seconds and then jump down into the RESUMING switch case.  At which
point, since the resumer thread is null, a SessionException is thrown,
causing failover to not finish.



It looks as though it is expecting things to happen on separate threads,
however, all of the reconnect logic is occurring on the IOReceiver thread
(and according to documentation from the FailoverHandler documentation,
that is not good).


Am I doing something wrong, or is this a real bug?


Thanks again for your continuing help!

-Lance

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message