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%2FSequencedQueue.java;h=596e353c981f3d21d193c66795753233c40bb6eb;hp=0e8d1b9d56b8c5674268ca1ec21b9fb24b43ad3f;hb=a9aa26d372a3c018132351153b308e053bafc9d4;hpb=93fd87f9e46446be9eb8538669ebbfade205590e;ds=sidebyside diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/SequencedQueue.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/SequencedQueue.java index 0e8d1b9d56..596e353c98 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/SequencedQueue.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/SequencedQueue.java @@ -11,6 +11,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.base.Ticker; import com.google.common.base.Verify; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayDeque; import java.util.Iterator; import java.util.Optional; @@ -154,8 +155,14 @@ final class SequencedQueue { } // Ready to transmit - currentInflight.offer(e); - LOG.debug("Enqueued request {} to queue {}", request, this); + + if (currentInflight.offer(e)) { + LOG.debug("Enqueued request {} to queue {}", request, this); + } else { + // This shouldn't happen since the queue has unlimited capacity but check anyway to avoid FindBugs warning + // about checking return value. + LOG.warn("Fail to enqueued request {} to queue {}", request, this); + } e.retransmit(backend, nextTxSequence(), now); if (expectingTimer == null) { @@ -172,6 +179,8 @@ final class SequencedQueue { * - if a matching entry is not found, but it makes sense to keep looking at other queues, return null * - if a conflicting entry is encountered, indicating we should ignore this request, return an empty Optional */ + @SuppressFBWarnings(value = "NP_OPTIONAL_RETURN_NULL", + justification = "Returning null Optional is documented in the API contract.") private static Optional findMatchingEntry(final Queue queue, final ResponseEnvelope envelope) { // Try to find the request in a queue. Responses may legally come back in a different order, hence we need