BUG-3419 : fix shutdown of modules 07/21407/2
authorDana Kutenicsova <dkutenic@cisco.com>
Thu, 28 May 2015 15:54:04 +0000 (17:54 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 3 Jun 2015 07:13:47 +0000 (07:13 +0000)
Turns out each extension when it's closed calls
stop() on their Activators. This nulls registration
list. But when the Activator itself is shut down,
it also calls its stop() method invoking an
IllegalStateException.

Change-Id: I3887cc687489e9e441224265f0e85baf6928aaee
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
(cherry picked from commit bc7abb1c1b16a8a395003bfbbf6f299f4fef4c2d)

bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/AbstractBGPExtensionProviderActivator.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBExtensionProviderActivator.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/AbstractPCEPExtensionProviderActivator.java

index f7b56aa484906ea3b9ab1ebbb11a66d913c7ab71..c3a4b9b947fc3e00e5a004593cbab4e0a884ab29 100644 (file)
@@ -8,11 +8,8 @@
 package org.opendaylight.protocol.bgp.parser.spi;
 
 import com.google.common.base.Preconditions;
-
 import java.util.List;
-
 import javax.annotation.concurrent.GuardedBy;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -34,7 +31,9 @@ public abstract class AbstractBGPExtensionProviderActivator implements AutoClose
 
     @Override
     public final synchronized void stop() {
-        Preconditions.checkState(this.registrations != null);
+        if (this.registrations == null) {
+            return;
+        }
 
         for (final AutoCloseable r : this.registrations) {
             try {
index 870ba7505d5051effbf1b7f646adea28b17535f5..d830261fa65c24178059eb72da3df4f2337ab0e0 100644 (file)
@@ -8,11 +8,8 @@
 package org.opendaylight.protocol.bgp.rib.spi;
 
 import com.google.common.base.Preconditions;
-
 import java.util.List;
-
 import javax.annotation.concurrent.GuardedBy;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -34,7 +31,9 @@ public abstract class AbstractRIBExtensionProviderActivator implements AutoClose
 
     @Override
     public final synchronized void stopRIBExtensionProvider() {
-        Preconditions.checkState(this.registrations != null);
+        if (this.registrations == null) {
+            return;
+        }
 
         for (final AutoCloseable r : this.registrations) {
             try {
index 442beca1766c6deda6df3456320fd0a400fe0e8f..0e65358caf395205cb19bddf70ffbf0dbc4b73b7 100644 (file)
@@ -8,11 +8,8 @@
 package org.opendaylight.protocol.pcep.spi.pojo;
 
 import com.google.common.base.Preconditions;
-
 import java.util.List;
-
 import javax.annotation.concurrent.GuardedBy;
-
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator;
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
 import org.slf4j.Logger;
@@ -36,7 +33,9 @@ public abstract class AbstractPCEPExtensionProviderActivator implements AutoClos
 
     @Override
     public final synchronized void stop() {
-        Preconditions.checkState(this.registrations != null);
+        if (this.registrations == null) {
+            return;
+        }
 
         for (final AutoCloseable r : this.registrations) {
             try {