Merge changes from trunk

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

Branch: refs/heads/trunk
Commit: 432b863719e1a36459812cdcbe4785e6a19f3f3a
Parents: 2e4033e b6d3230
Author: Jing Zhao <j...@hortonworks.com>
Authored: Tue Sep 16 17:58:39 2014 -0700
Committer: Jing Zhao <j...@hortonworks.com>
Committed: Tue Sep 16 17:58:39 2014 -0700

----------------------------------------------------------------------
 hadoop-common-project/hadoop-auth/pom.xml       |  13 +
 .../server/AuthenticationFilter.java            | 152 ++++--
 .../util/RandomSignerSecretProvider.java        |   4 +-
 .../util/RolloverSignerSecretProvider.java      |   7 +-
 .../util/SignerSecretProvider.java              |   9 +-
 .../util/StringSignerSecretProvider.java        |  15 +-
 .../util/ZKSignerSecretProvider.java            | 506 +++++++++++++++++++
 .../src/site/apt/Configuration.apt.vm           | 148 +++++-
 .../hadoop-auth/src/site/apt/index.apt.vm       |   5 +
 .../server/TestAuthenticationFilter.java        | 117 ++++-
 .../util/TestJaasConfiguration.java             |  55 ++
 .../util/TestRandomSignerSecretProvider.java    |   2 +-
 .../util/TestRolloverSignerSecretProvider.java  |   2 +-
 .../authentication/util/TestSigner.java         |  23 +-
 .../util/TestStringSignerSecretProvider.java    |   9 +-
 .../util/TestZKSignerSecretProvider.java        | 270 ++++++++++
 hadoop-common-project/hadoop-common/CHANGES.txt |  16 +
 .../hadoop-common/src/main/bin/hadoop-config.sh |   1 +
 .../src/main/bin/hadoop-functions.sh            | 127 +++--
 .../hadoop-common/src/main/conf/hadoop-env.sh   |  81 ---
 .../src/main/conf/hadoop-policy.xml             |   9 +
 .../main/conf/hadoop-user-functions.sh.example  |  94 ++++
 .../main/java/org/apache/hadoop/ha/HAAdmin.java |   6 +-
 .../io/nativeio/SharedFileDescriptorFactory.c   |  32 +-
 .../src/site/apt/CommandsManual.apt.vm          |  53 ++
 hadoop-common-project/hadoop-kms/pom.xml        |  25 +-
 .../hadoop/crypto/key/kms/server/MiniKMS.java   |  47 +-
 .../test/resources/mini-kms-acls-default.xml    | 135 +++++
 .../hadoop/fs/http/server/TestHttpFSServer.java |   8 +-
 hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt     |  20 +
 hadoop-hdfs-project/hadoop-hdfs/pom.xml         |  13 +
 .../hadoop-hdfs/src/main/bin/hdfs-config.sh     |   7 +-
 .../java/org/apache/hadoop/hdfs/DFSClient.java  |   5 +-
 .../org/apache/hadoop/hdfs/DFSOutputStream.java |  40 +-
 .../hadoop/hdfs/protocol/ClientProtocol.java    |   4 +-
 .../hadoop/hdfs/protocol/EncryptionZone.java    |  18 +-
 .../hdfs/protocol/EncryptionZoneIterator.java   |  20 +-
 .../hdfs/protocol/EncryptionZoneWithId.java     |  81 ---
 .../protocol/EncryptionZoneWithIdIterator.java  |  53 --
 .../datatransfer/DataTransferProtoUtil.java     |  44 +-
 .../hdfs/protocol/datatransfer/Receiver.java    | 123 +++--
 .../hdfs/protocol/datatransfer/Sender.java      |  26 +-
 ...tNamenodeProtocolServerSideTranslatorPB.java |   6 +-
 .../ClientNamenodeProtocolTranslatorPB.java     |  14 +-
 .../apache/hadoop/hdfs/protocolPB/PBHelper.java |  12 +-
 .../web/resources/DatanodeWebHdfsMethods.java   |  13 +-
 .../server/namenode/EncryptionZoneManager.java  |  24 +-
 .../hdfs/server/namenode/FSDirectory.java       |   6 +-
 .../hdfs/server/namenode/FSNamesystem.java      |  10 +-
 .../hdfs/server/namenode/NameNodeRpcServer.java |   6 +-
 .../src/main/proto/datatransfer.proto           |   8 +
 .../hadoop-hdfs/src/main/proto/encryption.proto |   6 +-
 .../hadoop/hdfs/TestDFSClientFailover.java      |   5 +-
 .../apache/hadoop/hdfs/TestEncryptionZones.java |  62 ++-
 .../hadoop/hdfs/TestEncryptionZonesWithKMS.java |  56 ++
 .../blockmanagement/TestBlockManager.java       |  56 +-
 .../server/datanode/SimulatedFSDataset.java     |   7 +-
 .../hdfs/tools/TestDFSHAAdminMiniCluster.java   |  20 -
 .../org/apache/hadoop/tracing/TestTracing.java  |  52 +-
 .../TestTracingShortCircuitLocalRead.java       |  97 ++++
 hadoop-mapreduce-project/bin/mapred-config.sh   |   7 +-
 hadoop-project/pom.xml                          |  25 +
 .../org/apache/hadoop/fs/s3a/Constants.java     |  36 +-
 .../org/apache/hadoop/fs/s3a/S3AFileSystem.java |  46 +-
 .../apache/hadoop/fs/s3a/S3AOutputStream.java   |   6 +-
 hadoop-yarn-project/CHANGES.txt                 |  15 +
 .../hadoop-yarn/bin/yarn-config.sh              |  11 +-
 .../hadoop-yarn/conf/yarn-env.sh                |  52 +-
 .../hadoop/yarn/conf/YarnConfiguration.java     |  14 +
 .../applications/distributedshell/Client.java   |  18 +-
 .../TestDSSleepingAppMaster.java                |  58 +++
 .../distributedshell/TestDistributedShell.java  |  76 +++
 .../src/main/resources/yarn-default.xml         |  10 +
 .../ApplicationHistoryClientService.java        |  15 +-
 .../authorize/TimelinePolicyProvider.java       |  44 ++
 .../hadoop-yarn-server-nodemanager/pom.xml      |  14 +-
 .../util/CgroupsLCEResourcesHandler.java        |  29 +-
 .../util/TestCgroupsLCEResourcesHandler.java    | 165 +++++-
 78 files changed, 2892 insertions(+), 634 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/432b8637/hadoop-common-project/hadoop-common/src/main/conf/hadoop-env.sh
