X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fforwardingrulesmanager%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2Finternal%2FFlowEntryDistributionOrderFutureTask.java;h=b8c2d1db55067b9fc880ccfa74d352a0a45965a0;hb=8fcb3ad33b7d0dae547c48fd57dcadc1488d91db;hp=a51409fc2d241b61f2180b20841a942cf5e2ca36;hpb=b1a1182db907b19fe986d3cd18146b7842fc58c9;p=controller.git diff --git a/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/FlowEntryDistributionOrderFutureTask.java b/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/FlowEntryDistributionOrderFutureTask.java index a51409fc2d..b8c2d1db55 100644 --- a/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/FlowEntryDistributionOrderFutureTask.java +++ b/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/FlowEntryDistributionOrderFutureTask.java @@ -65,6 +65,12 @@ final class FlowEntryDistributionOrderFutureTask implements Future { @Override public boolean cancel(boolean mayInterruptIfRunning) { + if (this.waitingLatch.getCount() != 0L) { + this.retStatus = new Status(StatusCode.GONE); + this.waitingLatch.countDown(); + logger.trace("Cancelled the workOrder"); + return true; + } return false; } @@ -87,7 +93,8 @@ final class FlowEntryDistributionOrderFutureTask implements Future { // Return the known status return retStatus; } else { - logger.error("Timing out, the workStatus for order {} has not come back in time!", this.order); + logger.error("Timing out, the workStatus for order {} has not come back in time!, it's hashcode is {}", + this.order, this.order.hashCode()); return new Status(StatusCode.TIMEOUT); } }