Setting the "reconnect-urls" client option actually merges the new URLs with the old. This patch allows that to be configured:
if "reconnect-urls-replace" is set to true then the old URLs are replaced instead. This us useful in long-running failover tests that generate an unlimited series of different broker addresses. The default is the old merge behaviour as this is safer for a fixed-size cluster: in the event of a partion you don't want the failover list to be replaced by a list containing only the losing brokers, that would leave the client stranded.