accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e..@apache.org
Subject svn commit: r1384340 - /accumulo/branches/ACCUMULO-722/distnn/src/main/java/org/apache/hadoop/hdfs/server/namenode/ZookeeperNameNode.java
Date Thu, 13 Sep 2012 14:19:28 GMT
Author: ecn
Date: Thu Sep 13 14:19:27 2012
New Revision: 1384340

URL: http://svn.apache.org/viewvc?rev=1384340&view=rev
Log:
ACCUMULO-722: complete files in ZNN when recoverLease is called, move the root node to ZNN

Modified:
    accumulo/branches/ACCUMULO-722/distnn/src/main/java/org/apache/hadoop/hdfs/server/namenode/ZookeeperNameNode.java

Modified: accumulo/branches/ACCUMULO-722/distnn/src/main/java/org/apache/hadoop/hdfs/server/namenode/ZookeeperNameNode.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/distnn/src/main/java/org/apache/hadoop/hdfs/server/namenode/ZookeeperNameNode.java?rev=1384340&r1=1384339&r2=1384340&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/distnn/src/main/java/org/apache/hadoop/hdfs/server/namenode/ZookeeperNameNode.java
(original)
+++ accumulo/branches/ACCUMULO-722/distnn/src/main/java/org/apache/hadoop/hdfs/server/namenode/ZookeeperNameNode.java
Thu Sep 13 14:19:27 2012
@@ -120,7 +120,7 @@ public class ZookeeperNameNode implement
   }
   
   // Metadata for these files are stored in zookeeper
-  static Pattern metaDataFileNames = Pattern.compile("/accumulo(|/instance_id.*|/version.*|/walogArchive|/wal(/.*|$)|/recovery.*|/tables$|/tables/(\\!0|\\!1|\\!2|\\!3)(/.*|$))");
+  static Pattern metaDataFileNames = Pattern.compile("/$|/accumulo(|/instance_id.*|/version.*|/walogArchive|/wal(/.*|$)|/recovery.*|/tables$|/tables/(\\!0|\\!1|\\!2|\\!3)(/.*|$))");
   
   static private boolean isZooName(String path) {
     boolean result = metaDataFileNames.matcher(path).matches();
@@ -314,8 +314,28 @@ public class ZookeeperNameNode implement
   
   @Override
   public boolean recoverLease(String src, String clientName) throws IOException {
-    notImplementedWarning(src, clientName);
-    return true;
+    log.info("recoverLease " + src);
+    String path = DNNConstants.NAMESPACE_PATH + src;
+    try {
+      long length = 0;
+      for (String child : keeper.getChildren().forPath(path)) {
+        Object object = deserialize(keeper.getData().forPath(path + "/" + child));
+        if (object instanceof BlockInfo) {
+          BlockInfo info = (BlockInfo)object;
+          Block block = new Block(info.id);
+          String blockPath = DNNConstants.BLOCKS_PATH + "/" + block.getBlockName();
+          info = (BlockInfo)deserialize(keeper.getData().forPath(blockPath));
+          if (!info.complete) {
+            info.complete = true;
+            keeper.setData().forPath(blockPath);
+          }
+        }
+      }
+      return true;
+    } catch (Exception ex) {
+      log.error(ex, ex);
+      return false;
+    }
   }
   
   @Override



Mime
View raw message