Retry failovers by applying url distribution strategy

Previously, a push with urlDistributionStrategy=roundRobin retried the
same URL after a transport error - a single unreachable replica could
block replication for any push the rotation happened to land on it. Fix
it to apply the distribution strategy on retries.

This cherry-pick is modified to also introduce the failover strategy
for projectSharded distribution strategy.

Change-Id: Id8ff42afdcd40a315fbab1ecb272b5e87bd0880d
(cherry picked from commit 28ee207f72e3acb7910ab39d0a033c9da38b699c)
4 files changed
tree: e774e191e5c2653c46024192855d5f5e946133a9
  1. .settings/
  2. src/
  3. .gitignore
  4. .mailmap
  5. BUILD
  6. LICENSE