in src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java [243:275]
public int shutdown() {
int cnt = 0;
if (pool != null) {
synchronized (stateLock) {
int numPending = pending.size();
int numInFlight = inFlight.size();
if (numPending > 0 || numInFlight > 0) {
repLog.atWarning().log(
"Cancelling replication events (pending=%d, inFlight=%d) for destination %s",
numPending, numInFlight, getRemoteConfigName());
foreachPushOp(
pending,
push -> {
push.cancel();
return null;
});
pending.clear();
foreachPushOp(
inFlight,
push -> {
push.setCanceledWhileRunning();
return null;
});
inFlight.clear();
}
cnt = pool.shutdownNow().size();
pool = null;
}
}
return cnt;
}