You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ae...@apache.org on 2017/12/19 03:29:00 UTC

[51/51] [abbrv] hadoop git commit: Merge branch 'trunk' into HDFS-7240

Merge branch 'trunk' into HDFS-7240

 Conflicts:
	hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/PBHelperClient.java
	hadoop-hdfs-project/hadoop-hdfs/pom.xml
	hadoop-tools/pom.xml


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

Branch: refs/heads/HDFS-7240
Commit: 7abc4af9e0ae20a66e2bd1407022bf39c16c95d5
Parents: 5d17ead c7499f2
Author: Anu Engineer <ae...@apache.org>
Authored: Mon Dec 18 19:13:34 2017 -0800
Committer: Anu Engineer <ae...@apache.org>
Committed: Mon Dec 18 19:13:34 2017 -0800

----------------------------------------------------------------------
 .../resources/assemblies/hadoop-yarn-dist.xml   |  27 +
 .../java/org/apache/hadoop/fs/FileContext.java  |  14 +-
 .../java/org/apache/hadoop/fs/FileStatus.java   |  20 +-
 .../java/org/apache/hadoop/fs/FileSystem.java   |   6 +
 .../java/org/apache/hadoop/fs/FileUtil.java     |  13 +-
 .../hadoop/fs/InvalidPathHandleException.java   |  46 +
 .../java/org/apache/hadoop/fs/StorageType.java  |   3 +-
 .../apache/hadoop/fs/shell/CopyCommands.java    |  11 +-
 .../main/java/org/apache/hadoop/io/MapFile.java |  17 +-
 .../org/apache/hadoop/io/nativeio/NativeIO.java |  29 +-
 .../java/org/apache/hadoop/security/KDiag.java  |  30 +-
 .../util/BlockingThreadPoolExecutorService.java | 169 ++++
 .../util/SemaphoredDelegatingExecutor.java      | 227 +++++
 .../hadoop-common/src/site/markdown/Metrics.md  |  36 +
 .../src/site/markdown/filesystem/filesystem.md  |   2 +-
 .../markdown/release/3.0.0/CHANGES.3.0.0.md     | 360 +++++++
 .../release/3.0.0/RELEASENOTES.3.0.0.md         | 139 +++
 .../apache/hadoop/conf/TestConfiguration.java   |   7 +-
 .../fs/contract/AbstractContractOpenTest.java   |   7 +-
 .../org/apache/hadoop/fs/shell/TestCount.java   |   3 +-
 .../apache/hadoop/io/compress/TestCodec.java    |   8 +-
 .../hadoop/crypto/key/kms/server/MiniKMS.java   |   8 +-
 .../hadoop/hdfs/DistributedFileSystem.java      |   3 +
 .../hadoop/hdfs/protocol/HdfsConstants.java     |   3 +
 .../hadoop/hdfs/protocol/HdfsPathHandle.java    |  16 +-
 .../hadoop/hdfs/protocol/LocatedBlock.java      | 103 ++-
 .../hdfs/protocol/ProvidedStorageLocation.java  |  89 ++
 .../hadoop/hdfs/protocolPB/PBHelperClient.java  |  38 +-
 .../src/main/proto/hdfs.proto                   |  15 +
 .../jdiff/Apache_Hadoop_HDFS_3.0.0.xml          | 324 +++++++
 hadoop-hdfs-project/hadoop-hdfs/pom.xml         |   7 +-
 .../org/apache/hadoop/hdfs/DFSConfigKeys.java   |  29 +
 .../hdfs/protocolPB/AliasMapProtocolPB.java     |  37 +
 .../AliasMapProtocolServerSideTranslatorPB.java | 134 +++
 ...yAliasMapProtocolClientSideTranslatorPB.java | 174 ++++
 .../apache/hadoop/hdfs/protocolPB/PBHelper.java |  28 +
 .../hdfs/server/aliasmap/InMemoryAliasMap.java  | 222 +++++
 .../aliasmap/InMemoryAliasMapProtocol.java      | 103 +++
 .../aliasmap/InMemoryLevelDBAliasMapServer.java | 153 +++
 .../hdfs/server/blockmanagement/BlockInfo.java  |  17 +-
 .../server/blockmanagement/BlockManager.java    | 149 ++-
 .../BlockStoragePolicySuite.java                |   6 +
 .../blockmanagement/DatanodeDescriptor.java     |  44 +-
 .../server/blockmanagement/DatanodeManager.java |   2 +
 .../blockmanagement/DatanodeStatistics.java     |   3 +
 .../server/blockmanagement/DatanodeStats.java   |   4 +-
 .../blockmanagement/DatanodeStorageInfo.java    |  15 +-
 .../blockmanagement/HeartbeatManager.java       |   9 +-
 .../blockmanagement/LocatedBlockBuilder.java    | 109 +++
 .../blockmanagement/ProvidedStorageMap.java     | 540 +++++++++++
 .../blockmanagement/StorageTypeStats.java       |  33 +-
 .../hadoop/hdfs/server/common/BlockAlias.java   |  33 +
 .../hadoop/hdfs/server/common/FileRegion.java   |  85 ++
 .../hadoop/hdfs/server/common/Storage.java      |  71 +-
 .../hadoop/hdfs/server/common/StorageInfo.java  |   6 +
 .../common/blockaliasmap/BlockAliasMap.java     | 113 +++
 .../impl/InMemoryLevelDBAliasMapClient.java     | 178 ++++
 .../impl/LevelDBFileRegionAliasMap.java         | 274 ++++++
 .../impl/TextFileRegionAliasMap.java            | 490 ++++++++++
 .../common/blockaliasmap/package-info.java      |  27 +
 .../server/datanode/BlockPoolSliceStorage.java  |  20 +-
 .../hdfs/server/datanode/DataStorage.java       |  44 +-
 .../hdfs/server/datanode/DirectoryScanner.java  |  26 +-
 .../datanode/FinalizedProvidedReplica.java      | 122 +++
 .../hdfs/server/datanode/ProvidedReplica.java   | 350 +++++++
 .../hdfs/server/datanode/ReplicaBuilder.java    | 141 ++-
 .../hdfs/server/datanode/ReplicaInfo.java       |  20 +-
 .../server/datanode/SecureDataNodeStarter.java  |  29 +-
 .../hdfs/server/datanode/StorageLocation.java   |  54 +-
 .../StripedBlockChecksumReconstructor.java      |   2 +-
 .../server/datanode/fsdataset/FsDatasetSpi.java |   4 +-
 .../server/datanode/fsdataset/FsVolumeSpi.java  |  38 +-
 .../datanode/fsdataset/impl/FsDatasetImpl.java  |  69 +-
 .../datanode/fsdataset/impl/FsDatasetUtil.java  |  25 +-
 .../datanode/fsdataset/impl/FsVolumeImpl.java   |  19 +-
 .../fsdataset/impl/FsVolumeImplBuilder.java     |   6 +
 .../fsdataset/impl/ProvidedVolumeImpl.java      | 718 ++++++++++++++
 .../federation/metrics/FederationMBean.java     |   6 +
 .../federation/metrics/FederationMetrics.java   |   5 +
 .../metrics/FederationRPCMetrics.java           |   2 +-
 .../federation/metrics/NamenodeBeanMetrics.java |  10 +
 .../federation/metrics/StateStoreMetrics.java   |   2 +-
 .../resolver/MembershipNamenodeResolver.java    |   1 +
 .../resolver/NamenodeStatusReport.java          |  12 +-
 .../router/NamenodeHeartbeatService.java        |   3 +-
 .../federation/router/RouterAdminServer.java    |  71 ++
 .../router/RouterPermissionChecker.java         |  82 ++
 .../store/impl/MountTableStoreImpl.java         |  52 +-
 .../store/records/MembershipStats.java          |   4 +
 .../federation/store/records/MountTable.java    |  68 ++
 .../records/impl/pb/MembershipStatsPBImpl.java  |  10 +
 .../store/records/impl/pb/MountTablePBImpl.java |  61 ++
 .../apache/hadoop/hdfs/server/mover/Mover.java  |   2 +-
 .../hdfs/server/namenode/FSDirectory.java       |   9 +-
 .../server/namenode/FSImageCompression.java     |   2 +-
 .../hdfs/server/namenode/FSNamesystem.java      |  12 +
 .../server/namenode/FSPermissionChecker.java    |   4 +-
 .../hadoop/hdfs/server/namenode/NNStorage.java  |  10 +-
 .../hadoop/hdfs/server/namenode/NameNode.java   |  21 +
 .../hdfs/server/namenode/NameNodeMXBean.java    |  10 +-
 .../server/namenode/XAttrPermissionFilter.java  |  10 +-
 .../namenode/metrics/FSNamesystemMBean.java     |   7 +-
 .../hdfs/server/protocol/NamespaceInfo.java     |   8 +
 .../org/apache/hadoop/hdfs/tools/ECAdmin.java   |  14 +
 .../hdfs/tools/federation/RouterAdmin.java      |  88 +-
 .../src/main/proto/AliasMapProtocol.proto       |  68 ++
 .../src/main/proto/FederationProtocol.proto     |   5 +
 .../src/main/resources/hdfs-default.xml         | 119 +++
 .../src/main/webapps/hdfs/dfshealth.html        |   1 +
 .../main/webapps/router/federationhealth.html   |   6 +
 .../src/site/markdown/HDFSCommands.md           |   2 +-
 .../src/site/markdown/HDFSErasureCoding.md      |   7 +-
 .../src/site/markdown/HDFSRouterFederation.md   |  16 +-
 .../src/site/markdown/HdfsProvidedStorage.md    | 247 +++++
 .../org/apache/hadoop/hdfs/MiniDFSCluster.java  |  30 +-
 .../hadoop/hdfs/TestBlockStoragePolicy.java     |   6 +
 .../org/apache/hadoop/hdfs/TestDFSRollback.java |   6 +-
 .../hadoop/hdfs/TestDFSStartupVersions.java     |   2 +-
 .../org/apache/hadoop/hdfs/TestDFSUpgrade.java  |   4 +-
 .../hadoop/hdfs/TestReservedRawPaths.java       |  22 +-
 .../apache/hadoop/hdfs/UpgradeUtilities.java    |  16 +-
 .../server/aliasmap/ITestInMemoryAliasMap.java  | 129 +++
 .../server/aliasmap/TestInMemoryAliasMap.java   |  45 +
 .../hdfs/server/balancer/TestBalancer.java      |   2 +-
 .../blockmanagement/TestDatanodeManager.java    |  66 +-
 .../blockmanagement/TestProvidedStorageMap.java | 120 +++
 .../impl/TestInMemoryLevelDBAliasMapClient.java | 344 +++++++
 .../impl/TestLevelDBFileRegionAliasMap.java     | 117 +++
 .../impl/TestLevelDbMockAliasMapClient.java     | 121 +++
 .../impl/TestTextBlockAliasMap.java             | 200 ++++
 .../server/datanode/SimulatedFSDataset.java     | 314 +++++--
 .../datanode/TestProvidedReplicaImpl.java       | 162 ++++
 .../server/datanode/TestSimulatedFSDataset.java | 147 +--
 ...tSimulatedFSDatasetWithMultipleStorages.java |  50 +
 .../datanode/TestStartSecureDataNode.java       |  64 +-
 .../extdataset/ExternalDatasetImpl.java         |   5 +-
 .../fsdataset/impl/TestFsDatasetImpl.java       |  17 +-
 .../fsdataset/impl/TestProvidedImpl.java        | 649 +++++++++++++
 .../metrics/TestFederationMetrics.java          |   5 +
 .../federation/router/TestRouterAdminCLI.java   | 182 ++++
 .../hdfs/server/namenode/FSImageTestUtil.java   |   7 +-
 .../hdfs/server/namenode/FSXAttrBaseTest.java   |  80 +-
 .../hdfs/server/namenode/TestClusterId.java     |   5 +-
 .../TestOfflineImageViewer.java                 |   6 +-
 .../test/resources/testErasureCodingConf.xml    |  41 +-
 .../java/org/apache/hadoop/fs/TestDFSIO.java    |  10 +-
 hadoop-project-dist/pom.xml                     |   2 +-
 hadoop-project/pom.xml                          |   8 +-
 .../s3a/BlockingThreadPoolExecutorService.java  | 169 ----
 .../java/org/apache/hadoop/fs/s3a/Invoker.java  |   7 +-
 .../apache/hadoop/fs/s3a/MultipartUtils.java    | 214 +++++
 .../org/apache/hadoop/fs/s3a/S3AFileSystem.java |  30 +-
 .../java/org/apache/hadoop/fs/s3a/S3AUtils.java |   3 +-
 .../fs/s3a/SemaphoredDelegatingExecutor.java    | 227 -----
 .../hadoop/fs/s3a/WriteOperationHelper.java     |   5 +-
 .../hadoop/fs/s3a/commit/CommitOperations.java  |   2 +-
 .../fs/s3a/commit/MagicCommitIntegration.java   |   2 +-
 .../hadoop/fs/s3a/s3guard/S3GuardTool.java      | 287 +++++-
 .../src/site/markdown/tools/hadoop-aws/index.md |   7 +-
 .../site/markdown/tools/hadoop-aws/s3guard.md   |  35 +-
 .../hadoop/fs/s3a/ITestS3AMultipartUtils.java   | 126 +++
 .../apache/hadoop/fs/s3a/MockS3AFileSystem.java |   7 +
 .../hadoop/fs/s3a/MultipartTestUtils.java       | 184 ++++
 .../org/apache/hadoop/fs/s3a/S3ATestUtils.java  |  21 +-
 .../fs/s3a/commit/AbstractCommitITest.java      |   3 +-
 .../commit/magic/ITestS3AHugeMagicCommits.java  |   2 +-
 .../fs/s3a/s3guard/ITestS3GuardToolLocal.java   | 187 ++++
 .../dev-support/findbugs-exclude.xml            |  28 +
 hadoop-tools/hadoop-fs2img/pom.xml              |  93 ++
 .../hdfs/server/namenode/BlockResolver.java     |  99 ++
 .../hadoop/hdfs/server/namenode/FSTreeWalk.java | 109 +++
 .../hdfs/server/namenode/FileSystemImage.java   | 152 +++
 .../FixedBlockMultiReplicaResolver.java         |  48 +
 .../server/namenode/FixedBlockResolver.java     |  98 ++
 .../hdfs/server/namenode/FsUGIResolver.java     |  63 ++
 .../hdfs/server/namenode/ImageWriter.java       | 628 +++++++++++++
 .../hdfs/server/namenode/NullBlockAliasMap.java |  97 ++
 .../hdfs/server/namenode/SingleUGIResolver.java |  94 ++
 .../hadoop/hdfs/server/namenode/TreePath.java   | 187 ++++
 .../hadoop/hdfs/server/namenode/TreeWalk.java   | 108 +++
 .../hdfs/server/namenode/UGIResolver.java       | 135 +++
 .../hdfs/server/namenode/package-info.java      |  23 +
 .../namenode/ITestProvidedImplementation.java   | 927 +++++++++++++++++++
 .../hdfs/server/namenode/RandomTreeWalk.java    | 184 ++++
 .../server/namenode/TestFixedBlockResolver.java | 121 +++
 .../server/namenode/TestRandomTreeWalk.java     | 130 +++
 .../server/namenode/TestSingleUGIResolver.java  | 148 +++
 .../src/test/resources/log4j.properties         |  24 +
 hadoop-tools/hadoop-tools-dist/pom.xml          |   6 +
 hadoop-tools/pom.xml                            |   1 +
 hadoop-yarn-project/hadoop-yarn/bin/yarn        |   6 +
 hadoop-yarn-project/hadoop-yarn/bin/yarn.cmd    |   6 +
 .../api/protocolrecords/AllocateResponse.java   |   4 +-
 .../yarn/util/resource/ResourceUtils.java       |  95 +-
 .../distributedshell/ApplicationMaster.java     |  49 +-
 .../applications/distributedshell/Client.java   |  11 +
 .../hadoop-yarn-services-api/pom.xml            |   9 +
 .../yarn/service/client/ApiServiceClient.java   | 430 +++++++++
 .../hadoop/yarn/service/webapp/ApiServer.java   |  34 +-
 .../yarn/service/webapp/package-info.java       |  28 +
 .../service/client/TestApiServiceClient.java    | 259 ++++++
 .../src/test/resources/example-app.json         |  15 +
 .../src/test/resources/log4j.properties         |  19 +
 .../service/api/records/ReadinessCheck.java     |   2 +
 .../yarn/service/api/records/Resource.java      |   6 +-
 .../yarn/service/api/records/ServiceState.java  |   2 +-
 .../yarn/service/component/Component.java       |   2 +-
 .../hadoop/yarn/service/utils/JsonSerDeser.java |   3 +
 .../client/TestBuildExternalComponents.java     |   2 +-
 .../yarn/service/client/TestServiceCLI.java     |  14 +-
 .../hadoop/yarn/client/api/AppAdminClient.java  |   6 +
 .../yarn/client/api/async/AMRMClientAsync.java  |   2 -
 .../api/async/impl/AMRMClientAsyncImpl.java     |   7 +-
 .../hadoop/yarn/client/cli/RMAdminCLI.java      | 154 ++-
 .../yarn/client/api/impl/TestAMRMClient.java    | 157 +++-
 .../hadoop/yarn/client/cli/TestRMAdminCLI.java  | 205 +++-
 .../logaggregation/LogAggregationWebUtils.java  |  30 +
 .../LogAggregationFileController.java           |   1 +
 .../filecontroller/LogAggregationHtmlBlock.java |  45 +-
 .../ifile/IndexedFileAggregatedLogsBlock.java   |   9 +-
 .../tfile/TFileAggregatedLogsBlock.java         |  14 +-
 .../hadoop/yarn/webapp/util/WebAppUtils.java    |  21 +
 .../yarn/util/resource/TestResourceUtils.java   |   5 +-
 .../resource-types/node-resources-2.xml         |   5 +
 .../resource-types/resource-types-4.xml         |   7 +-
 .../yarn/server/utils/AMRMClientUtils.java      |   6 +-
 .../server/nodemanager/DirectoryCollection.java |   2 +-
 .../nodemanager/NodeStatusUpdaterImpl.java      |   9 +-
 .../fpga/AbstractFpgaVendorPlugin.java          |   2 +-
 .../fpga/IntelFpgaOpenclPlugin.java             |  16 +-
 .../nodemanager/metrics/NodeManagerMetrics.java |   2 +-
 .../util/NodeManagerHardwareUtils.java          |   2 +-
 .../nodemanager/webapp/ContainerLogsPage.java   | 145 ++-
 .../nodemanager/webapp/NMWebAppFilter.java      |  21 +-
 .../launcher/TestContainerLaunch.java           |   4 +-
 .../metrics/TestNodeManagerMetrics.java         |   6 +
 .../hadoop-yarn-server-resourcemanager/pom.xml  |   1 +
 .../server/resourcemanager/RMAppManager.java    |  26 +-
 .../UserGroupMappingPlacementRule.java          |   2 +
 .../server/resourcemanager/rmapp/RMApp.java     |   2 +-
 .../scheduler/capacity/AbstractCSQueue.java     |   2 +-
 .../scheduler/capacity/CSQueueUtils.java        |  10 +-
 .../scheduler/capacity/CapacityScheduler.java   |  95 +-
 .../scheduler/capacity/LeafQueue.java           |  10 +-
 .../TestWorkPreservingRMRestart.java            | 156 ++++
 ...stCapacitySchedulerAutoCreatedQueueBase.java |  74 +-
 ...citySchedulerAutoCreatedQueuePreemption.java | 202 ++++
 ...TestCapacitySchedulerSurgicalPreemption.java |  62 +-
 .../pom.xml                                     |  23 +
 .../hadoop-yarn-server-timelineservice/pom.xml  |   1 +
 .../src/site/markdown/CapacityScheduler.md      |  88 ++
 .../site/markdown/OpportunisticContainers.md.vm |   2 +-
 .../src/site/markdown/YarnCommands.md           |   3 +-
 .../webapp/app/controllers/yarn-app/logs.js     | 227 +++--
 .../webapp/app/controllers/yarn-nodes/table.js  |   1 +
 .../webapp/app/controllers/yarn-services.js     |   1 +
 .../src/main/webapp/app/routes/yarn-app/logs.js |   5 +
 .../src/main/webapp/app/styles/app.scss         |  80 +-
 .../src/main/webapp/app/styles/em-table.scss    | 119 +++
 .../main/webapp/app/templates/yarn-app/logs.hbs |  10 +-
 hadoop-yarn-project/pom.xml                     |  38 +-
 261 files changed, 17329 insertions(+), 1407 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/hdfs.proto
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-hdfs-project/hadoop-hdfs/pom.xml
----------------------------------------------------------------------
diff --cc hadoop-hdfs-project/hadoop-hdfs/pom.xml
index d1e1891,fe51071..3b962d4
--- a/hadoop-hdfs-project/hadoop-hdfs/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs/pom.xml
@@@ -186,19 -191,7 +186,18 @@@ http://maven.apache.org/xsd/maven-4.0.0
      <dependency>
        <groupId>org.fusesource.leveldbjni</groupId>
        <artifactId>leveldbjni-all</artifactId>
