[
https://issues.apache.org/jira/browse/QPID-3220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robbie Gemmell reassigned QPID-3220:
------------------------------------
Assignee: Robbie Gemmell (was: Keith Wall)
> 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:[email protected]