summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Milanesio <luca.milanesio@gmail.com>2017-03-21 09:34:00 +0000
committerLuca Milanesio <luca.milanesio@gmail.com>2017-03-21 09:36:18 +0000
commit47c2691a109ffedf8737f3697a80eef82dd5a4a9 (patch)
tree50c389dbcd66ff63aadbd06a61bc2cc2a1991dd5
parent7bdacabfcc4c9b17b773f2783bf406c02ad738fb (diff)
Remove ops from pending when max retries reachedv2.14-rc1v2.14-rc0v2.14
When a push operation is not retried anymore, remove it from the pending queue as well and log the error on replication.log. Failing to do so, it would result in the destination to refrain from retrying again at then next Gerrit event. Change-Id: I1f3dd4011e2822a2e0b52037fcb130e820af156f Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
-rw-r--r--src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java b/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java
index de705f0..603a70f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java
@@ -395,6 +395,12 @@ public class Destination {
default:
if (pushOp.setToRetry()) {
pool.schedule(pushOp, config.getRetryDelay(), TimeUnit.MINUTES);
+ } else {
+ pushOp.canceledByReplication();
+ pending.remove(uri);
+ stateLog.error(
+ "Push to " + pushOp.getURI() + " cancelled after maximum number of retries",
+ pushOp.getStatesAsArray());
}
break;
}