import javax.annotation.Nullable;
import javax.annotation.concurrent.GuardedBy;
import org.opendaylight.controller.cluster.access.commands.NotLeaderException;
+import org.opendaylight.controller.cluster.access.commands.OutOfSequenceEnvelopeException;
import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
import org.opendaylight.controller.cluster.access.concepts.FailureEnvelope;
import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
return conn.reconnect(this);
}
}
+ if (cause instanceof OutOfSequenceEnvelopeException) {
+ final AbstractClientConnection<T> conn = getConnection(command);
+ if (conn instanceof ReconnectingClientConnection) {
+ // Already reconnecting, do not churn the logs
+ return this;
+ } else if (conn != null) {
+ LOG.info("{}: connection {} indicated no sequencing mismatch on {} sequence {}, reconnecting it",
+ persistenceId(), conn, failure.getTarget(), failure.getSequence(), cause);
+ return conn.reconnect(this);
+ }
+ }
return onRequestFailure(command);
}