-       <version>1.8</version>
      </dependency>
 +    <dependency>
 +      <groupId>org.rocksdb</groupId>
 +      <artifactId>rocksdbjni</artifactId>
 +      <version>5.8.0</version>
 +    </dependency>
 +    <dependency>
 +      <groupId>io.swagger</groupId>
 +      <artifactId>swagger-annotations</artifactId>
 +      <version>1.5.9</version>
 +      <scope>provided</scope>
 +    </dependency>
      <!-- 'mvn dependency:analyze' fails to detect use of this dependency -->
      <dependency>
        <groupId>org.bouncycastle</groupId>
@@@ -236,10 -207,11 +235,15 @@@
        <artifactId>curator-test</artifactId>
        <scope>test</scope>
      </dependency>
 +      <dependency>
 +          <groupId>com.codahale.metrics</groupId>
 +          <artifactId>metrics-core</artifactId>
 +      </dependency>
+     <dependency>
+         <groupId>org.assertj</groupId>
+         <artifactId>assertj-core</artifactId>
+         <scope>test</scope>
+     </dependency>
    </dependencies>
  
    <build>
@@@ -372,11 -343,9 +376,12 @@@
                    <include>QJournalProtocol.proto</include>
                    <include>editlog.proto</include>
                    <include>fsimage.proto</include>
 +                  <include>StorageContainerDatanodeProtocol.proto</include>
 +                  <include>CBlockServiceProtocol.proto</include>
 +                  <include>CBlockClientServerProtocol.proto</include>
                    <include>FederationProtocol.proto</include>
                    <include>RouterProtocol.proto</include>
