Merge r1609845 through r1619277 from trunk.

git-svn-id: 
https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-6584@1619293 
13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c92d869d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c92d869d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c92d869d

Branch: refs/heads/trunk
Commit: c92d869d02af4d7870649317474134ba94b1dd0c
Parents: 4e324bc 6824abc
Author: Tsz-wo Sze <szets...@apache.org>
Authored: Thu Aug 21 05:22:10 2014 +0000
Committer: Tsz-wo Sze <szets...@apache.org>
Committed: Thu Aug 21 05:22:10 2014 +0000

----------------------------------------------------------------------
 BUILDING.txt                                    |   21 +
 .../main/resources/assemblies/hadoop-dist.xml   |    7 +
 hadoop-common-project/hadoop-common/CHANGES.txt |   57 +-
 hadoop-common-project/hadoop-common/pom.xml     |   19 +-
 .../hadoop-common/src/CMakeLists.txt            |   34 +
 .../hadoop-common/src/JNIFlags.cmake            |    6 +
 .../hadoop-common/src/config.h.cmake            |    1 +
 .../hadoop-common/src/main/bin/hadoop           |  230 ++--
 .../hadoop-common/src/main/bin/hadoop-config.sh |  396 +++----
 .../hadoop-common/src/main/bin/hadoop-daemon.sh |  214 +---
 .../src/main/bin/hadoop-daemons.sh              |   37 +-
 .../src/main/bin/hadoop-functions.sh            | 1036 ++++++++++++++++++
 .../src/main/bin/hadoop-layout.sh.example       |   93 ++
 .../hadoop-common/src/main/bin/rcc              |   51 +-
 .../hadoop-common/src/main/bin/slaves.sh        |   51 +-
 .../hadoop-common/src/main/bin/start-all.sh     |   38 +-
 .../hadoop-common/src/main/bin/stop-all.sh      |   36 +-
 .../hadoop-common/src/main/conf/hadoop-env.sh   |  421 ++++++-
 .../apache/hadoop/crypto/AesCtrCryptoCodec.java |   67 ++
 .../org/apache/hadoop/crypto/CipherSuite.java   |  115 ++
 .../org/apache/hadoop/crypto/CryptoCodec.java   |  174 +++
 .../apache/hadoop/crypto/CryptoInputStream.java |  680 ++++++++++++
 .../hadoop/crypto/CryptoOutputStream.java       |  280 +++++
 .../apache/hadoop/crypto/CryptoStreamUtils.java |   70 ++
 .../org/apache/hadoop/crypto/Decryptor.java     |   72 ++
 .../org/apache/hadoop/crypto/Encryptor.java     |   71 ++
 .../hadoop/crypto/JceAesCtrCryptoCodec.java     |  165 +++
 .../hadoop/crypto/OpensslAesCtrCryptoCodec.java |  164 +++
 .../org/apache/hadoop/crypto/OpensslCipher.java |  287 +++++
 .../crypto/random/OpensslSecureRandom.java      |  119 ++
 .../hadoop/crypto/random/OsSecureRandom.java    |  115 ++
 .../hadoop/fs/CommonConfigurationKeys.java      |    1 -
 .../fs/CommonConfigurationKeysPublic.java       |   30 +
 .../apache/hadoop/fs/FSDataOutputStream.java    |    2 +-
 .../apache/hadoop/fs/FileEncryptionInfo.java    |  102 ++
 .../fs/crypto/CryptoFSDataInputStream.java      |   37 +
 .../fs/crypto/CryptoFSDataOutputStream.java     |   47 +
 .../hadoop/fs/shell/CommandWithDestination.java |   75 +-
 .../apache/hadoop/fs/shell/CopyCommands.java    |    6 +-
 .../apache/hadoop/util/NativeCodeLoader.java    |    5 +
 .../hadoop/util/NativeLibraryChecker.java       |   21 +-
 .../org/apache/hadoop/crypto/OpensslCipher.c    |  382 +++++++
 .../hadoop/crypto/org_apache_hadoop_crypto.h    |   61 ++
 .../hadoop/crypto/random/OpensslSecureRandom.c  |  335 ++++++
 .../random/org_apache_hadoop_crypto_random.h    |   40 +
 .../org/apache/hadoop/util/NativeCodeLoader.c   |   10 +
 .../src/main/resources/core-default.xml         |   69 ++
 .../src/site/apt/FileSystemShell.apt.vm         |   11 +-
 .../hadoop/crypto/CryptoStreamsTestBase.java    |  721 ++++++++++++
 .../apache/hadoop/crypto/TestCryptoCodec.java   |  186 ++++
 .../apache/hadoop/crypto/TestCryptoStreams.java |  376 +++++++
 .../crypto/TestCryptoStreamsForLocalFS.java     |  120 ++
 .../hadoop/crypto/TestCryptoStreamsNormal.java  |  123 +++
 ...yptoStreamsWithOpensslAesCtrCryptoCodec.java |   31 +
 .../apache/hadoop/crypto/TestOpensslCipher.java |  110 ++
 .../crypto/random/TestOpensslSecureRandom.java  |  114 ++
 .../crypto/random/TestOsSecureRandom.java       |  139 +++
 .../hadoop/util/TestNativeCodeLoader.java       |    4 +
 .../src/test/resources/testConf.xml             |   18 +-
 hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt     |  108 +-
 hadoop-hdfs-project/hadoop-hdfs/pom.xml         |    1 +
 .../src/main/bin/distribute-exclude.sh          |    6 +-
 .../hadoop-hdfs/src/main/bin/hdfs               |  417 ++++---
 .../hadoop-hdfs/src/main/bin/hdfs-config.sh     |   68 +-
 .../src/main/bin/refresh-namenodes.sh           |   40 +-
 .../hadoop-hdfs/src/main/bin/start-balancer.sh  |   30 +-
 .../hadoop-hdfs/src/main/bin/start-dfs.sh       |  142 ++-
 .../src/main/bin/start-secure-dns.sh            |   34 +-
 .../hadoop-hdfs/src/main/bin/stop-balancer.sh   |   30 +-
 .../hadoop-hdfs/src/main/bin/stop-dfs.sh        |  105 +-
 .../hadoop-hdfs/src/main/bin/stop-secure-dns.sh |   34 +-
 .../main/java/org/apache/hadoop/fs/Hdfs.java    |   20 +-
 .../main/java/org/apache/hadoop/fs/XAttr.java   |   13 +-
 .../java/org/apache/hadoop/hdfs/DFSClient.java  |  158 ++-
 .../org/apache/hadoop/hdfs/DFSConfigKeys.java   |    4 +-
 .../org/apache/hadoop/hdfs/DFSInputStream.java  |    8 +
 .../org/apache/hadoop/hdfs/DFSOutputStream.java |   40 +-
 .../java/org/apache/hadoop/hdfs/DFSUtil.java    |   38 +
 .../hadoop/hdfs/DistributedFileSystem.java      |   52 +-
 .../hdfs/UnknownCipherSuiteException.java       |   38 +
 .../org/apache/hadoop/hdfs/XAttrHelper.java     |    8 +-
 .../apache/hadoop/hdfs/client/HdfsAdmin.java    |   50 +
 .../hadoop/hdfs/client/HdfsDataInputStream.java |   38 +-
 .../hdfs/client/HdfsDataOutputStream.java       |   36 +-
 .../hadoop/hdfs/protocol/ClientProtocol.java    |   30 +-
 .../hadoop/hdfs/protocol/EncryptionZone.java    |   79 ++
 .../hdfs/protocol/EncryptionZoneIterator.java   |   51 +
 .../hdfs/protocol/EncryptionZoneWithId.java     |   64 ++
 .../protocol/EncryptionZoneWithIdIterator.java  |   53 +
 .../hadoop/hdfs/protocol/HdfsFileStatus.java    |   12 +-
 .../hdfs/protocol/HdfsLocatedFileStatus.java    |    6 +-
 .../hadoop/hdfs/protocol/LocatedBlocks.java     |   23 +-
 .../protocol/SnapshottableDirectoryStatus.java  |    2 +-
 .../datatransfer/sasl/DataTransferSaslUtil.java |    4 +-
 ...tNamenodeProtocolServerSideTranslatorPB.java |   56 +-
 .../ClientNamenodeProtocolTranslatorPB.java     |   81 +-
 .../apache/hadoop/hdfs/protocolPB/PBHelper.java |  102 +-
 .../server/blockmanagement/BlockManager.java    |    9 +-
 .../hdfs/server/common/HdfsServerConstants.java |    5 +
 .../hdfs/server/datanode/DataXceiver.java       |    4 +-
 .../hdfs/server/datanode/DataXceiverServer.java |    7 +-
 .../namenode/EncryptionFaultInjector.java       |   22 +
 .../server/namenode/EncryptionZoneManager.java  |  296 +++++
 .../hdfs/server/namenode/FSDirectory.java       |  313 +++++-
 .../hdfs/server/namenode/FSEditLogLoader.java   |    3 +-
 .../hdfs/server/namenode/FSNamesystem.java      |  655 ++++++++---
 .../hdfs/server/namenode/NameNodeRpcServer.java |   25 +-
 .../namenode/RetryStartFileException.java       |   21 +
 .../server/namenode/XAttrPermissionFilter.java  |   30 +-
 .../apache/hadoop/hdfs/tools/CryptoAdmin.java   |  301 +++++
 .../org/apache/hadoop/hdfs/web/JsonUtil.java    |    4 +-
 .../src/main/proto/ClientNamenodeProtocol.proto |    8 +
 .../hadoop-hdfs/src/main/proto/encryption.proto |   65 ++
 .../hadoop-hdfs/src/main/proto/hdfs.proto       |   27 +-
 .../hadoop-hdfs/src/main/proto/xattr.proto      |    1 +
 .../src/main/resources/hdfs-default.xml         |   16 +-
 .../src/site/apt/ExtendedAttributes.apt.vm      |    4 +-
 .../src/site/apt/HdfsNfsGateway.apt.vm          |    4 +-
 .../src/site/apt/TransparentEncryption.apt.vm   |  206 ++++
 .../apache/hadoop/cli/TestCryptoAdminCLI.java   |  169 +++
 .../hadoop/cli/util/CLICommandCryptoAdmin.java  |   21 +
 .../hadoop/cli/util/CryptoAdminCmdExecutor.java |   37 +
 .../java/org/apache/hadoop/fs/TestXAttr.java    |   11 +-
 .../org/apache/hadoop/hdfs/DFSTestUtil.java     |   68 ++
 .../org/apache/hadoop/hdfs/MiniDFSCluster.java  |   82 +-
 .../hdfs/MiniDFSClusterWithNodeGroup.java       |   12 +-
 .../hadoop/hdfs/TestDFSClientRetries.java       |   11 +-
 .../org/apache/hadoop/hdfs/TestDFSRename.java   |   44 +
 .../org/apache/hadoop/hdfs/TestDFSShell.java    |  177 ++-
 .../org/apache/hadoop/hdfs/TestDFSUtil.java     |    2 +-
 .../hadoop/hdfs/TestDistributedFileSystem.java  |    1 -
 .../apache/hadoop/hdfs/TestEncryptionZones.java |  756 +++++++++++++
 .../apache/hadoop/hdfs/TestFileCreation.java    |    2 +-
 .../java/org/apache/hadoop/hdfs/TestLease.java  |   11 +-
 .../hadoop/hdfs/TestReservedRawPaths.java       |  350 ++++++
 .../hdfs/TestWriteBlockGetsBlockLengthHint.java |  106 ++
 .../hdfs/crypto/TestHdfsCryptoStreams.java      |   91 ++
 .../hdfs/server/datanode/TestStorageReport.java |    2 +-
 .../hdfs/server/namenode/FSXAttrBaseTest.java   |  179 ++-
 .../server/namenode/NNThroughputBenchmark.java  |    5 +-
 .../hdfs/server/namenode/TestAddBlockRetry.java |    4 +-
 .../hdfs/server/namenode/TestFSDirectory.java   |   15 +-
 .../hadoop/hdfs/server/namenode/TestFsck.java   |    2 +-
 .../server/namenode/TestNamenodeRetryCache.java |    9 +-
 .../namenode/ha/TestRetryCacheWithHA.java       |    2 +-
 .../apache/hadoop/hdfs/web/TestJsonUtil.java    |    2 +-
 .../src/test/resources/testCryptoConf.xml       |  284 +++++
 .../src/test/resources/testXAttrConf.xml        |   58 +-
 hadoop-mapreduce-project/CHANGES.txt            |   15 +-
 hadoop-mapreduce-project/bin/mapred             |  222 ++--
 hadoop-mapreduce-project/bin/mapred-config.sh   |   72 +-
 .../bin/mr-jobhistory-daemon.sh                 |  143 +--
 hadoop-mapreduce-project/conf/mapred-env.sh     |   60 +-
 .../org/apache/hadoop/mapred/BackupStore.java   |    6 +-
 .../java/org/apache/hadoop/mapred/IFile.java    |   21 +-
 .../java/org/apache/hadoop/mapred/MapTask.java  |   29 +-
 .../java/org/apache/hadoop/mapred/Merger.java   |   15 +-
 .../apache/hadoop/mapreduce/CryptoUtils.java    |  199 ++++
 .../apache/hadoop/mapreduce/JobSubmitter.java   |    9 +-
 .../apache/hadoop/mapreduce/MRJobConfig.java    |   14 +
 .../hadoop/mapreduce/task/reduce/Fetcher.java   |   12 +-
 .../mapreduce/task/reduce/LocalFetcher.java     |    4 +
 .../mapreduce/task/reduce/MergeManagerImpl.java |   32 +-
 .../mapreduce/task/reduce/OnDiskMapOutput.java  |    3 +-
 .../src/site/apt/MapredCommands.apt.vm          |    6 +
 .../src/site/markdown/DistCp.md.vm              |   20 +
 .../mapreduce/task/reduce/TestMerger.java       |  146 ++-
 .../org/apache/hadoop/mapred/TestIFile.java     |   11 +-
 .../TestMRIntermediateDataEncryption.java       |  254 +++++
 .../apache/hadoop/mapred/TestReduceTask.java    |    2 +-
 .../mapred/pipes/TestPipeApplication.java       |   12 +-
 hadoop-project-dist/pom.xml                     |   12 +
 hadoop-project/pom.xml                          |    2 +
 hadoop-project/src/site/site.xml                |    1 +
 .../apache/hadoop/tools/DistCpConstants.java    |    6 +
 .../apache/hadoop/tools/DistCpOptionSwitch.java |    6 +-
 .../org/apache/hadoop/tools/DistCpOptions.java  |   21 +-
 .../apache/hadoop/tools/SimpleCopyListing.java  |   48 +-
 .../hadoop/tools/mapred/CopyCommitter.java      |    9 +-
 .../apache/hadoop/tools/mapred/CopyMapper.java  |   10 +-
 .../apache/hadoop/tools/util/DistCpUtils.java   |   48 +-
 .../hadoop/tools/TestDistCpWithRawXAttrs.java   |  170 +++
 .../hadoop/tools/TestDistCpWithXAttrs.java      |   71 +-
 .../apache/hadoop/tools/TestOptionsParser.java  |    3 +-
 .../hadoop/tools/util/DistCpTestUtils.java      |   89 ++
 .../hadoop/tools/util/TestDistCpUtils.java      |    6 +-
 .../sls/scheduler/ResourceSchedulerWrapper.java |    9 +-
 hadoop-yarn-project/CHANGES.txt                 |   17 +-
 hadoop-yarn-project/hadoop-yarn/bin/slaves.sh   |   70 --
 .../hadoop-yarn/bin/start-yarn.sh               |   34 +-
 .../hadoop-yarn/bin/stop-yarn.sh                |   40 +-
 hadoop-yarn-project/hadoop-yarn/bin/yarn        |  380 +++----
 .../hadoop-yarn/bin/yarn-config.sh              |  116 +-
 .../hadoop-yarn/bin/yarn-daemon.sh              |  157 +--
 .../hadoop-yarn/bin/yarn-daemons.sh             |   38 +-
 .../hadoop-yarn/conf/yarn-env.sh                |  163 ++-
 .../hadoop/yarn/conf/YarnConfiguration.java     |    6 +-
 .../client/api/impl/TimelineAuthenticator.java  |   15 +-
 .../client/api/impl/TimelineClientImpl.java     |   98 +-
 .../src/main/resources/yarn-default.xml         |    5 +-
 .../webapp/TestTimelineWebServicesWithSSL.java  |  134 +++
 .../resourcemanager/EmbeddedElectorService.java |   10 +-
 .../server/resourcemanager/ResourceManager.java |    3 +
 .../scheduler/AbstractYarnScheduler.java        |   91 ++
 .../scheduler/SchedulerApplicationAttempt.java  |   18 +-
 .../scheduler/capacity/CapacityScheduler.java   |   23 +-
 .../scheduler/fair/FairScheduler.java           |   21 +-
 .../scheduler/fifo/FifoScheduler.java           |   30 +-
 .../yarn/server/resourcemanager/MockAM.java     |    8 +-
 .../TestApplicationMasterService.java           |    1 -
 .../yarn/server/resourcemanager/TestRMHA.java   |   23 +
 .../server/resourcemanager/TestRMRestart.java   |    4 +-
 .../TestWorkPreservingRMRestart.java            |   79 +-
 213 files changed, 15760 insertions(+), 2565 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsFileStatus.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsFileStatus.java
