Force async fetch as a fallback for sync replication

When running sync replication, the apply-object or fetch may
fail or timeout, causing the client to call the fetch operation
as a fallback.

Before this change, the modality for running the fallback fetch
was dependent on the replication.syncRefs configuration settings,
causing the fallback to potentially fail for all refs that were
included in the replication.syncRefs regex.

Force the async fetch when running the fallback execution to
a failed sync replication API, so that it can reliably work
for any refs independently from the replication.syncRefs settings.

It is tough to write a test for this specific condition
and verifying that the fetch happened asynchronously, hence
this logic has only been unit-tested at the RepicationQueue
level.

Bug: Issue 305653639
Change-Id: I5ea3f5d14b31cdc9cecc28996b175cc302f31a27
4 files changed
tree: 6f1e23fa41e91e255691a13ad352d5fce6ec5e08
  1. example-setup/
  2. src/
  3. .gitignore
  4. BUILD
  5. Jenkinsfile
  6. LICENSE