You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2016/04/26 16:31:21 UTC

svn commit: r1741041 - in /jackrabbit/oak/trunk: oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java

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;