index 9a9e1b6,3d05639..94d9a92
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsFileStatus.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsFileStatus.java
@@@ -45,9 -46,10 +46,11 @@@ public class HdfsFileStatus 
    private final String group;
    private final long fileId;
  
+   private final FileEncryptionInfo feInfo;
+   
    // Used by dir, not including dot and dotdot. Always zero for a regular 
file.
    private final int childrenNum;
 +  private final byte storagePolicy;
    
    public static final byte[] EMPTY_NAME = new byte[0];
  
@@@ -68,7 -71,7 +72,8 @@@
    public HdfsFileStatus(long length, boolean isdir, int block_replication,
        long blocksize, long modification_time, long access_time,
        FsPermission permission, String owner, String group, byte[] symlink,
-       byte[] path, long fileId, int childrenNum, byte storagePolicy) {
 -    byte[] path, long fileId, int childrenNum, FileEncryptionInfo feInfo) {
++      byte[] path, long fileId, int childrenNum, FileEncryptionInfo feInfo,
++      byte storagePolicy) {
      this.length = length;
      this.isdir = isdir;
      this.block_replication = (short)block_replication;
@@@ -86,7 -89,7 +91,8 @@@
      this.path = path;
      this.fileId = fileId;
      this.childrenNum = childrenNum;
+     this.feInfo = feInfo;
 +    this.storagePolicy = storagePolicy;
    }
  
    /**

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsLocatedFileStatus.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsLocatedFileStatus.java
index 7f0e670,a78b8bc..7e602bf
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsLocatedFileStatus.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsLocatedFileStatus.java
@@@ -56,13 -58,13 +58,13 @@@ public class HdfsLocatedFileStatus exte
        int block_replication, long blocksize, long modification_time,
        long access_time, FsPermission permission, String owner, String group,
        byte[] symlink, byte[] path, long fileId, LocatedBlocks locations,
-       int childrenNum, byte storagePolicy) {
 -    int childrenNum, FileEncryptionInfo feInfo) {
++      int childrenNum, FileEncryptionInfo feInfo, byte storagePolicy) {
      super(length, isdir, block_replication, blocksize, modification_time,
 -      access_time, permission, owner, group, symlink, path, fileId,
 -      childrenNum, feInfo);
 +        access_time, permission, owner, group, symlink, path, fileId,
-         childrenNum, storagePolicy);
++        childrenNum, feInfo, storagePolicy);
      this.locations = locations;
    }
 -      
 +
    public LocatedBlocks getBlockLocations() {
      return locations;
    }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/SnapshottableDirectoryStatus.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/SnapshottableDirectoryStatus.java
index 7869826,d395283..13acc7a
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/SnapshottableDirectoryStatus.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/SnapshottableDirectoryStatus.java
@@@ -62,7 -61,7 +62,7 @@@ public class SnapshottableDirectoryStat
        int snapshotNumber, int snapshotQuota, byte[] parentFullPath) {
      this.dirStatus = new HdfsFileStatus(0, true, 0, 0, modification_time,
          access_time, permission, owner, group, null, localName, inodeId,
-         childrenNum, BlockStoragePolicy.ID_UNSPECIFIED);
 -        childrenNum, null);
++        childrenNum, null, BlockStoragePolicy.ID_UNSPECIFIED);
      this.snapshotNumber = snapshotNumber;
      this.snapshotQuota = snapshotQuota;
      this.parentFullPath = parentFullPath;

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java
index adfcf36,210828d..63af6b0
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java
@@@ -148,7 -149,10 +151,11 @@@ import org.apache.hadoop.hdfs.protocol.
  import 
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.UpdateBlockForPipelineRequestProto;
  import 
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.UpdatePipelineRequestProto;
  import 
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.CheckAccessRequestProto;
 +import 
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.SetStoragePolicyRequestProto;
+ import org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos;
+ import 
org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.CreateEncryptionZoneRequestProto;
+ import 
org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.GetEZForPathRequestProto;
+ import 
org.apache.hadoop.hdfs.protocol.proto.EncryptionZonesProtos.ListEncryptionZonesRequestProto;
  import 
org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.GetXAttrsRequestProto;
  import 
org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.ListXAttrsRequestProto;
  import 
org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.RemoveXAttrRequestProto;

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/PBHelper.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/PBHelper.java
index 9957008,4dcac39..136ebc8
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/PBHelper.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/PBHelper.java
@@@ -1317,8 -1326,8 +1327,9 @@@ public class PBHelper 
          fs.hasFileId()? fs.getFileId(): INodeId.GRANDFATHER_INODE_ID,
          fs.hasLocations() ? PBHelper.convert(fs.getLocations()) : null,
          fs.hasChildrenNum() ? fs.getChildrenNum() : -1,
 -        fs.hasFileEncryptionInfo() ? convert(fs.getFileEncryptionInfo()) :
 -            null);
++        fs.hasFileEncryptionInfo() ? convert(fs.getFileEncryptionInfo()) : 
null,
 +        fs.hasStoragePolicy() ? (byte) fs.getStoragePolicy()
 +            : BlockStoragePolicy.ID_UNSPECIFIED);
    }
  
    public static SnapshottableDirectoryStatus convert(
@@@ -1369,9 -1377,11 +1380,12 @@@
      if (fs.isSymlink())  {
        builder.setSymlink(ByteString.copyFrom(fs.getSymlinkInBytes()));
      }
+     if (fs.getFileEncryptionInfo() != null) {
+       builder.setFileEncryptionInfo(convert(fs.getFileEncryptionInfo()));
+     }
      if (fs instanceof HdfsLocatedFileStatus) {
 -      LocatedBlocks locations = 
((HdfsLocatedFileStatus)fs).getBlockLocations();
 +      final HdfsLocatedFileStatus lfs = (HdfsLocatedFileStatus) fs;
 +      LocatedBlocks locations = lfs.getBlockLocations();
        if (locations != null) {
          builder.setLocations(PBHelper.convert(locations));
        }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
index 860855f,54e3181..4d0bb86
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
@@@ -1330,9 -1314,9 +1357,10 @@@ public class FSDirectory implements Clo
     * @return a partial listing starting after startAfter
     */
    DirectoryListing getListing(String src, byte[] startAfter,
 -      boolean needLocation) throws UnresolvedLinkException, IOException {
 +      boolean needLocation, boolean isSuperUser)
 +      throws UnresolvedLinkException, IOException {
      String srcs = normalizePath(src);
+     final boolean isRawPath = isReservedRawName(src);
  
      readLock();
      try {
@@@ -1351,7 -1332,7 +1379,8 @@@
        if (!targetNode.isDirectory()) {
          return new DirectoryListing(
              new HdfsFileStatus[]{createFileStatus(HdfsFileStatus.EMPTY_NAME,
-                 targetNode, needLocation, parentStoragePolicy, snapshot)}, 0);
 -                targetNode, needLocation, snapshot, isRawPath)}, 0);
