From: Robert Varga Date: Mon, 22 May 2017 08:11:51 +0000 (+0200) Subject: BUG-8371: raise unknown history log to warn X-Git-Tag: release/nitrogen~178 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=b6904860c1fff9e5d05767ef5b41e103b26872c0 BUG-8371: raise unknown history log to warn This error seems to be happening quite often, raise it to a warning so we understand what request is triggering it. Change-Id: If357325787f5c859a46af9286c86c0e9934909cb Signed-off-by: Robert Varga (cherry picked from commit f336a5c159ed94fb63d588b934727d8149248273) --- diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryException.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryException.java index d4293c4741..7df84763c5 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryException.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryException.java @@ -8,6 +8,8 @@ package org.opendaylight.controller.cluster.access.commands; import com.google.common.annotations.Beta; +import com.google.common.collect.RangeSet; +import com.google.common.primitives.UnsignedLong; import org.opendaylight.controller.cluster.access.concepts.RequestException; /** @@ -20,8 +22,8 @@ import org.opendaylight.controller.cluster.access.concepts.RequestException; public final class DeadHistoryException extends RequestException { private static final long serialVersionUID = 1L; - public DeadHistoryException(final long lastSeenHistory) { - super("Histories up to " + Long.toUnsignedString(lastSeenHistory) + " are accounted for"); + public DeadHistoryException(final RangeSet purgedHistories) { + super("Histories " + purgedHistories + " have been purged"); } @Override diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryExceptionTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryExceptionTest.java index f4d88ec4a8..f68297d00c 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryExceptionTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/DeadHistoryExceptionTest.java @@ -11,11 +11,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; +import com.google.common.collect.ImmutableRangeSet; import org.opendaylight.controller.cluster.access.concepts.RequestExceptionTest; public class DeadHistoryExceptionTest extends RequestExceptionTest { - private static final DeadHistoryException OBJECT = new DeadHistoryException(100); + private static final DeadHistoryException OBJECT = new DeadHistoryException(ImmutableRangeSet.of()); @Override protected void isRetriable() { @@ -25,7 +26,7 @@ public class DeadHistoryExceptionTest extends RequestExceptionTest { // end up resurrecting a purged history. if (purgedHistories.contains(UnsignedLong.fromLongBits(id.getHistoryId()))) { LOG.debug("{}: rejecting purged request {}", persistenceId, request); - throw new DeadHistoryException(lastSeenHistory.longValue()); + throw new DeadHistoryException(purgedHistories); } // Update last history we have seen @@ -188,7 +188,12 @@ final class LeaderFrontendState implements Identifiable { if (lhId.getHistoryId() != 0) { history = localHistories.get(lhId); if (history == null) { - LOG.debug("{}: rejecting unknown history request {}", persistenceId, request); + if (purgedHistories.contains(UnsignedLong.fromLongBits(lhId.getHistoryId()))) { + LOG.warn("{}: rejecting request {} to purged history", persistenceId, request); + throw new DeadHistoryException(purgedHistories); + } + + LOG.warn("{}: rejecting unknown history request {}", persistenceId, request); throw new UnknownHistoryException(lastSeenHistory); } } else {