diff options
Diffstat (limited to 'src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java')
-rw-r--r-- | src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java index 20f5a0b..fdf6109 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java @@ -249,6 +249,10 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { return states.toArray(new ReplicationState[states.size()]); } + public int getId() { + return id; + } + void addStates(ListMultimap<String, ReplicationState> states) { stateMap.putAll(states); } @@ -295,10 +299,13 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { // created and scheduled for a future point in time.) // MDC.put(ID_MDC_KEY, IdGenerator.format(id)); - if (!pool.requestRunway(this)) { - if (!canceled) { + RunwayStatus status = pool.requestRunway(this); + if (!status.isAllowed()) { + if (!status.isCanceled()) { repLog.info( - "Rescheduling replication to {} to avoid collision with an in-flight push.", uri); + "Rescheduling replication to {} to avoid collision with the in-flight push [{}].", + uri, + IdGenerator.format(status.getInFlightPushId())); pool.reschedule(this, Destination.RetryReason.COLLISION); } return; |