++                targetNode, needLocation, parentStoragePolicy, snapshot,
++                isRawPath)}, 0);
        }
  
        final INodeDirectory dirInode = targetNode.asDirectory();
@@@ -1364,10 -1345,8 +1393,11 @@@
        HdfsFileStatus listing[] = new HdfsFileStatus[numOfListing];
        for (int i=0; i<numOfListing && locationBudget>0; i++) {
          INode cur = contents.get(startChild+i);
 -        listing[i] = createFileStatus(cur.getLocalNameBytes(), cur,
 -            needLocation, snapshot, isRawPath);
 +        byte curPolicy = cur.getStoragePolicyID(snapshot);
-         listing[i] = createFileStatus(cur.getLocalNameBytes(), cur,
-             needLocation, curPolicy != BlockStoragePolicy.ID_UNSPECIFIED ?
-                 curPolicy : parentStoragePolicy, snapshot);
++        listing[i] = createFileStatus(cur.getLocalNameBytes(), cur, 
needLocation,
++            curPolicy != BlockStoragePolicy.ID_UNSPECIFIED ?
++                curPolicy : parentStoragePolicy,
++            snapshot, isRawPath);
          listingCnt++;
          if (needLocation) {
              // Once we  hit lsLimit locations, stop.
@@@ -1418,7 -1397,7 +1448,7 @@@
      for (int i = 0; i < numOfListing; i++) {
        Root sRoot = snapshots.get(i + skipSize).getRoot();
        listing[i] = createFileStatus(sRoot.getLocalNameBytes(), sRoot,
-           BlockStoragePolicy.ID_UNSPECIFIED, Snapshot.CURRENT_STATE_ID);
 -          Snapshot.CURRENT_STATE_ID, false);
++          BlockStoragePolicy.ID_UNSPECIFIED, Snapshot.CURRENT_STATE_ID, 
false);
      }
      return new DirectoryListing(
          listing, snapshots.size() - skipSize - numOfListing);
