[ https://issues.apache.org/jira/browse/HDFS-9053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14790677#comment-14790677 ]
Hadoop QA commented on HDFS-9053: --------------------------------- \\ \\ | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | pre-patch | 19m 37s | Pre-patch trunk compilation is healthy. | | {color:green}+1{color} | @author | 0m 0s | The patch does not contain any @author tags. | | {color:green}+1{color} | tests included | 0m 0s | The patch appears to include 7 new or modified test files. | | {color:red}-1{color} | javac | 7m 52s | The applied patch generated 28 additional warning messages. | | {color:green}+1{color} | javadoc | 10m 11s | There were no new javadoc warning messages. | | {color:green}+1{color} | release audit | 0m 24s | The applied patch does not increase the total number of release audit warnings. | | {color:red}-1{color} | checkstyle | 1m 52s | The applied patch generated 16 new checkstyle issues (total was 0, now 16). | | {color:red}-1{color} | whitespace | 0m 12s | The patch has 7 line(s) that end in whitespace. Use git apply --whitespace=fix. | | {color:green}+1{color} | install | 1m 39s | mvn install still works. | | {color:green}+1{color} | eclipse:eclipse | 0m 33s | The patch built with eclipse:eclipse. | | {color:green}+1{color} | findbugs | 4m 25s | The patch does not introduce any new Findbugs (version 3.0.0) warnings. | | {color:green}+1{color} | common tests | 23m 21s | Tests passed in hadoop-common. | | {color:red}-1{color} | hdfs tests | 32m 46s | Tests failed in hadoop-hdfs. | | | | 103m 12s | | \\ \\ || Reason || Tests || | Failed unit tests | hadoop.hdfs.server.balancer.TestBalancerWithEncryptedTransfer | | | hadoop.hdfs.TestHDFSFileSystemContract | | | hadoop.hdfs.qjournal.client.TestQuorumJournalManager | | | hadoop.hdfs.TestEncryptedTransfer | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotDiffReport | | | hadoop.hdfs.server.namenode.TestGetBlockLocations | | | hadoop.hdfs.TestBlockStoragePolicy | | | hadoop.hdfs.TestRollingUpgrade | | | hadoop.hdfs.web.TestWebHDFSForHA | | | hadoop.hdfs.server.balancer.TestBalancerWithMultipleNameNodes | | | hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics | | | hadoop.hdfs.server.namenode.ha.TestStandbyCheckpoints | | | hadoop.fs.viewfs.TestViewFileSystemWithAcls | | | hadoop.hdfs.server.datanode.TestDataNodeECN | | | hadoop.hdfs.web.TestWebHdfsUrl | | | hadoop.hdfs.TestClientProtocolForPipelineRecovery | | | hadoop.TestGenericRefresh | | | hadoop.hdfs.server.namenode.TestFSEditLogLoader | | | hadoop.hdfs.server.namenode.TestEditLogJournalFailures | | | hadoop.fs.contract.hdfs.TestHDFSContractSeek | | | hadoop.hdfs.TestPread | | | hadoop.hdfs.server.namenode.snapshot.TestXAttrWithSnapshot | | | hadoop.hdfs.tools.TestDFSZKFailoverController | | | hadoop.fs.viewfs.TestViewFsFileStatusHdfs | | | hadoop.hdfs.TestWriteConfigurationToDFS | | | hadoop.hdfs.TestParallelShortCircuitLegacyRead | | | hadoop.hdfs.TestFileCreationClient | | | hadoop.hdfs.server.datanode.TestDataNodeHotSwapVolumes | | | hadoop.hdfs.server.namenode.ha.TestInitializeSharedEdits | | | hadoop.hdfs.crypto.TestHdfsCryptoStreams | | | hadoop.hdfs.server.datanode.TestTransferRbw | | | hadoop.hdfs.TestWriteBlockGetsBlockLengthHint | | | hadoop.hdfs.server.namenode.TestAddBlock | | | hadoop.fs.TestSymlinkHdfsDisable | | | hadoop.hdfs.TestDecommission | | | hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForContentSummary | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotMetrics | | | hadoop.hdfs.server.datanode.TestDataNodeMultipleRegistrations | | | hadoop.hdfs.server.namenode.TestFSImageWithAcl | | | hadoop.hdfs.server.mover.TestMover | | | hadoop.hdfs.TestDFSRemove | | | hadoop.cli.TestCacheAdminCLI | | | hadoop.hdfs.server.namenode.ha.TestLossyRetryInvocationHandler | | | hadoop.fs.loadGenerator.TestLoadGenerator | | | hadoop.hdfs.server.datanode.TestNNHandlesBlockReportPerStorage | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotReplication | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyWriter | | | hadoop.hdfs.TestFileAppend4 | | | hadoop.hdfs.server.namenode.TestEditLogAutoroll | | | hadoop.hdfs.qjournal.server.TestJournalNode | | | hadoop.hdfs.server.namenode.ha.TestDNFencing | | | hadoop.hdfs.TestRollingUpgradeDowngrade | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotFileLength | | | hadoop.hdfs.server.datanode.TestNNHandlesCombinedBlockReport | | | hadoop.security.TestPermission | | | hadoop.hdfs.TestDFSShell | | | hadoop.hdfs.server.datanode.TestRefreshNamenodes | | | hadoop.hdfs.server.namenode.TestDeleteRace | | | hadoop.hdfs.server.namenode.ha.TestDNFencingWithReplication | | | hadoop.hdfs.server.datanode.TestDataNodeRollingUpgrade | | | hadoop.hdfs.web.TestWebHDFSXAttr | | | hadoop.hdfs.TestDFSClientFailover | | | hadoop.hdfs.server.namenode.TestEditLog | | | hadoop.hdfs.TestModTime | | | hadoop.hdfs.TestDistributedFileSystem | | | hadoop.hdfs.server.namenode.TestTransferFsImage | | | hadoop.hdfs.TestBlockReaderLocalLegacy | | | hadoop.hdfs.web.TestWebHDFS | | | hadoop.hdfs.server.namenode.snapshot.TestINodeFileUnderConstructionWithSnapshot | | | hadoop.hdfs.TestDatanodeConfig | | | hadoop.hdfs.server.namenode.snapshot.TestAclWithSnapshot | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistFiles | | | hadoop.fs.TestWebHdfsFileContextMainOperations | | | hadoop.hdfs.server.namenode.snapshot.TestFileContextSnapshot | | | hadoop.hdfs.server.namenode.TestFSNamesystemMBean | | | hadoop.hdfs.TestDFSUpgrade | | | hadoop.hdfs.TestParallelRead | | | hadoop.security.TestPermissionSymlinks | | | hadoop.hdfs.tools.TestDFSHAAdminMiniCluster | | | hadoop.hdfs.TestClientBlockVerification | | | hadoop.hdfs.server.datanode.TestTriggerBlockReport | | | hadoop.hdfs.server.mover.TestStorageMover | | | hadoop.fs.viewfs.TestViewFsWithAcls | | | hadoop.hdfs.server.datanode.TestDataNodeMetrics | | | hadoop.hdfs.server.datanode.TestDataNodeInitStorage | | | hadoop.hdfs.server.namenode.ha.TestBootstrapStandby | | | hadoop.hdfs.server.namenode.ha.TestBootstrapStandbyWithQJM | | | hadoop.hdfs.TestParallelShortCircuitReadUnCached | | | hadoop.net.TestNetworkTopology | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotDeletion | | | hadoop.hdfs.TestPersistBlocks | | | hadoop.hdfs.tools.TestDebugAdmin | | | hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForXAttr | | | hadoop.hdfs.server.datanode.TestDeleteBlockPool | | | hadoop.hdfs.TestRenameWhileOpen | | | hadoop.hdfs.TestInjectionForSimulatedStorage | | | hadoop.hdfs.server.namenode.TestSecondaryWebUi | | | hadoop.hdfs.server.namenode.TestDecommissioningStatus | | | hadoop.cli.TestDeleteCLI | | | hadoop.security.TestRefreshUserMappings | | | hadoop.hdfs.TestExternalBlockReader | | | hadoop.hdfs.server.namenode.ha.TestRetryCacheWithHA | | | hadoop.hdfs.TestHFlush | | | hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate | | | hadoop.fs.contract.hdfs.TestHDFSContractOpen | | | hadoop.hdfs.web.TestFSMainOperationsWebHdfs | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotBlocksMap | | | hadoop.fs.TestFcHdfsPermission | | | hadoop.hdfs.server.namenode.ha.TestXAttrsWithHA | | | hadoop.hdfs.server.namenode.TestDefaultBlockPlacementPolicy | | | hadoop.hdfs.TestClose | | | hadoop.fs.viewfs.TestViewFsWithXAttrs | | | hadoop.hdfs.server.namenode.TestFSNamesystem | | | hadoop.hdfs.server.datanode.TestBlockScanner | | | hadoop.hdfs.TestLeaseRecovery2 | | | hadoop.hdfs.TestSnapshotCommands | | | hadoop.hdfs.server.namenode.TestFileContextAcl | | | hadoop.hdfs.server.namenode.TestNNStorageRetentionFunctional | | | hadoop.hdfs.server.namenode.ha.TestHAFsck | | | hadoop.hdfs.qjournal.server.TestJournal | | | hadoop.hdfs.server.datanode.TestReadOnlySharedStorage | | | hadoop.hdfs.TestLeaseRecovery | | | hadoop.fs.contract.hdfs.TestHDFSContractMkdir | | | hadoop.hdfs.server.namenode.TestCreateEditsLog | | | hadoop.hdfs.server.datanode.TestIncrementalBlockReports | | | hadoop.hdfs.TestBalancerBandwidth | | | hadoop.hdfs.server.namenode.TestNamenodeRetryCache | | | hadoop.hdfs.server.namenode.TestINodeAttributeProvider | | | hadoop.hdfs.server.namenode.ha.TestNNHealthCheck | | | hadoop.hdfs.TestDFSFinalize | | | hadoop.hdfs.TestMiniDFSCluster | | | hadoop.hdfs.server.namenode.TestXAttrConfigFlag | | | hadoop.hdfs.server.namenode.TestFsckWithMultipleNameNodes | | | hadoop.hdfs.server.namenode.snapshot.TestDisallowModifyROSnapshot | | | hadoop.hdfs.security.token.block.TestBlockToken | | | hadoop.hdfs.TestDFSStorageStateRecovery | | | hadoop.hdfs.server.namenode.ha.TestStandbyBlockManagement | | | hadoop.fs.TestUrlStreamHandler | | | hadoop.hdfs.TestReplaceDatanodeOnFailure | | | hadoop.hdfs.server.namenode.TestHostsFiles | | | hadoop.hdfs.TestDFSPermission | | | hadoop.hdfs.server.namenode.TestStartupOptionUpgrade | | | hadoop.hdfs.tools.TestDelegationTokenFetcher | | | hadoop.hdfs.server.datanode.TestDiskError | | | hadoop.fs.TestSymlinkHdfsFileSystem | | | hadoop.hdfs.TestListFilesInDFS | | | hadoop.hdfs.server.namenode.TestParallelImageWrite | | | hadoop.hdfs.server.namenode.ha.TestFailoverWithBlockTokensEnabled | | | hadoop.hdfs.web.TestWebHdfsTokens | | | hadoop.hdfs.server.namenode.TestAuditLogger | | | hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot | | | hadoop.hdfs.server.namenode.TestNamenodeCapacityReport | | | hadoop.hdfs.server.namenode.TestMetaSave | | | hadoop.hdfs.server.namenode.TestSecureNameNode | | | hadoop.hdfs.security.TestClientProtocolWithDelegationToken | | | hadoop.fs.viewfs.TestViewFileSystemAtHdfsRoot | | | hadoop.hdfs.TestDFSRename | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestFsDatasetImpl | | | hadoop.hdfs.TestParallelUnixDomainRead | | | hadoop.hdfs.TestRemoteBlockReader2 | | | hadoop.hdfs.server.namenode.TestCommitBlockSynchronization | | | hadoop.hdfs.web.TestWebHDFSOAuth2 | | | hadoop.fs.viewfs.TestViewFsAtHdfsRoot | | | hadoop.fs.TestSWebHdfsFileContextMainOperations | | | hadoop.hdfs.tools.TestDFSAdminWithHA | | | hadoop.hdfs.server.datanode.web.dtp.TestDtpHttp2 | | | hadoop.hdfs.protocol.datatransfer.sasl.TestSaslDataTransfer | | | hadoop.hdfs.server.namenode.TestNameNodeResourceChecker | | | hadoop.hdfs.server.datanode.TestFsDatasetCacheRevocation | | | hadoop.hdfs.server.namenode.ha.TestHASafeMode | | | hadoop.hdfs.server.namenode.ha.TestStandbyIsHot | | | hadoop.hdfs.server.namenode.ha.TestStateTransitionFailure | | | hadoop.hdfs.server.namenode.TestNameNodeMetricsLogger | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistLockedMemory | | | hadoop.hdfs.tools.TestDFSAdmin | | | hadoop.hdfs.server.namenode.ha.TestGetGroupsWithHA | | | hadoop.hdfs.TestDataTransferProtocol | | | hadoop.hdfs.TestQuota | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistPolicy | | | hadoop.hdfs.server.namenode.TestNameNodeMXBean | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshottableDirListing | | | hadoop.hdfs.server.datanode.TestBlockHasMultipleReplicasOnSameDN | | | hadoop.hdfs.server.namenode.TestClusterId | | | hadoop.fs.contract.hdfs.TestHDFSContractDelete | | | hadoop.hdfs.TestMissingBlocksAlert | | | hadoop.fs.TestGlobPaths | | | hadoop.hdfs.TestFSOutputSummer | | | hadoop.hdfs.server.namenode.TestQuotaByStorageType | | | hadoop.hdfs.server.namenode.TestFileContextXAttr | | | hadoop.hdfs.server.namenode.TestAclConfigFlag | | | hadoop.hdfs.server.namenode.TestFileTruncate | | | hadoop.hdfs.server.namenode.TestNameNodeRpcServer | | | hadoop.hdfs.TestFileConcurrentReader | | | hadoop.hdfs.server.namenode.TestBlockPlacementPolicyRackFaultTolerant | | | hadoop.hdfs.server.datanode.TestStorageReport | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotListing | | | hadoop.hdfs.server.namenode.ha.TestPendingCorruptDnMessages | | | hadoop.hdfs.server.namenode.snapshot.TestRenameWithSnapshots | | | hadoop.hdfs.server.namenode.TestAddBlockRetry | | | hadoop.hdfs.server.namenode.ha.TestDelegationTokensWithHA | | | hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes | | | hadoop.hdfs.server.namenode.TestNameNodeXAttr | | | hadoop.fs.contract.hdfs.TestHDFSContractConcat | | | hadoop.hdfs.server.namenode.ha.TestEditLogTailer | | | hadoop.hdfs.server.namenode.TestLeaseManager | | | hadoop.fs.TestEnhancedByteBufferAccess | | | hadoop.hdfs.server.namenode.TestProcessCorruptBlocks | | | hadoop.hdfs.web.TestWebHdfsFileSystemContract | | | hadoop.hdfs.TestMultiThreadedHflush | | | hadoop.hdfs.TestEncryptionZones | | | hadoop.hdfs.security.TestDelegationToken | | | hadoop.hdfs.TestConnCache | | | hadoop.hdfs.server.namenode.TestFSImage | | | hadoop.hdfs.server.namenode.TestHDFSConcat | | | hadoop.hdfs.server.datanode.TestHSync | | | hadoop.hdfs.server.namenode.TestEditLogRace | | | hadoop.hdfs.TestRead | | | hadoop.hdfs.server.namenode.TestSnapshotPathINodes | | | hadoop.hdfs.server.datanode.TestDataNodeTransferSocketSize | | | hadoop.hdfs.TestSetTimes | | | hadoop.hdfs.TestFileCreationEmpty | | | hadoop.fs.viewfs.TestViewFileSystemWithXAttrs | | | hadoop.hdfs.server.namenode.TestNNStorageRetentionManager | | | hadoop.hdfs.TestDisableConnCache | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotRename | | | hadoop.hdfs.TestDFSOutputStream | | | hadoop.hdfs.TestSmallBlock | | | hadoop.hdfs.server.namenode.TestNameNodeAcl | | | hadoop.hdfs.server.namenode.TestValidateConfigurationSettings | | | hadoop.hdfs.TestIsMethodSupported | | | hadoop.hdfs.web.TestWebHdfsWithAuthenticationFilter | | | hadoop.hdfs.server.namenode.TestCheckPointForSecurityTokens | | | hadoop.fs.TestFcHdfsSetUMask | | | hadoop.hdfs.TestFsShellPermission | | | hadoop.hdfs.TestEncryptionZonesWithHA | | | hadoop.hdfs.server.namenode.TestSaveNamespace | | | hadoop.hdfs.server.namenode.TestBackupNode | | | hadoop.tracing.TestTracing | | | hadoop.fs.contract.hdfs.TestHDFSContractRename | | | hadoop.hdfs.server.namenode.ha.TestHAStateTransitions | | | hadoop.hdfs.TestGetFileChecksum | | | hadoop.hdfs.TestFetchImage | | | hadoop.cli.TestXAttrCLI | | | hadoop.hdfs.server.datanode.TestBlockRecovery | | | hadoop.hdfs.TestFileAppend | | | hadoop.hdfs.TestLocalDFS | | | hadoop.hdfs.server.balancer.TestBalancer | | | hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForAcl | | | hadoop.hdfs.server.balancer.TestBalancerWithNodeGroup | | | hadoop.hdfs.TestHdfsAdmin | | | hadoop.fs.contract.hdfs.TestHDFSContractSetTimes | | | hadoop.hdfs.server.namenode.TestLargeDirectory | | | hadoop.hdfs.server.namenode.TestAuditLogAtDebug | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotNameWithInvalidCharacters | | | hadoop.fs.contract.hdfs.TestHDFSContractGetFileStatus | | | hadoop.hdfs.server.namenode.TestListCorruptFileBlocks | | | hadoop.hdfs.TestDFSMkdirs | | | hadoop.hdfs.server.namenode.TestFSImageStorageInspector | | | hadoop.hdfs.server.namenode.TestTruncateQuotaUpdate | | | hadoop.hdfs.TestEncryptionZonesWithKMS | | | hadoop.fs.TestSymlinkHdfsFileContext | | | hadoop.hdfs.TestDatanodeReport | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaRecovery | | | hadoop.hdfs.TestFileStatus | | | hadoop.hdfs.server.datanode.TestIncrementalBrVariations | | | hadoop.hdfs.server.namenode.TestFsLimits | | | hadoop.hdfs.TestHDFSTrash | | | hadoop.hdfs.TestRollingUpgradeRollback | | | hadoop.hdfs.server.namenode.ha.TestQuotasWithHA | | | hadoop.hdfs.server.namenode.TestFSImageWithSnapshot | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestWriteToReplica | | | hadoop.hdfs.server.namenode.TestFsck | | | hadoop.hdfs.qjournal.TestSecureNNWithQJM | | | hadoop.hdfs.TestLease | | | hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewer | | | hadoop.hdfs.TestLargeBlock | | | hadoop.TestRefreshCallQueue | | | hadoop.hdfs.server.namenode.ha.TestHAAppend | | | hadoop.hdfs.server.namenode.TestMetadataVersionOutput | | | hadoop.hdfs.server.datanode.TestBlockReplacement | | | hadoop.hdfs.TestClientReportBadBlock | | | hadoop.tracing.TestTraceAdmin | | | hadoop.tracing.TestTracingShortCircuitLocalRead | | | hadoop.hdfs.server.namenode.snapshot.TestNestedSnapshots | | | hadoop.hdfs.server.namenode.TestEditLogFileInputStream | | | hadoop.hdfs.TestSetrepDecreasing | | | hadoop.hdfs.server.namenode.snapshot.TestCheckpointsWithSnapshots | | | hadoop.hdfs.tools.TestStoragePolicyCommands | | | hadoop.hdfs.server.namenode.TestBlockUnderConstruction | | | hadoop.hdfs.security.TestDelegationTokenForProxyUser | | | hadoop.hdfs.server.namenode.ha.TestHAMetrics | | | hadoop.hdfs.server.namenode.ha.TestPipelinesFailover | | | hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureReporting | | | hadoop.fs.TestResolveHdfsSymlink | | | hadoop.fs.shell.TestHdfsTextCommand | | | hadoop.hdfs.TestDatanodeStartupFixesLegacyStorageIDs | | | hadoop.cli.TestAclCLI | | | hadoop.hdfs.util.TestDiff | | | hadoop.hdfs.server.namenode.ha.TestDFSUpgradeWithHA | | | hadoop.hdfs.server.namenode.TestSecondaryNameNodeUpgrade | | | hadoop.hdfs.TestBlocksScheduledCounter | | | hadoop.hdfs.server.namenode.TestFileLimit | | | hadoop.hdfs.server.namenode.TestFSDirectory | | | hadoop.hdfs.server.namenode.TestProtectedDirectories | | | hadoop.tools.TestJMXGet | | | hadoop.hdfs.server.namenode.TestDeadDatanode | | | hadoop.hdfs.server.namenode.TestStorageRestore | | | hadoop.hdfs.tools.offlineEditsViewer.TestOfflineEditsViewer | | | hadoop.fs.TestFcHdfsCreateMkdir | | | hadoop.hdfs.server.namenode.ha.TestFailureOfSharedDir | | | hadoop.hdfs.TestFileAppendRestart | | | hadoop.hdfs.server.balancer.TestBalancerWithSaslDataTransfer | | | hadoop.hdfs.server.namenode.TestFileJournalManager | | | hadoop.cli.TestHDFSCLI | | | hadoop.hdfs.server.namenode.TestSecurityTokenEditLog | | | hadoop.hdfs.server.namenode.TestNameNodeRespectsBindHostKeys | | | hadoop.hdfs.tools.TestGetGroups | | | hadoop.hdfs.server.datanode.TestDataNodeExit | | | hadoop.hdfs.server.namenode.TestAuditLogs | | | hadoop.fs.viewfs.TestViewFileSystemHdfs | | | hadoop.fs.TestHDFSFileContextMainOperations | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotStatsMXBean | | | hadoop.hdfs.TestFileLengthOnClusterRestart | | | hadoop.hdfs.server.namenode.web.resources.TestWebHdfsDataLocality | | | hadoop.hdfs.TestListFilesInFileContext | | | hadoop.hdfs.server.namenode.TestCheckpoint | | | hadoop.hdfs.server.datanode.TestDnRespectsBlockReportSplitThreshold | | | hadoop.hdfs.server.namenode.snapshot.TestUpdatePipelineWithSnapshots | | | hadoop.hdfs.TestCrcCorruption | | | hadoop.hdfs.server.datanode.TestFsDatasetCache | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestInterDatanodeProtocol | | | hadoop.hdfs.TestReadWhileWriting | | | hadoop.hdfs.server.namenode.TestGenericJournalConf | | | hadoop.hdfs.TestFileAppend3 | | | hadoop.hdfs.TestBlockReaderFactory | | | hadoop.hdfs.server.namenode.TestNNThroughputBenchmark | | | hadoop.hdfs.server.namenode.TestNameNodeRetryCacheMetrics | | | hadoop.hdfs.TestReplication | | | hadoop.hdfs.TestGetBlocks | | | hadoop.hdfs.server.namenode.TestFSPermissionChecker | | | hadoop.hdfs.server.namenode.ha.TestHAConfiguration | | | hadoop.hdfs.server.namenode.TestPathComponents | | | hadoop.hdfs.TestDFSStartupVersions | | | hadoop.fs.contract.hdfs.TestHDFSContractCreate | | | hadoop.hdfs.TestDFSUpgradeFromImage | | | hadoop.hdfs.server.namenode.TestFSImageWithXAttr | | | hadoop.hdfs.web.TestHttpsFileSystem | | | hadoop.hdfs.server.namenode.TestStartup | | | hadoop.hdfs.server.namenode.snapshot.TestFileWithSnapshotFeature | | | hadoop.hdfs.TestParallelShortCircuitReadNoChecksum | | | hadoop.hdfs.server.namenode.TestCacheDirectives | | | hadoop.hdfs.server.namenode.TestFavoredNodesEndToEnd | | | hadoop.hdfs.TestRemoteBlockReader | | | hadoop.hdfs.qjournal.TestNNWithQJM | | | hadoop.hdfs.server.namenode.TestNameNodeRecovery | | | hadoop.hdfs.server.namenode.TestINodeFile | | | hadoop.hdfs.TestSetrepIncreasing | | | hadoop.hdfs.server.namenode.ha.TestHarFileSystemWithHA | | | hadoop.hdfs.server.namenode.TestAllowFormat | | | hadoop.hdfs.shortcircuit.TestShortCircuitCache | | | hadoop.hdfs.server.namenode.metrics.TestNNMetricFilesInGetListingOps | | | hadoop.hdfs.server.namenode.ha.TestEditLogsDuringFailover | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshotManager | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestScrLazyPersistFiles | | | hadoop.fs.contract.hdfs.TestHDFSContractAppend | | | hadoop.hdfs.web.TestWebHdfsWithMultipleNameNodes | | | hadoop.hdfs.server.namenode.TestMalformedURLs | | | hadoop.hdfs.web.TestWebHDFSAcl | | | hadoop.hdfs.server.namenode.snapshot.TestSetQuotaWithSnapshot | | | hadoop.hdfs.server.namenode.snapshot.TestSnapshot | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestDatanodeRestart | | | hadoop.hdfs.server.namenode.TestLargeDirectoryDelete | | | hadoop.hdfs.server.namenode.ha.TestFailureToReadEdits | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestRbwSpaceReservation | | | hadoop.fs.TestUnbuffer | | | hadoop.hdfs.TestFSInputChecker | | | hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaPlacement | | | hadoop.hdfs.qjournal.client.TestQJMWithFaults | | | hadoop.fs.permission.TestStickyBit | | | hadoop.fs.viewfs.TestViewFsDefaultValue | | | hadoop.fs.viewfs.TestViewFsHdfs | | | hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureToleration | | | hadoop.hdfs.TestHDFSServerPorts | | | hadoop.cli.TestCryptoAdminCLI | | | hadoop.hdfs.server.namenode.TestNameEditsConfigs | | | hadoop.fs.contract.hdfs.TestHDFSContractRootDirectory | | | hadoop.hdfs.TestDataTransferKeepalive | | | hadoop.hdfs.server.balancer.TestBalancerWithHANameNodes | \\ \\ || Subsystem || Report/Notes || | Patch URL | http://issues.apache.org/jira/secure/attachment/12756270/HDFS-9053.001.patch | | Optional Tests | javadoc javac unit findbugs checkstyle | | git revision | trunk / bf2f2b4 | | javac | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/artifact/patchprocess/diffJavacWarnings.txt | | checkstyle | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/artifact/patchprocess/diffcheckstylehadoop-common.txt | | whitespace | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/artifact/patchprocess/whitespace.txt | | hadoop-common test log | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/artifact/patchprocess/testrun_hadoop-common.txt | | hadoop-hdfs test log | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/artifact/patchprocess/testrun_hadoop-hdfs.txt | | Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/testReport/ | | Java | 1.7.0_55 | | uname | Linux asf906.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Console output | https://builds.apache.org/job/PreCommit-HDFS-Build/12483/console | This message was automatically generated. > Support large directories efficiently using B-Tree > -------------------------------------------------- > > Key: HDFS-9053 > URL: https://issues.apache.org/jira/browse/HDFS-9053 > Project: Hadoop HDFS > Issue Type: Improvement > Components: namenode > Reporter: Yi Liu > Assignee: Yi Liu > Priority: Critical > Attachments: HDFS-9053 (BTree with simple benchmark).patch, HDFS-9053 > (BTree).patch, HDFS-9053.001.patch > > > This is a long standing issue, we were trying to improve this in the past. > Currently we use an ArrayList for the children under a directory, and the > children are ordered in the list, for insert/delete/search, the time > complexity is O(log n), but insertion/deleting causes re-allocations and > copies of big arrays, so the operations are costly. For example, if the > children grow to 1M size, the ArrayList will resize to > 1M capacity, so need > > 1M * 4bytes = 4M continuous heap memory, it easily causes full GC in HDFS > cluster where namenode heap memory is already highly used. I recap the 3 > main issues: > # Insertion/deletion operations in large directories are expensive because > re-allocations and copies of big arrays. > # Dynamically allocate several MB continuous heap memory which will be > long-lived can easily cause full GC problem. > # Even most children are removed later, but the directory INode still > occupies same size heap memory, since the ArrayList will never shrink. > This JIRA is similar to HDFS-7174 created by [~kihwal], but use B-Tree to > solve the problem suggested by [~shv]. > So the target of this JIRA is to implement a low memory footprint B-Tree and > use it to replace ArrayList. > If the elements size is not large (less than the maximum degree of B-Tree > node), the B-Tree only has one root node which contains an array for the > elements. And if the size grows large enough, it will split automatically, > and if elements are removed, then B-Tree nodes can merge automatically (see > more: https://en.wikipedia.org/wiki/B-tree). It will solve the above 3 > issues. -- This message was sent by Atlassian JIRA (v6.3.4#6332)