X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fclient%2FAbstractClientConnection.java;h=47c0676979b94ea291532e5b713aee0bbcbece56;hp=4dfe43b0892ef2507ff658c17771797722fe6106;hb=28551609a31799a43d3017ba0681e198f5136d70;hpb=649930cb08759c14c69d5442cbae047028d6059d diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java index 4dfe43b089..47c0676979 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java @@ -13,6 +13,7 @@ import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.Preconditions; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import java.util.Iterator; import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; @@ -162,13 +163,21 @@ public abstract class AbstractClientConnection { @GuardedBy("lock") final void finishReplay(final ReconnectForwarder forwarder) { - setForwarder(forwarder); + queue.setForwarder(forwarder); lock.unlock(); } @GuardedBy("lock") final void setForwarder(final ReconnectForwarder forwarder) { - queue.setForwarder(forwarder, currentTime()); + final long now = currentTime(); + final Iterator it = queue.asIterable().iterator(); + while (it.hasNext()) { + final ConnectionEntry e = it.next(); + forwarder.forwardEntry(e, now); + it.remove(); + } + + queue.setForwarder(forwarder); } @GuardedBy("lock")