@@@ -1440,8 -1420,9 +1471,9 @@@
        }
        final INodesInPath inodesInPath = getLastINodeInPath(srcs, resolveLink);
        final INode i = inodesInPath.getINode(0);
 -
 -      return i == null? null: createFileStatus(HdfsFileStatus.EMPTY_NAME, i,
 -          inodesInPath.getPathSnapshotId(), isRawPath);
 +      return i == null ? null : createFileStatus(HdfsFileStatus.EMPTY_NAME, i,
-           BlockStoragePolicy.ID_UNSPECIFIED, 
inodesInPath.getPathSnapshotId());
++          BlockStoragePolicy.ID_UNSPECIFIED, inodesInPath.getPathSnapshotId(),
++          isRawPath);
      } finally {
        readUnlock();
      }
@@@ -1458,7 -1439,7 +1490,7 @@@
        throws UnresolvedLinkException {
      if (getINode4DotSnapshot(src) != null) {
        return new HdfsFileStatus(0, true, 0, 0, 0, 0, null, null, null, null,
-           HdfsFileStatus.EMPTY_NAME, -1L, 0, 
BlockStoragePolicy.ID_UNSPECIFIED);
 -          HdfsFileStatus.EMPTY_NAME, -1L, 0, null);
++          HdfsFileStatus.EMPTY_NAME, -1L, 0, null, 
BlockStoragePolicy.ID_UNSPECIFIED);
      }
      return null;
    }
