qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-3220) Specifying connection url option failover='singlebroker' causes the wrong failover policy to be used
Date Mon, 16 May 2011 19:44:47 GMT

     [ https://issues.apache.org/jira/browse/QPID-3220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Robbie Gemmell updated QPID-3220:

    Status: Ready To Review  (was: In Progress)

> Specifying connection url option failover='singlebroker' causes the wrong failover policy
to be used
> ----------------------------------------------------------------------------------------------------
>                 Key: QPID-3220
>                 URL: https://issues.apache.org/jira/browse/QPID-3220
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.5, 0.6, 0.7, 0.8, 0.9, 0.10
>            Reporter: Keith Wall
>            Assignee: Robbie Gemmell
>            Priority: Minor
>             Fix For: 0.11
>         Attachments: 0001-QPID-3220-Specifying-connection-url-option-failover-.patch
> If the user specifies the option failover='singlebroker' in the connection URL, a coding
error in FailoverPolicy.java means that the client actually elects to use FailoverRoundRobinServers
policy rather than FailoverSingleServer.
> For example, the following URL will cause the client to use the round-robin policy. 
> {code}
> amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672?retries='50'&connectdelay='5000''&failover='singlebroker'
> {code}
> Furthermore, as the logic FailoverRoundRobinServers.getNextBrokerDetails means that if
the roundrobin policy is used with a brokerlist containing *one broker*, connectdelay is never
applied, this defect also means that if a user passes failover='singlebroker' with a broker
list containing one entry, connectdelay is ignored.   This can give the appearance that server
reconnection is broken as the client can spin through thousands of retries before then broker
has chance to restart.
> To workaround this issue, the user can omit the failover option from the URL and let
the defaulting within FailoverPolicy class choose FailoverSingleServer if the brokerlist contains
one entry, or FailoverRoundRobinServers if the list contains more than one.
> Client will default to singlebroker policy:
> {code}
> amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672'
> {code}
> Client will default to roundrobin policy:
> {code}
> amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672;tcp://localhost:5672'
> {code}

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org

View raw message