+                   <include>AliasMapProtocol.proto</include>
                  </includes>
                </source>
              </configuration>

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/StorageInfo.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/protocol/NamespaceInfo.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/MiniDFSCluster.java
----------------------------------------------------------------------
diff --cc hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/MiniDFSCluster.java
index b8157c8,c694854..1381ba9
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/MiniDFSCluster.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/MiniDFSCluster.java
@@@ -2852,13 -2855,30 +2860,33 @@@ public class MiniDFSCluster implements 
    }
  
    /**
+    * Get a storage directory for PROVIDED storages.
+    * The PROVIDED directory to return can be set by using the configuration
+    * parameter {@link #HDFS_MINIDFS_BASEDIR_PROVIDED}. If this parameter is
+    * not set, this function behaves exactly the same as
+    * {@link #getInstanceStorageDir(int, int)}. Currently, the two parameters
+    * are ignored as only one PROVIDED storage is supported in HDFS-9806.
+    *
+    * @param dnIndex datanode index (starts from 0)
+    * @param dirIndex directory index
+    * @return Storage directory
+    */
+   public File getProvidedStorageDir(int dnIndex, int dirIndex) {
+     String base = conf.get(HDFS_MINIDFS_BASEDIR_PROVIDED, null);
+     if (base == null) {
+       return getInstanceStorageDir(dnIndex, dirIndex);
+     }
+     return new File(base);
+   }
+ 
+   /**
     * Get a storage directory for a datanode.
 +   * For examples,
     * <ol>
 -   * <li><base directory>/data/data<2*dnIndex + 1></li>
 -   * <li><base directory>/data/data<2*dnIndex + 2></li>
 +   * <li><base directory>/data/dn0_data0</li>
 +   * <li><base directory>/data/dn0_data1</li>
 +   * <li><base directory>/data/dn1_data0</li>
 +   * <li><base directory>/data/dn1_data1</li>
     * </ol>
     *
     * @param dnIndex datanode index (starts from 0)

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-project/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-tools/hadoop-tools-dist/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7abc4af9/hadoop-tools/pom.xml
----------------------------------------------------------------------
diff --cc hadoop-tools/pom.xml
index c2475de,c030045..03875a0
--- a/hadoop-tools/pom.xml
+++ b/hadoop-tools/pom.xml
@@@ -48,7 -48,7 +48,8 @@@
      <module>hadoop-kafka</module>
      <module>hadoop-azure-datalake</module>
      <module>hadoop-aliyun</module>
 +    <module>hadoop-ozone</module>
+     <module>hadoop-fs2img</module>
    </modules>
  
    <build>


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org