@@@ -2270,19 -2267,19 +2318,20 @@@
     * @throws IOException if any error occurs
     */
    private HdfsFileStatus createFileStatus(byte[] path, INode node,
-       boolean needLocation, byte storagePolicy, int snapshot) throws 
IOException {
 -      boolean needLocation, int snapshot, boolean isRawPath)
++      boolean needLocation, byte storagePolicy, int snapshot, boolean 
isRawPath)
+       throws IOException {
      if (needLocation) {
-       return createLocatedFileStatus(path, node, storagePolicy, snapshot);
 -      return createLocatedFileStatus(path, node, snapshot, isRawPath);
++      return createLocatedFileStatus(path, node, storagePolicy, snapshot, 
isRawPath);
      } else {
-       return createFileStatus(path, node, storagePolicy, snapshot);
 -      return createFileStatus(path, node, snapshot, isRawPath);
++      return createFileStatus(path, node, storagePolicy, snapshot, isRawPath);
      }
    }
 +
    /**
     * Create FileStatus by file INode 
     */
 -   HdfsFileStatus createFileStatus(byte[] path, INode node,
 -       int snapshot, boolean isRawPath) throws IOException {
 +  HdfsFileStatus createFileStatus(byte[] path, INode node, byte storagePolicy,
-       int snapshot) {
++      int snapshot, boolean isRawPath) throws IOException {
       long size = 0;     // length is zero for directories
       short replication = 0;
       long blocksize = 0;
@@@ -2294,6 -2291,9 +2343,8 @@@
       }
       int childrenNum = node.isDirectory() ? 
           node.asDirectory().getChildrenNum(snapshot) : 0;
 -
+      FileEncryptionInfo feInfo = isRawPath ? null :
+          getFileEncryptionInfo(node, snapshot);
  
       return new HdfsFileStatus(
          size, 
@@@ -2308,24 -2308,15 +2359,26 @@@
          node.isSymlink() ? node.asSymlink().getSymlink() : null,
          path,
          node.getId(),
-         childrenNum, storagePolicy);
+         childrenNum,
 -        feInfo);
