BUG-3419 : fix shutdown of modules 42/21342/2
authorDana Kutenicsova <dkutenic@cisco.com>
Thu, 28 May 2015 15:54:04 +0000 (17:54 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 29 May 2015 12:45:20 +0000 (12:45 +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>
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 {