Author: frm
Date: Tue Apr 26 14:31:21 2016
New Revision: 1741041

URL: http://svn.apache.org/viewvc?rev=1741041&view=rev
Log:
OAK-4311 - Unregister the cluster ID descriptors registered in 
SegmentNodeStoreService

Modified:
    
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
    
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java

Modified: 
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java?rev=1741041&r1=1741040&r2=1741041&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
 Tue Apr 26 14:31:21 2016
@@ -238,6 +238,8 @@ public class SegmentNodeStoreService ext
 
     private Registration discoveryLiteDescriptorRegistration;
 
+    private Registration clusterIdDescriptorRegistration;
+
     /**
      * Blob modified before this time duration would be considered for Blob GC
      */
@@ -475,7 +477,11 @@ public class SegmentNodeStoreService ext
         
clusterIdDesc.put(ClusterRepositoryInfo.OAK_CLUSTERID_REPOSITORY_DESCRIPTOR_KEY,
                 new SimpleValueFactory().createValue(
                         
ClusterRepositoryInfo.getOrCreateId(segmentNodeStore)), true, false);
-        whiteboard.register(Descriptors.class, clusterIdDesc, 
Collections.emptyMap());
+        clusterIdDescriptorRegistration = whiteboard.register(
+                Descriptors.class,
+                clusterIdDesc,
+                Collections.emptyMap()
+        );
 
         // Register "discovery lite" descriptors
         discoveryLiteDescriptorRegistration = whiteboard.register(
@@ -523,6 +529,10 @@ public class SegmentNodeStoreService ext
             discoveryLiteDescriptorRegistration.unregister();
             discoveryLiteDescriptorRegistration = null;
         }
+        if (clusterIdDescriptorRegistration != null) {
+            clusterIdDescriptorRegistration.unregister();
+            clusterIdDescriptorRegistration = null;
+        }
         if (segmentCacheMBean != null) {
             segmentCacheMBean.unregister();
             segmentCacheMBean = null;

Modified: 
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java?rev=1741041&r1=1741040&r2=1741041&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
 Tue Apr 26 14:31:21 2016
@@ -282,6 +282,8 @@ public class SegmentNodeStoreService ext
 
     private Registration discoveryLiteDescriptorRegistration;
 
+    private Registration clusterIdDescriptorRegistration;
+
     /**
      * Blob modified before this time duration would be considered for Blob GC
      */
@@ -548,7 +550,11 @@ public class SegmentNodeStoreService ext
         
clusterIdDesc.put(ClusterRepositoryInfo.OAK_CLUSTERID_REPOSITORY_DESCRIPTOR_KEY,
                 new SimpleValueFactory().createValue(
                         
ClusterRepositoryInfo.getOrCreateId(segmentNodeStore)), true, false);
-        whiteboard.register(Descriptors.class, clusterIdDesc, 
Collections.emptyMap());
+        clusterIdDescriptorRegistration = whiteboard.register(
+                Descriptors.class,
+                clusterIdDesc,
+                Collections.emptyMap()
+        );
 
         // Register "discovery lite" descriptors
         discoveryLiteDescriptorRegistration = whiteboard.register(
@@ -596,6 +602,10 @@ public class SegmentNodeStoreService ext
             discoveryLiteDescriptorRegistration.unregister();
             discoveryLiteDescriptorRegistration = null;
         }
+        if (clusterIdDescriptorRegistration != null) {
+            clusterIdDescriptorRegistration.unregister();
+            clusterIdDescriptorRegistration = null;
+        }
         if (segmentCacheMBean != null) {
             segmentCacheMBean.unregister();
             segmentCacheMBean = null;


Reply via email to