You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by an...@apache.org on 2013/12/20 04:34:35 UTC

svn commit: r1552489 - /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java

Author: anoopsamjohn
Date: Fri Dec 20 03:34:35 2013
New Revision: 1552489

URL: http://svn.apache.org/r1552489
Log:
HBASE-10207 ZKVisibilityLabelWatcher : Populate the labels cache on startup

Modified:
    hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java

Modified: hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java?rev=1552489&r1=1552488&r2=1552489&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java (original)
+++ hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java Fri Dec 20 03:34:35 2013
@@ -59,8 +59,18 @@ public class ZKVisibilityLabelWatcher ex
 
   public void start() throws KeeperException {
     watcher.registerListener(this);
-    ZKUtil.watchAndCheckExists(watcher, labelZnode);
-    ZKUtil.watchAndCheckExists(watcher, userAuthsZnode);
+    if (ZKUtil.watchAndCheckExists(watcher, labelZnode)) {
+      byte[] data = ZKUtil.getDataAndWatch(watcher, labelZnode);
+      if (data != null) {
+        refreshVisibilityLabelsCache(data);
+      }
+    }
+    if (ZKUtil.watchAndCheckExists(watcher, userAuthsZnode)) {
+      byte[] data = ZKUtil.getDataAndWatch(watcher, userAuthsZnode);
+      if (data != null) {
+        refreshUserAuthsCache(data);
+      }
+    }
   }
 
   private void refreshVisibilityLabelsCache(byte[] data) {