From: Robert Varga Date: Fri, 16 Feb 2024 13:53:33 +0000 (+0100) Subject: Fix LispMappingService closing CSS provider X-Git-Tag: release/calcium~15 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=6445920dbac192e45402c47bdd694571d3196d40;p=lispflowmapping.git Fix LispMappingService closing CSS provider ClusterSingletonProvider unfortunately exposes its close method -- and LispMappingService closes that instead of its registration. Fix that. Change-Id: Ic73320257998952d2ad8ec0e78414a7b4fb2d256 Signed-off-by: Robert Varga --- diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java index 968b26408..f3bb5d768 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java @@ -97,6 +97,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle private final NotificationService notificationService; private final Registration rpcRegistration; private final Registration listenerRegistration; + private final Registration cssRegistration; @Inject @Activate @@ -123,7 +124,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle mapResolver = new MapResolver(mapService, smr, elpPolicy, this); mapServer = new MapServer(mapService, smr, this, notificationService); - clusterSingletonService.registerClusterSingletonService(this); + cssRegistration = clusterSingletonService.registerClusterSingletonService(this); mapResolver.setSmrNotificationListener((ISmrNotificationListener) mapServer); LOG.info("LISP (RFC6830) Mapping Service initialized"); } @@ -310,6 +311,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle @Override public void close() throws Exception { destroy(); + cssRegistration.close(); clusterSingletonService.close(); rpcRegistration.close(); listenerRegistration.close(); diff --git a/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/LispMappingServiceTest.java b/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/LispMappingServiceTest.java index f022e5096..6fe0df327 100644 --- a/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/LispMappingServiceTest.java +++ b/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/LispMappingServiceTest.java @@ -80,6 +80,7 @@ public class LispMappingServiceTest { @Mock(name = "tlsMapRequest") private static ThreadLocal> tlsMapRequestMock; @Mock private static Registration rpcRegistration; @Mock(name = "listenerRegistration") private static Registration listenerRegistration; + @Mock(name = "cssRegistration") private static Registration cssRegistration; private final NotificationService notificationService = Mockito.mock(NotificationService.class); private final RpcProviderService rpcProviderService = Mockito.mock(RpcProviderService.class); @@ -346,10 +347,11 @@ public class LispMappingServiceTest { public void closeTest() throws Exception { setMock("rpcRegistration", rpcRegistration); setMock("listenerRegistration", listenerRegistration); + setMock("cssRegistration", cssRegistration); lispMappingService.close(); Mockito.verify(rpcRegistration).close(); Mockito.verify(listenerRegistration).close(); - Mockito.verify(clusterSingletonService).close(); + Mockito.verify(cssRegistration).close(); assertNull(getField("mapResolver")); assertNull(getField("mapServer")); }