----------------------------------------------------------------------

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

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

http://git-wip-us.apache.org/repos/asf/hadoop/blob/432b8637/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/432b8637/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/432b8637/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java
----------------------------------------------------------------------

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

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

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

http://git-wip-us.apache.org/repos/asf/hadoop/blob/432b8637/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/432b8637/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java
----------------------------------------------------------------------
diff --cc 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java
index 0e13e83,1a8262f..9b980dc
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java
@@@ -38,16 -40,19 +40,21 @@@ import org.apache.hadoop.fs.Path
  import org.apache.hadoop.hdfs.DFSConfigKeys;
  import org.apache.hadoop.hdfs.DFSTestUtil;
  import org.apache.hadoop.hdfs.HdfsConfiguration;
 +import org.apache.hadoop.hdfs.StorageType;
+ import org.apache.hadoop.hdfs.MiniDFSCluster;
  import org.apache.hadoop.hdfs.protocol.Block;
  import org.apache.hadoop.hdfs.protocol.BlockListAsLongs;
  import org.apache.hadoop.hdfs.protocol.HdfsConstants;
  import 
org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor.BlockTargetPair;
+ import org.apache.hadoop.hdfs.server.datanode.DataNodeTestUtils;
  import org.apache.hadoop.hdfs.server.namenode.FSNamesystem;
+ import org.apache.hadoop.hdfs.server.namenode.NameNodeAdapter;
  import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration;
  import org.apache.hadoop.hdfs.server.protocol.DatanodeStorage;
+ import org.apache.hadoop.ipc.RemoteException;
  import org.apache.hadoop.net.NetworkTopology;
 +import org.junit.Assert;
+ import org.apache.hadoop.test.GenericTestUtils;
  import org.junit.Before;
  import org.junit.Test;
  import org.mockito.Mockito;
@@@ -601,19 -606,53 +608,66 @@@ public class TestBlockManager 
          new BlockListAsLongs(null, null));
      assertEquals(1, ds.getBlockReportCount());
    }
+   
 -  
+   /**
+    * Tests that a namenode doesn't choose a datanode with full disks to 
+    * store blocks.
+    * @throws Exception
+    */
+   @Test
+   public void testStorageWithRemainingCapacity() throws Exception {
+     final Configuration conf = new HdfsConfiguration();
+     final MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).build();
+     FileSystem fs = FileSystem.get(conf);
+     Path file1 = null;
+     try {
+       cluster.waitActive();
+       final FSNamesystem namesystem = cluster.getNamesystem();
+       final String poolId = namesystem.getBlockPoolId();
+       final DatanodeRegistration nodeReg =
+         DataNodeTestUtils.getDNRegistrationForBP(cluster.getDataNodes().
+                       get(0), poolId);
+       final DatanodeDescriptor dd = NameNodeAdapter.getDatanode(namesystem,
+                 nodeReg);
+       // By default, MiniDFSCluster will create 1 datanode with 2 storages.
+       // Assigning 64k for remaining storage capacity and will 
+       //create a file with 100k.
+       for(DatanodeStorageInfo storage:  dd.getStorageInfos()) { 
+         storage.setUtilizationForTesting(65536, 0, 65536, 0);
+       }
+       //sum of the remaining capacity of both the storages
+       dd.setRemaining(131072);
+       file1 = new Path("testRemainingStorage.dat");
+       try {
+         DFSTestUtil.createFile(fs, file1, 102400, 102400, 102400, (short)1,
+                       0x1BAD5EED);
+       }
+       catch (RemoteException re) {
+         GenericTestUtils.assertExceptionContains("nodes instead of "
+                       + "minReplication", re);
+       }
+     }
+     finally {
+       // Clean up
+       assertTrue(fs.exists(file1));
+       fs.delete(file1, true);
+       assertTrue(!fs.exists(file1));
+       cluster.shutdown();
+     }
+   }
 -}
  
 +  @Test
 +  public void testUseDelHint() {
 +    DatanodeStorageInfo delHint = new DatanodeStorageInfo(
 +        DFSTestUtil.getLocalDatanodeDescriptor(), new DatanodeStorage("id"));
 +    List<DatanodeStorageInfo> moreThan1Racks = Arrays.asList(delHint);
 +    List<StorageType> excessTypes = new ArrayList<StorageType>();
 +
 +    excessTypes.add(StorageType.DEFAULT);
 +    Assert.assertTrue(BlockManager.useDelHint(true, delHint, null,
 +        moreThan1Racks, excessTypes));
 +    excessTypes.add(StorageType.SSD);
 +    Assert.assertFalse(BlockManager.useDelHint(true, delHint, null,
 +        moreThan1Racks, excessTypes));
 +  }
- }
++}

Reply via email to