in src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultisiteReplicationPushFilter.java [136:153]
private void randomSleepForMitigatingConditionWhereLocalRefHaveJustBeenChanged(
String projectName, RemoteRefUpdate refUpdate, String ref) {
int randomSleepTimeMsec =
MIN_WAIT_BEFORE_RELOAD_LOCAL_VERSION_MS
+ new Random().nextInt(RANDOM_WAIT_BEFORE_RELOAD_LOCAL_VERSION_MS);
repLog.debug(
String.format(
"'%s' is not up-to-date for project '%s' [local='%s']. Reload local ref in '%d ms' and re-check",
ref, projectName, refUpdate.getNewObjectId(), randomSleepTimeMsec));
try {
Thread.sleep(randomSleepTimeMsec);
} catch (InterruptedException ie) {
String message =
String.format("Error while waiting for next check for '%s', ref '%s'", projectName, ref);
repLog.error(message);
logger.atWarning().withCause(ie).log(message);
}
}