++        feInfo,
++        storagePolicy);
    }
  
 +  private byte getStoragePolicy(INode[] inodes, int snapshotId) {
 +    for (int i = inodes.length - 1; i >= 0; i--) {
 +      byte policy = inodes[i].getStoragePolicyID(snapshotId);
 +      if (policy != BlockStoragePolicy.ID_UNSPECIFIED) {
 +        return policy;
 +      }
 +    }
 +    return BlockStoragePolicy.ID_UNSPECIFIED;
 +  }  
 +
    /**
     * Create FileStatus with location info by file INode
     */
--  private HdfsLocatedFileStatus createLocatedFileStatus(byte[] path,
-       INode node, byte storagePolicy, int snapshot) throws IOException {
 -      INode node, int snapshot, boolean isRawPath) throws IOException {
++  private HdfsLocatedFileStatus createLocatedFileStatus(byte[] path, INode 
node,
++      byte storagePolicy, int snapshot, boolean isRawPath) throws IOException 
{
      assert hasReadLock();
      long size = 0; // length is zero for directories
      short replication = 0;
@@@ -2358,7 -2352,7 +2414,7 @@@
            getPermissionForFileStatus(node, snapshot),
            node.getUserName(snapshot), node.getGroupName(snapshot),
            node.isSymlink() ? node.asSymlink().getSymlink() : null, path,
-           node.getId(), loc, childrenNum, storagePolicy);
 -          node.getId(), loc, childrenNum, feInfo);
