Display the in-flight taskId when a runway conflict is detected

When the schedule of a replication task is delayed because
of runway conflict, the in-flight taskId should be logged
so that the Gerrit admin can understand the culprit of replication
delays.

Change-Id: I73b1dd2f4eadd80f473bfd5beb06a5c4c297124a
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java
index 3467460..42bea3e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java
@@ -310,9 +310,10 @@
     if (!pool.requestRunway(this)) {
       if (!canceled) {
         repLog.info(
-            "[{}] Rescheduling replication to {} to avoid collision with an in-flight fetch.",
+            "[{}] Rescheduling replication from {} to avoid collision with an in-flight fetch task [{}].",
             taskIdHex,
-            uri);
+            uri,
+            pool.getInFlight(getURI()).map(FetchOne::getTaskIdHex).orElse("<unknown>"));
         pool.reschedule(this, Source.RetryReason.COLLISION);
       }
       return;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java
index 45ab7e2..8db73ca 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java
@@ -589,6 +589,10 @@
     return true;
   }
 
+  Optional<FetchOne> getInFlight(URIish uri) {
+    return Optional.ofNullable(inFlight.get(uri));
+  }
+
   void notifyFinished(FetchOne op) {
     synchronized (stateLock) {
       inFlight.remove(op.getURI());