You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by sz...@apache.org on 2013/04/10 22:17:51 UTC
svn commit: r1466658 [2/2] - in
/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs: ./
src/main/java/ src/main/java/org/apache/hadoop/hdfs/
src/main/java/org/apache/hadoop/hdfs/protocol/
src/main/java/org/apache/hadoop/hdfs/protocolPB/ s...
Modified: hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestINodeFile.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestINodeFile.java?rev=1466658&r1=1466657&r2=1466658&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestINodeFile.java (original)
+++ hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestINodeFile.java Wed Apr 10 20:17:39 2013
@@ -24,10 +24,8 @@ import static org.junit.Assert.fail;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.util.EnumSet;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.CreateFlag;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Options;
@@ -40,10 +38,7 @@ import org.apache.hadoop.hdfs.DFSTestUti
import org.apache.hadoop.hdfs.DFSUtil;
import org.apache.hadoop.hdfs.DistributedFileSystem;
import org.apache.hadoop.hdfs.MiniDFSCluster;
-import org.apache.hadoop.hdfs.protocol.HdfsFileStatus;
import org.apache.hadoop.hdfs.server.blockmanagement.BlockInfo;
-import org.apache.hadoop.hdfs.server.protocol.NamenodeProtocols;
-import org.apache.hadoop.io.EnumSetWritable;
import org.junit.Test;
public class TestINodeFile {
@@ -366,9 +361,7 @@ public class TestINodeFile {
cluster.waitActive();
FSNamesystem fsn = cluster.getNamesystem();
- long lastId = fsn.getLastInodeId();
-
- assertTrue(lastId == 1001);
+ assertTrue(fsn.getLastInodeId() == 1001);
// Create one directory and the last inode id should increase to 1002
FileSystem fs = cluster.getFileSystem();
@@ -376,14 +369,10 @@ public class TestINodeFile {
assertTrue(fs.mkdirs(path));
assertTrue(fsn.getLastInodeId() == 1002);
- // Use namenode rpc to create a file
- NamenodeProtocols nnrpc = cluster.getNameNodeRpc();
- HdfsFileStatus fileStatus = nnrpc.create("/test1/file", new FsPermission(
- (short) 0755), "client",
- new EnumSetWritable<CreateFlag>(EnumSet.of(CreateFlag.CREATE)), true,
- (short) 1, 128 * 1024 * 1024L);
+ int fileLen = 1024;
+ Path filePath = new Path("/test1/file");
+ DFSTestUtil.createFile(fs, filePath, fileLen, (short) 1, 0);
assertTrue(fsn.getLastInodeId() == 1003);
- assertTrue(fileStatus.getFileId() == 1003);
// Rename doesn't increase inode id
Path renamedPath = new Path("/test2");
@@ -395,7 +384,32 @@ public class TestINodeFile {
// Make sure empty editlog can be handled
cluster.restartNameNode();
cluster.waitActive();
+ fsn = cluster.getNamesystem();
assertTrue(fsn.getLastInodeId() == 1003);
+
+ DFSTestUtil.createFile(fs, new Path("/test2/file2"), fileLen, (short) 1,
+ 0);
+ long id = fsn.getLastInodeId();
+ assertTrue(id == 1004);
+ fs.delete(new Path("/test2"), true);
+ // create a file under construction
+ FSDataOutputStream outStream = fs.create(new Path("/test3/file"));
+ assertTrue(outStream != null);
+ assertTrue(fsn.getLastInodeId() == 1006);
+
+ // Apply editlogs to fsimage, test fsimage with inodeUnderConstruction can
+ // be handled
+ fsn.enterSafeMode(false);
+ fsn.saveNamespace();
+ fsn.leaveSafeMode();
+
+ outStream.close();
+
+ // The lastInodeId in fsimage should remain 1006 after reboot
+ cluster.restartNameNode();
+ cluster.waitActive();
+ fsn = cluster.getNamesystem();
+ assertTrue(fsn.getLastInodeId() == 1006);
} finally {
if (cluster != null) {
cluster.shutdown();
Modified: hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/TestGSet.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/TestGSet.java?rev=1466658&r1=1466657&r2=1466658&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/TestGSet.java (original)
+++ hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/TestGSet.java Wed Apr 10 20:17:39 2013
@@ -388,6 +388,11 @@ public class TestGSet {
return String.format(" iterate=%5d, contain=%5d, time elapsed=%5d.%03ds",
iterate_count, contain_count, t/1000, t%1000);
}
+
+ @Override
+ public void clear() {
+ gset.clear();
+ }
}
/** Test data set */
Modified: hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored?rev=1466658&r1=1466657&r2=1466658&view=diff
==============================================================================
Binary files - no diff available.
Modified: hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml?rev=1466658&r1=1466657&r2=1466658&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml (original)
+++ hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml Wed Apr 10 20:17:39 2013
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<EDITS>
- <EDITS_VERSION>-41</EDITS_VERSION>
+ <EDITS_VERSION>-42</EDITS_VERSION>
<RECORD>
<OPCODE>OP_START_LOG_SEGMENT</OPCODE>
<DATA>
@@ -41,6 +41,7 @@
<DATA>
<TXID>5</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1002</INODEID>
<PATH>/file_create</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709370</MTIME>
@@ -60,6 +61,7 @@
<DATA>
<TXID>6</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>0</INODEID>
<PATH>/file_create</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709398</MTIME>
@@ -98,6 +100,7 @@
<DATA>
<TXID>9</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1003</INODEID>
<PATH>/directory_mkdir</PATH>
<TIMESTAMP>1357889709598</TIMESTAMP>
<PERMISSION_STATUS>
@@ -165,6 +168,7 @@
<DATA>
<TXID>17</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1004</INODEID>
<PATH>/file_create</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709615</MTIME>
@@ -184,6 +188,7 @@
<DATA>
<TXID>18</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>0</INODEID>
<PATH>/file_create</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709616</MTIME>
@@ -264,6 +269,7 @@
<DATA>
<TXID>26</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1005</INODEID>
<PATH>/file_concat_target</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709631</MTIME>
@@ -355,6 +361,7 @@
<DATA>
<TXID>33</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>0</INODEID>
<PATH>/file_concat_target</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709689</MTIME>
@@ -396,6 +403,7 @@
<DATA>
<TXID>35</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1006</INODEID>
<PATH>/file_concat_0</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709692</MTIME>
@@ -487,6 +495,7 @@
<DATA>
<TXID>42</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>0</INODEID>
<PATH>/file_concat_0</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709710</MTIME>
@@ -528,6 +537,7 @@
<DATA>
<TXID>44</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1007</INODEID>
<PATH>/file_concat_1</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709713</MTIME>
@@ -619,6 +629,7 @@
<DATA>
<TXID>51</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>0</INODEID>
<PATH>/file_concat_1</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709744</MTIME>
@@ -666,6 +677,7 @@
<DATA>
<TXID>53</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1008</INODEID>
<PATH>/file_symlink</PATH>
<VALUE>/file_concat_target</VALUE>
<MTIME>1357889709751</MTIME>
@@ -739,6 +751,7 @@
<DATA>
<TXID>58</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>1009</INODEID>
<PATH>/hard-lease-recovery-test</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889709825</MTIME>
@@ -805,6 +818,7 @@
<DATA>
<TXID>64</TXID>
<LENGTH>0</LENGTH>
+ <INODEID>0</INODEID>
<PATH>/hard-lease-recovery-test</PATH>
<REPLICATION>1</REPLICATION>
<MTIME>1357889712257</MTIME>