++          node.getId(), loc, childrenNum, feInfo, storagePolicy);
      // Set caching information for the located blocks.
      if (loc != null) {
        CacheManager cacheManager = namesystem.getCacheManager();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java
index fbb330c,d522e51..6595dd5
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java
@@@ -366,8 -364,8 +366,9 @@@ public class FSEditLogLoader 
          // add the op into retry cache if necessary
          if (toAddRetryCache) {
            HdfsFileStatus stat = fsNamesys.dir.createFileStatus(
 -              HdfsFileStatus.EMPTY_NAME, newFile, Snapshot.CURRENT_STATE_ID,
 +              HdfsFileStatus.EMPTY_NAME, newFile,
-               BlockStoragePolicy.ID_UNSPECIFIED, Snapshot.CURRENT_STATE_ID);
++              BlockStoragePolicy.ID_UNSPECIFIED, Snapshot.CURRENT_STATE_ID,
+               false);
            fsNamesys.addCacheEntryWithPayload(addCloseOp.rpcClientId,
                addCloseOp.rpcCallId, stat);
          }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
index 8df0776,81d5a22..4e1bbe1
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
@@@ -159,6 -169,8 +170,7 @@@ import org.apache.hadoop.hdfs.DFSConfig
  import org.apache.hadoop.hdfs.DFSUtil;
  import org.apache.hadoop.hdfs.HAUtil;
  import org.apache.hadoop.hdfs.HdfsConfiguration;
 -import org.apache.hadoop.hdfs.StorageType;
+ import org.apache.hadoop.hdfs.UnknownCipherSuiteException;
  import org.apache.hadoop.hdfs.protocol.AclException;
  import org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException;
  import org.apache.hadoop.hdfs.protocol.Block;
@@@ -4560,10 -4740,9 +4791,10 @@@ public class FSNamesystem implements Na
          } else {
            checkTraverse(pc, src);
          }
 +        isSuperUser = pc.isSuperUser();
        }
-       logAuditEvent(true, "listStatus", src);
+       logAuditEvent(true, "listStatus", srcArg);
 -      dl = dir.getListing(src, startAfter, needLocation);
 +      dl = dir.getListing(src, startAfter, needLocation, isSuperUser);
      } finally {
        readUnlock();
      }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
index 1ba7805,321630c..735191b
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
@@@ -252,12 -250,10 +252,12 @@@ public class JsonUtil 
      Long childrenNumLong = (Long) m.get("childrenNum");
      final int childrenNum = (childrenNumLong == null) ? -1
              : childrenNumLong.intValue();
 +    final byte storagePolicy = m.containsKey("storagePolicy") ?
 +        (byte) (long) (Long) m.get("storagePolicy") :
 +          BlockStoragePolicy.ID_UNSPECIFIED;
      return new HdfsFileStatus(len, type == PathType.DIRECTORY, replication,
 -        blockSize, mTime, aTime, permission, owner, group,
 -        symlink, DFSUtil.string2Bytes(localName), fileId, childrenNum,
 -        null);
 +        blockSize, mTime, aTime, permission, owner, group, symlink,
-         DFSUtil.string2Bytes(localName), fileId, childrenNum, storagePolicy);
++        DFSUtil.string2Bytes(localName), fileId, childrenNum, null, 
storagePolicy);
    }
  
    /** Convert an ExtendedBlock to a Json map. */

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/ClientNamenodeProtocol.proto
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/hdfs.proto
----------------------------------------------------------------------
diff --cc hadoop-hdfs-project/hadoop-hdfs/src/main/proto/hdfs.proto
index 4b64591,a410224..f12055c
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/hdfs.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/hdfs.proto
@@@ -244,8 -260,10 +261,12 @@@ message HdfsFileStatusProto 
    // Optional field for fileId
    optional uint64 fileId = 13 [default = 0]; // default as an invalid id
    optional int32 childrenNum = 14 [default = -1];
