2009/9/22 Rajith Attapattu <[email protected]>: > On Tue, Sep 22, 2009 at 7:13 AM, Martin Ritchie <[email protected]> wrote: >> Hi Rajith, >> Will this not cause both the 0-8 and 0-10 code path to throw a >> NullPointer if none of the brokers are available on startup. >> Is the FailoverPolicy cycle count not what stops the looping? >> >> Regards > > Hi Martin, > > If the initial broker is not available it will throw > ConnectionException. My title for the JIRA is a bit misleading here. > If the initial connection is successful and if it gets disconnected > before it gets a chance to update its membership list via the failover > exchange this looping can happen. > > The 0-8 codepath and a non-clustered 0-10 codepath should not be using > failover exchange method. > Perhaps we should add a check for this?? > > This modification is done only for the FailoverExchange method where > cycle count is not applicable. > The failover exchange maintains a dynamic list of brokers based on the > updates send by the failover exchange it is subscribed to. > It will continue until total cluster failure. > > Regards, > > Rajith
I see the dynamic list bits now but I'm still don't see how returning null is checked? In the failover mode the returned value from getNextBroker is passed straight in to makeBrokerConnection which assumes the BrokerDetails is not null. I must be missing something. Martin > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:[email protected] > > -- Martin Ritchie --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
