From: Tomas Cere Date: Wed, 3 May 2017 11:12:31 +0000 (+0200) Subject: BUG 8301: Convert queue to a local variable X-Git-Tag: release/nitrogen~295 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=ffd3c3d542dcdab0c2523759a9e5ea02d709e75c BUG 8301: Convert queue to a local variable There's a possibility that this might race and an actor can have it's queue overwritten by another thread, so convert this to a local variable. Change-Id: Ic84922c6d109d8361a48debbf971fddd9cee1d3e Signed-off-by: Tomas Cere --- diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteredBoundedMailbox.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteredBoundedMailbox.java index f69c316ec8..c56863f1ee 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteredBoundedMailbox.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteredBoundedMailbox.java @@ -26,7 +26,6 @@ public class MeteredBoundedMailbox implements MailboxType, private static final Logger LOG = LoggerFactory.getLogger(MeteredBoundedMailbox.class); private static final String QUEUE_SIZE = "q-size"; - private MeteredMessageQueue queue; private final Integer capacity; private final FiniteDuration pushTimeOut; private final MetricRegistry registry; @@ -44,9 +43,9 @@ public class MeteredBoundedMailbox implements MailboxType, @Override public MeteredMessageQueue create(final scala.Option owner, scala.Option system) { - this.queue = new MeteredMessageQueue(this.capacity, this.pushTimeOut); - monitorQueueSize(owner, this.queue); - return this.queue; + final MeteredMessageQueue queue = new MeteredMessageQueue(this.capacity, this.pushTimeOut); + monitorQueueSize(owner, queue); + return queue; } private void monitorQueueSize(scala.Option owner, final MeteredMessageQueue monitoredQueue) {