-   optional uint32 storagePolicy = 15 [default = 0]; // block storage policy id
- }
+ 
+   // Optional field for file encryption
+   optional FileEncryptionInfoProto fileEncryptionInfo = 15;
++
++  optional uint32 storagePolicy = 16 [default = 0]; // block storage policy id
+ } 
  
  /**
   * Checksum algorithms/types used in HDFS

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java
index 2942ecb,74daccc..5659e92
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java
@@@ -253,12 -255,12 +255,12 @@@ public class TestDFSClientRetries 
      Mockito.doReturn(
              new HdfsFileStatus(0, false, 1, 1024, 0, 0, new FsPermission(
                  (short) 777), "owner", "group", new byte[0], new byte[0],
-                 1010, 0, (byte) 0)).when(mockNN).getFileInfo(anyString());
 -                1010, 0, null)).when(mockNN).getFileInfo(anyString());
++                1010, 0, null, (byte) 
0)).when(mockNN).getFileInfo(anyString());
      
      Mockito.doReturn(
              new HdfsFileStatus(0, false, 1, 1024, 0, 0, new FsPermission(
                  (short) 777), "owner", "group", new byte[0], new byte[0],
-                 1010, 0, (byte) 0))
 -                1010, 0, null))
++                1010, 0, null, (byte) 0))
          .when(mockNN)
          .create(anyString(), (FsPermission) anyObject(), anyString(),
              (EnumSetWritable<CreateFlag>) anyObject(), anyBoolean(),

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestLease.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestLease.java
index 489f9ff,28c253f..6119b6e
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestLease.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestLease.java
@@@ -17,11 -17,12 +17,14 @@@
   */
  package org.apache.hadoop.hdfs;
  
 +import static org.mockito.Matchers.anyBoolean;
+ import static org.mockito.Matchers.anyList;
+ import static org.mockito.Matchers.anyString;
+ import static org.mockito.Matchers.anyShort;
  import static org.mockito.Matchers.anyLong;
 -import static org.mockito.Matchers.anyBoolean;
  import static org.mockito.Matchers.anyObject;
 +import static org.mockito.Matchers.anyShort;
 +import static org.mockito.Matchers.anyString;
  import static org.mockito.Mockito.doNothing;
  import static org.mockito.Mockito.doThrow;
  import static org.mockito.Mockito.spy;
@@@ -33,8 -35,10 +37,9 @@@ import java.util.List
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import org.apache.hadoop.conf.Configuration;
+ import org.apache.hadoop.crypto.CipherSuite;
  import org.apache.hadoop.fs.CreateFlag;
  import org.apache.hadoop.fs.FSDataOutputStream;
 -import org.apache.hadoop.fs.FileStatus;
  import org.apache.hadoop.fs.FileSystem;
  import org.apache.hadoop.fs.Options;
  import org.apache.hadoop.fs.Path;
@@@ -338,12 -342,12 +343,12 @@@ public class TestLease 
      Mockito.doReturn(
          new HdfsFileStatus(0, false, 1, 1024, 0, 0, new FsPermission(
              (short) 777), "owner", "group", new byte[0], new byte[0],
-             1010, 0, (byte) 0)).when(mcp).getFileInfo(anyString());
 -            1010, 0, null)).when(mcp).getFileInfo(anyString());
++            1010, 0, null, (byte) 0)).when(mcp).getFileInfo(anyString());
      Mockito
          .doReturn(
              new HdfsFileStatus(0, false, 1, 1024, 0, 0, new FsPermission(
                  (short) 777), "owner", "group", new byte[0], new byte[0],
-                 1010, 0, (byte) 0))
 -                1010, 0, null))
++                1010, 0, null, (byte) 0))
          .when(mcp)
          .create(anyString(), (FsPermission) anyObject(), anyString(),
              (EnumSetWritable<CreateFlag>) anyObject(), anyBoolean(),

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestAddBlockRetry.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
index 4bf1512,4cddd60..8d298ae
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
@@@ -1019,7 -1018,7 +1019,7 @@@ public class TestFsck 
  
      HdfsFileStatus file = new HdfsFileStatus(length, isDir, blockReplication,
          blockSize, modTime, accessTime, perms, owner, group, symlink, path,
-         fileId, numChildren, storagePolicy);
 -        fileId, numChildren, null);
++        fileId, numChildren, null, storagePolicy);
      Result res = new Result(conf);
  
      try {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c92d869d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
index a268128,b8150f7..3eba7db
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
@@@ -64,7 -64,7 +64,7 @@@ public class TestJsonUtil 
      final HdfsFileStatus status = new HdfsFileStatus(1001L, false, 3, 1L << 
26,
          now, now + 10, new FsPermission((short) 0644), "user", "group",
          DFSUtil.string2Bytes("bar"), DFSUtil.string2Bytes("foo"),
-         INodeId.GRANDFATHER_INODE_ID, 0, (byte) 0);
 -        INodeId.GRANDFATHER_INODE_ID, 0, null);
++        INodeId.GRANDFATHER_INODE_ID, 0, null, (byte) 0);
      final FileStatus fstatus = toFileStatus(status, parent);
      System.out.println("status  = " + status);
      System.out.println("fstatus = " + fstatus);

Reply via email to