Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8983

NameNode support for protected directories

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.1
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: namenode
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      To protect important system directories from inadvertent deletion (e.g. /Users) the NameNode can allow marking directories as protected. Such directories cannot be deleted unless they are empty.

      1. HDFS-8393.01.patch
        20 kB
        Arpit Agarwal
      2. HDFS-8393.02.patch
        20 kB
        Arpit Agarwal
      3. HDFS-8983.03.patch
        20 kB
        Arpit Agarwal
      4. HDFS-8983.04.patch
        22 kB
        Arpit Agarwal

        Activity

        Hide
        arpitagarwal Arpit Agarwal added a comment -

        Patch attached.

        1. On startup the NameNode reads a new configuration variable fs.protected.directories which specifies a comma separated list of protected directories.
        2. Recursive deletion of a directory is failed if
          1. It is non-empty and protected, or
          2. One of its non-empty descendants is protected

        Nothing is deleted when the check fails.

        Show
        arpitagarwal Arpit Agarwal added a comment - Patch attached. On startup the NameNode reads a new configuration variable fs.protected.directories which specifies a comma separated list of protected directories. Recursive deletion of a directory is failed if It is non-empty and protected, or One of its non-empty descendants is protected Nothing is deleted when the check fails.
        Hide
        hadoopqa Hadoop QA added a comment -



        -1 overall



        Vote Subsystem Runtime Comment
        -1 pre-patch 21m 5s Pre-patch trunk has 2 extant Findbugs (version 3.0.0) warnings.
        +1 @author 0m 0s The patch does not contain any @author tags.
        +1 tests included 0m 0s The patch appears to include 1 new or modified test files.
        -1 javac 7m 42s The applied patch generated 1 additional warning messages.
        +1 javadoc 10m 2s There were no new javadoc warning messages.
        +1 release audit 0m 22s The applied patch does not increase the total number of release audit warnings.
        +1 checkstyle 2m 4s There were no new checkstyle issues.
        -1 whitespace 0m 0s The patch has 3 line(s) that end in whitespace. Use git apply --whitespace=fix.
        +1 install 1m 35s mvn install still works.
        +1 eclipse:eclipse 0m 32s The patch built with eclipse:eclipse.
        +1 findbugs 4m 28s The patch does not introduce any new Findbugs (version 3.0.0) warnings.
        +1 common tests 22m 53s Tests passed in hadoop-common.
        -1 hdfs tests 19m 21s Tests failed in hadoop-hdfs.
            90m 15s  



        Reason Tests
        Failed unit tests hadoop.hdfs.server.namenode.TestSecondaryNameNodeUpgrade
          hadoop.hdfs.server.namenode.web.resources.TestWebHdfsDataLocality
          hadoop.hdfs.TestDFSRemove
          hadoop.hdfs.TestHttpPolicy
          hadoop.hdfs.server.datanode.TestDataNodeMetrics
          hadoop.fs.viewfs.TestViewFsAtHdfsRoot
          hadoop.hdfs.server.datanode.TestStorageReport
          hadoop.hdfs.web.TestWebHDFSForHA
          hadoop.fs.TestEnhancedByteBufferAccess
          hadoop.hdfs.server.namenode.TestGenericJournalConf
          hadoop.cli.TestCryptoAdminCLI
          hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistFiles
          hadoop.hdfs.qjournal.client.TestQuorumJournalManager
          hadoop.hdfs.server.datanode.TestDataNodeHotSwapVolumes
          hadoop.hdfs.TestSetrepIncreasing
          hadoop.hdfs.server.namenode.TestSecondaryWebUi
          hadoop.hdfs.TestFetchImage
          hadoop.hdfs.server.namenode.ha.TestHAStateTransitions
          hadoop.hdfs.server.namenode.TestGetBlockLocations
          hadoop.hdfs.server.datanode.TestReadOnlySharedStorage
          hadoop.hdfs.server.namenode.snapshot.TestUpdatePipelineWithSnapshots
          hadoop.hdfs.web.TestHttpsFileSystem
          hadoop.fs.viewfs.TestViewFsFileStatusHdfs
          hadoop.hdfs.server.namenode.TestMetadataVersionOutput
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotNameWithInvalidCharacters
          hadoop.hdfs.TestFileCreationEmpty
          hadoop.hdfs.server.namenode.TestNameNodeResourceChecker
          hadoop.hdfs.TestMiniDFSCluster
          hadoop.hdfs.TestDFSClientRetries
          hadoop.hdfs.TestEncryptionZonesWithKMS
          hadoop.hdfs.TestReplication
          hadoop.fs.viewfs.TestViewFsWithXAttrs
          hadoop.hdfs.server.namenode.TestCheckpoint
          hadoop.hdfs.TestDFSOutputStream
          hadoop.hdfs.server.datanode.fsdataset.impl.TestWriteToReplica
          hadoop.hdfs.TestDFSConfigKeys
          hadoop.hdfs.TestClientBlockVerification
          hadoop.hdfs.TestDFSRollback
          hadoop.hdfs.server.namenode.ha.TestPendingCorruptDnMessages
          hadoop.hdfs.server.namenode.snapshot.TestXAttrWithSnapshot
          hadoop.hdfs.server.namenode.TestCreateEditsLog
          hadoop.tools.TestJMXGet
          hadoop.hdfs.server.namenode.ha.TestGetGroupsWithHA
          hadoop.hdfs.TestParallelRead
          hadoop.hdfs.TestHDFSTrash
          hadoop.hdfs.tools.TestDelegationTokenFetcher
          hadoop.hdfs.server.blockmanagement.TestBlockReportRateLimiting
          hadoop.hdfs.server.namenode.TestQuotaByStorageType
          hadoop.hdfs.web.TestJsonUtil
          hadoop.hdfs.server.namenode.TestBlockUnderConstruction
          hadoop.hdfs.server.datanode.TestIncrementalBlockReports
          hadoop.hdfs.TestWriteRead
          hadoop.hdfs.TestFileAppend4
          hadoop.hdfs.web.TestFSMainOperationsWebHdfs
          hadoop.hdfs.TestSnapshotCommands
          hadoop.hdfs.TestBlocksScheduledCounter
          hadoop.hdfs.TestDFSUtil
          hadoop.hdfs.web.TestWebHdfsWithMultipleNameNodes
          hadoop.hdfs.TestDFSShellGenericOptions
          hadoop.hdfs.server.datanode.TestNNHandlesBlockReportPerStorage
          hadoop.hdfs.TestDataTransferKeepalive
          hadoop.hdfs.TestClientProtocolForPipelineRecovery
          hadoop.hdfs.crypto.TestHdfsCryptoStreams
          hadoop.hdfs.TestLeaseRecovery2
          hadoop.hdfs.TestFSOutputSummer
          hadoop.hdfs.TestDFSFinalize
          hadoop.hdfs.server.namenode.TestDeleteRace
          hadoop.hdfs.server.namenode.TestAddBlockRetry
          hadoop.hdfs.server.namenode.TestCheckPointForSecurityTokens
          hadoop.hdfs.TestLargeBlock
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotFileLength
          hadoop.hdfs.TestEncryptionZonesWithHA
          hadoop.hdfs.server.namenode.TestListCorruptFileBlocks
          hadoop.hdfs.qjournal.server.TestJournalNode
          hadoop.hdfs.server.datanode.TestDnRespectsBlockReportSplitThreshold
          hadoop.hdfs.server.namenode.ha.TestStandbyIsHot
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotBlocksMap
          hadoop.hdfs.TestReservedRawPaths
          hadoop.hdfs.server.balancer.TestBalancerWithSaslDataTransfer
          hadoop.hdfs.server.namenode.TestAddBlock
          hadoop.hdfs.server.namenode.ha.TestPipelinesFailover
          hadoop.hdfs.server.blockmanagement.TestReplicationPolicyWithNodeGroup
          hadoop.hdfs.server.balancer.TestBalancerWithHANameNodes
          hadoop.hdfs.server.blockmanagement.TestUnderReplicatedBlocks
          hadoop.hdfs.TestDFSStorageStateRecovery
          hadoop.hdfs.web.TestWebHdfsWithAuthenticationFilter
          hadoop.hdfs.server.datanode.TestDataNodeVolumeFailure
          hadoop.hdfs.server.namenode.ha.TestNNHealthCheck
          hadoop.hdfs.server.namenode.TestFSNamesystem
          hadoop.hdfs.server.namenode.TestFSImageWithXAttr
          hadoop.hdfs.server.namenode.ha.TestStandbyCheckpoints
          hadoop.hdfs.server.namenode.snapshot.TestDisallowModifyROSnapshot
          hadoop.hdfs.TestLocalDFS
          hadoop.hdfs.server.namenode.TestSnapshotPathINodes
          hadoop.hdfs.server.namenode.TestFSImageWithAcl
          hadoop.hdfs.server.namenode.snapshot.TestSnapshottableDirListing
          hadoop.hdfs.server.datanode.TestDirectoryScanner
          hadoop.hdfs.TestRestartDFS
          hadoop.hdfs.server.blockmanagement.TestBlockStatsMXBean
          hadoop.hdfs.TestDataTransferProtocol
          hadoop.hdfs.server.datanode.TestDeleteBlockPool
          hadoop.hdfs.TestBlockReaderLocal
          hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistPolicy
          hadoop.hdfs.server.namenode.snapshot.TestNestedSnapshots
          hadoop.hdfs.TestDFSPermission
          hadoop.hdfs.server.namenode.ha.TestBootstrapStandby
          hadoop.hdfs.qjournal.TestSecureNNWithQJM
          hadoop.hdfs.server.datanode.TestDataNodeInitStorage
          hadoop.hdfs.server.namenode.ha.TestDFSUpgradeWithHA
          hadoop.hdfs.shortcircuit.TestShortCircuitCache
          hadoop.hdfs.server.namenode.TestProtectedDirectories
          hadoop.hdfs.server.datanode.TestDataNodeMXBean
          hadoop.hdfs.server.namenode.TestXAttrConfigFlag
          hadoop.hdfs.server.namenode.ha.TestDelegationTokensWithHA
          hadoop.hdfs.server.mover.TestStorageMover
          hadoop.hdfs.server.namenode.snapshot.TestRenameWithSnapshots
          hadoop.hdfs.web.TestWebHDFS
          hadoop.hdfs.server.namenode.TestFsckWithMultipleNameNodes
          hadoop.hdfs.server.mover.TestMover
          hadoop.hdfs.security.TestDelegationToken
          hadoop.hdfs.TestSafeMode
          hadoop.hdfs.TestFileCreation
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotMetrics
          hadoop.hdfs.server.balancer.TestBalancerWithMultipleNameNodes
          hadoop.fs.TestHDFSFileContextMainOperations
          hadoop.hdfs.server.datanode.fsdataset.impl.TestFsDatasetImpl
          hadoop.hdfs.server.namenode.ha.TestStandbyBlockManagement
          hadoop.hdfs.TestDistributedFileSystem
          hadoop.hdfs.TestDatanodeRegistration
          hadoop.hdfs.TestPeerCache
          hadoop.hdfs.TestSmallBlock
          hadoop.hdfs.TestEncryptionZones
          hadoop.hdfs.server.blockmanagement.TestOverReplicatedBlocks
          hadoop.hdfs.server.datanode.TestDatanodeProtocolRetryPolicy
          hadoop.hdfs.server.datanode.TestHSync
          hadoop.hdfs.qjournal.TestNNWithQJM
          hadoop.hdfs.server.namenode.TestNameNodeXAttr
          hadoop.hdfs.server.namenode.snapshot.TestSetQuotaWithSnapshot
          hadoop.hdfs.TestFileAppendRestart
          hadoop.hdfs.server.namenode.ha.TestRetryCacheWithHA
          hadoop.hdfs.server.namenode.TestNNStorageRetentionFunctional
          hadoop.hdfs.TestBlockReaderLocalLegacy
          hadoop.hdfs.server.namenode.TestNamenodeCapacityReport
          hadoop.hdfs.web.TestWebHDFSAcl
          hadoop.hdfs.server.namenode.TestStorageRestore
          hadoop.hdfs.TestClientReportBadBlock
          hadoop.hdfs.server.namenode.ha.TestStateTransitionFailure
          hadoop.hdfs.server.namenode.TestFsck
          hadoop.hdfs.server.namenode.TestAllowFormat
          hadoop.hdfs.TestClose
          hadoop.hdfs.server.namenode.ha.TestHAFsck
          hadoop.hdfs.server.blockmanagement.TestNodeCount
          hadoop.hdfs.TestSeekBug
          hadoop.hdfs.TestFileAppend2
          hadoop.hdfs.TestLeaseRecovery
          hadoop.hdfs.server.namenode.ha.TestLossyRetryInvocationHandler
          hadoop.hdfs.TestSetTimes
          hadoop.hdfs.server.blockmanagement.TestAvailableSpaceBlockPlacementPolicy
          hadoop.hdfs.server.namenode.TestDecommissioningStatus
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotRename
          hadoop.hdfs.tools.TestDFSZKFailoverController
          hadoop.hdfs.qjournal.client.TestQJMWithFaults
          hadoop.hdfs.server.namenode.ha.TestFailureOfSharedDir
          hadoop.hdfs.server.datanode.TestTriggerBlockReport
          hadoop.hdfs.TestFSInputChecker
          hadoop.hdfs.server.namenode.TestNameNodeRpcServer
          hadoop.hdfs.server.namenode.TestDeadDatanode
          hadoop.hdfs.web.TestWebHdfsFileSystemContract
          hadoop.tracing.TestTraceAdmin
          hadoop.hdfs.server.namenode.TestCacheDirectives
          hadoop.hdfs.server.blockmanagement.TestPendingReplication
          hadoop.hdfs.TestGetBlocks
          hadoop.fs.TestFcHdfsPermission
          hadoop.fs.permission.TestStickyBit
          hadoop.hdfs.server.datanode.fsdataset.impl.TestRbwSpaceReservation
          hadoop.hdfs.TestPipelines
          hadoop.hdfs.TestRollingUpgrade
          hadoop.hdfs.server.datanode.TestDataNodeECN
          hadoop.hdfs.server.namenode.TestProcessCorruptBlocks
          hadoop.hdfs.server.namenode.TestEditLogRace
          hadoop.hdfs.TestAppendDifferentChecksum
          hadoop.hdfs.server.blockmanagement.TestPendingInvalidateBlock
          hadoop.hdfs.server.namenode.ha.TestEditLogTailer
          hadoop.hdfs.server.balancer.TestBalancer
          hadoop.hdfs.TestRenameWhileOpen
          hadoop.hdfs.server.namenode.TestValidateConfigurationSettings
          hadoop.hdfs.TestLease
          hadoop.hdfs.server.namenode.TestFsLimits
          hadoop.hdfs.server.blockmanagement.TestReplicationPolicy
          hadoop.hdfs.server.namenode.TestFSDirectory
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotStatsMXBean
          hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistLockedMemory
          hadoop.hdfs.TestBlockStoragePolicy
          hadoop.hdfs.server.datanode.TestBlockRecovery
          hadoop.hdfs.TestDisableConnCache
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotReplication
          hadoop.hdfs.tools.offlineEditsViewer.TestOfflineEditsViewer
          hadoop.hdfs.TestBlockMissingException
          hadoop.hdfs.TestFileCreationDelete
          hadoop.hdfs.TestParallelShortCircuitLegacyRead
          hadoop.hdfs.server.namenode.TestSecurityTokenEditLog
          hadoop.hdfs.server.datanode.fsdataset.impl.TestInterDatanodeProtocol
          hadoop.hdfs.TestGetFileChecksum
          hadoop.hdfs.server.namenode.TestNNThroughputBenchmark
          hadoop.hdfs.TestConnCache
          hadoop.hdfs.server.namenode.ha.TestHAMetrics
          hadoop.hdfs.server.balancer.TestBalancerWithNodeGroup
          hadoop.tracing.TestTracingShortCircuitLocalRead
          hadoop.hdfs.TestDecommission
          hadoop.hdfs.TestDFSUpgrade
          hadoop.hdfs.TestBlockReaderFactory
          hadoop.cli.TestXAttrCLI
          hadoop.hdfs.server.namenode.ha.TestFailureToReadEdits
          hadoop.hdfs.server.namenode.TestFSImage
          hadoop.hdfs.TestModTime
          hadoop.hdfs.server.namenode.TestBlockPlacementPolicyRackFaultTolerant
          hadoop.hdfs.server.namenode.ha.TestXAttrsWithHA
          hadoop.hdfs.server.namenode.TestTransferFsImage
          hadoop.hdfs.server.datanode.TestDataNodeMultipleRegistrations
          hadoop.hdfs.server.namenode.TestNameNodeMXBean
          hadoop.fs.shell.TestHdfsTextCommand
          hadoop.hdfs.TestDFSMkdirs
          hadoop.hdfs.TestFileStatus
          hadoop.hdfs.server.datanode.TestDiskError
          hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForContentSummary
          hadoop.hdfs.server.namenode.ha.TestBootstrapStandbyWithQJM
          hadoop.hdfs.server.namenode.snapshot.TestCheckpointsWithSnapshots
          hadoop.hdfs.tools.TestStoragePolicyCommands
          hadoop.hdfs.web.TestWebHdfsTokens
          hadoop.hdfs.server.datanode.TestIncrementalBrVariations
          hadoop.hdfs.TestDatanodeLayoutUpgrade
          hadoop.hdfs.util.TestByteArrayManager
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotDeletion
          hadoop.hdfs.server.namenode.ha.TestInitializeSharedEdits
          hadoop.hdfs.TestParallelUnixDomainRead
          hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot
          hadoop.hdfs.tools.TestDFSAdminWithHA
          hadoop.hdfs.client.impl.TestLeaseRenewer
          hadoop.fs.viewfs.TestViewFileSystemAtHdfsRoot
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotDiffReport
          hadoop.hdfs.TestMissingBlocksAlert
          hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureReporting
          hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForXAttr
          hadoop.hdfs.TestDatanodeDeath
          hadoop.hdfs.server.namenode.TestAuditLogs
          hadoop.hdfs.server.datanode.TestBlockHasMultipleReplicasOnSameDN
          hadoop.hdfs.TestListFilesInFileContext
          hadoop.hdfs.server.namenode.ha.TestFailoverWithBlockTokensEnabled
          hadoop.hdfs.TestFileAppend
          hadoop.hdfs.server.namenode.TestEditLogJournalFailures
          hadoop.hdfs.TestAppendSnapshotTruncate
          hadoop.fs.viewfs.TestViewFileSystemHdfs
          hadoop.hdfs.TestFsShellPermission
          hadoop.hdfs.server.namenode.TestEditLog
          hadoop.security.TestPermissionSymlinks
          hadoop.hdfs.server.namenode.TestFavoredNodesEndToEnd
          hadoop.hdfs.server.datanode.web.dtp.TestDtpHttp2
          hadoop.hdfs.server.blockmanagement.TestHeartbeatHandling
          hadoop.hdfs.server.namenode.snapshot.TestFileContextSnapshot
          hadoop.hdfs.server.namenode.TestFileContextAcl
          hadoop.hdfs.server.namenode.ha.TestDNFencingWithReplication
          hadoop.hdfs.server.namenode.TestMetaSave
          hadoop.fs.TestUrlStreamHandler
          hadoop.hdfs.TestRollingUpgradeRollback
          hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFS
          hadoop.hdfs.server.namenode.TestEditLogAutoroll
          hadoop.tools.TestHdfsConfigFields
          hadoop.hdfs.server.blockmanagement.TestComputeInvalidateWork
          hadoop.hdfs.qjournal.server.TestJournalNodeMXBean
          hadoop.hdfs.TestDFSUpgradeFromImage
          hadoop.hdfs.server.namenode.ha.TestEditLogsDuringFailover
          hadoop.hdfs.server.namenode.TestClusterId
          hadoop.hdfs.TestHDFSFileSystemContract
          hadoop.hdfs.tools.TestGetGroups
          hadoop.fs.TestSymlinkHdfsDisable
          hadoop.hdfs.server.namenode.metrics.TestNNMetricFilesInGetListingOps
          hadoop.hdfs.server.namenode.TestFSImageWithSnapshot
          hadoop.hdfs.TestEncryptedTransfer
          hadoop.hdfs.server.blockmanagement.TestBlockManager
          hadoop.hdfs.server.namenode.ha.TestHAConfiguration
          hadoop.hdfs.TestWriteConfigurationToDFS
          hadoop.hdfs.server.namenode.TestFSNamesystemMBean
          hadoop.hdfs.TestExternalBlockReader
          hadoop.hdfs.server.namenode.TestStartup
          hadoop.hdfs.server.namenode.TestINodeAttributeProvider
          hadoop.hdfs.server.namenode.TestParallelImageWrite
          hadoop.hdfs.server.namenode.TestFileLimit
          hadoop.fs.viewfs.TestViewFsHdfs
          hadoop.hdfs.TestHdfsAdmin
          hadoop.hdfs.tools.TestDFSHAAdminMiniCluster
          hadoop.hdfs.TestParallelShortCircuitRead
          hadoop.hdfs.server.datanode.fsdataset.impl.TestDatanodeRestart
          hadoop.hdfs.TestReadWhileWriting
          hadoop.hdfs.server.namenode.ha.TestDNFencing
          hadoop.hdfs.server.namenode.TestCommitBlockSynchronization
          hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewer
          hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes
          hadoop.hdfs.shortcircuit.TestShortCircuitLocalRead
          hadoop.hdfs.qjournal.TestMiniJournalCluster
          hadoop.hdfs.server.namenode.TestFileContextXAttr
          hadoop.hdfs.security.token.block.TestBlockToken
          hadoop.hdfs.server.namenode.TestLargeDirectoryDelete
          hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureToleration
          hadoop.hdfs.TestHDFSServerPorts
          hadoop.hdfs.protocolPB.TestPBHelper
          hadoop.hdfs.server.namenode.TestHostsFiles
          hadoop.hdfs.server.namenode.snapshot.TestSnapshotListing
          hadoop.hdfs.server.blockmanagement.TestBlocksWithNotEnoughRacks
          hadoop.hdfs.security.TestDelegationTokenForProxyUser
          hadoop.tracing.TestTracing
          hadoop.hdfs.server.namenode.TestNameNodeRespectsBindHostKeys
          hadoop.cli.TestHDFSCLI
          hadoop.hdfs.TestFileAppend3
          hadoop.hdfs.tools.TestDebugAdmin
          hadoop.hdfs.TestWriteBlockGetsBlockLengthHint
          hadoop.hdfs.TestDFSAddressConfig
          hadoop.hdfs.web.TestWebHDFSXAttr
          hadoop.hdfs.server.namenode.TestNameNodeHttpServer
          hadoop.hdfs.server.datanode.TestRefreshNamenodes
          hadoop.hdfs.TestListFilesInDFS
          hadoop.hdfs.server.namenode.TestNamenodeRetryCache
          hadoop.hdfs.server.blockmanagement.TestSequentialBlockId
          hadoop.hdfs.TestIsMethodSupported
          hadoop.security.TestPermission
          hadoop.hdfs.server.namenode.TestFSEditLogLoader
          hadoop.hdfs.server.namenode.TestNameNodeAcl
          hadoop.hdfs.server.namenode.TestFileTruncate
          hadoop.fs.loadGenerator.TestLoadGenerator
          hadoop.hdfs.server.namenode.ha.TestHASafeMode
          hadoop.hdfs.server.namenode.TestNameNodeMetricsLogger
          hadoop.TestRefreshCallQueue
          hadoop.net.TestNetworkTopology
          hadoop.hdfs.server.datanode.TestDataNodeUUID
          hadoop.hdfs.server.namenode.TestMalformedURLs
          hadoop.hdfs.server.namenode.TestDefaultBlockPlacementPolicy
          hadoop.hdfs.tools.TestDFSAdmin
          hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaPlacement
          hadoop.fs.TestUnbuffer
          hadoop.hdfs.server.namenode.TestNameNodeRetryCacheMetrics
          hadoop.hdfs.TestDatanodeConfig
          hadoop.cli.TestAclCLI
          hadoop.hdfs.server.namenode.TestHDFSConcat
          hadoop.security.TestRefreshUserMappings
          hadoop.hdfs.TestFileConcurrentReader
          hadoop.hdfs.server.namenode.TestSecureNameNode
          hadoop.hdfs.TestDatanodeStartupFixesLegacyStorageIDs
          hadoop.hdfs.TestFileCreationClient
          hadoop.hdfs.TestDatanodeReport
          hadoop.hdfs.server.datanode.TestDataNodeRollingUpgrade
          hadoop.hdfs.TestDFSStartupVersions
          hadoop.hdfs.server.datanode.TestFsDatasetCache
          hadoop.hdfs.server.namenode.TestAclConfigFlag
          hadoop.hdfs.server.namenode.TestBackupNode
          hadoop.hdfs.server.namenode.TestINodeFile
          hadoop.cli.TestCacheAdminCLI
          hadoop.hdfs.TestReplaceDatanodeOnFailure
          hadoop.hdfs.TestDFSClientExcludedNodes
          hadoop.hdfs.server.datanode.TestCachingStrategy
          hadoop.hdfs.server.blockmanagement.TestNameNodePrunesMissingStorages
          hadoop.hdfs.server.namenode.ha.TestHAAppend
          hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate
          hadoop.hdfs.server.datanode.TestBlockReplacement
          hadoop.hdfs.TestCrcCorruption
          hadoop.hdfs.server.datanode.TestNNHandlesCombinedBlockReport
          hadoop.hdfs.server.namenode.ha.TestQuotasWithHA
          hadoop.hdfs.server.blockmanagement.TestRBWBlockInvalidation
          hadoop.hdfs.TestDFSInputStream
          hadoop.TestGenericRefresh
          hadoop.hdfs.server.datanode.TestDataNodeExit
          hadoop.hdfs.TestDFSClientFailover
          hadoop.hdfs.TestParallelShortCircuitReadUnCached
          hadoop.hdfs.server.namenode.TestNameEditsConfigs
          hadoop.hdfs.util.TestExactSizeInputStream
          hadoop.hdfs.TestAbandonBlock
          hadoop.hdfs.TestDFSShell
          hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaRecovery
          hadoop.hdfs.TestMultiThreadedHflush
          hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics
          hadoop.hdfs.shortcircuit.TestShortCircuitShm
          hadoop.fs.TestWebHdfsFileContextMainOperations
          hadoop.hdfs.protocol.datatransfer.sasl.TestSaslDataTransfer
          hadoop.hdfs.server.namenode.ha.TestRemoteNameNodeInfo
          hadoop.fs.viewfs.TestViewFsDefaultValue
          hadoop.hdfs.TestDFSRename
          hadoop.fs.TestSymlinkHdfsFileSystem
          hadoop.hdfs.server.namenode.snapshot.TestAclWithSnapshot
          hadoop.hdfs.TestRemoteBlockReader2
          hadoop.hdfs.TestRemoteBlockReader
          hadoop.hdfs.TestParallelShortCircuitReadNoChecksum
          hadoop.hdfs.TestFileCorruption
          hadoop.hdfs.TestBalancerBandwidth
          hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForAcl
          hadoop.hdfs.protocol.TestBlockListAsLongs
          hadoop.hdfs.server.datanode.TestBlockScanner
          hadoop.hdfs.server.namenode.TestAuditLogger
          hadoop.hdfs.server.datanode.TestTransferRbw
          hadoop.hdfs.TestSetrepDecreasing
          hadoop.hdfs.server.namenode.snapshot.TestSnapshot
          hadoop.hdfs.TestRollingUpgradeDowngrade
          hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyWriter
          hadoop.hdfs.TestHFlush
          hadoop.hdfs.TestRead
          hadoop.hdfs.server.datanode.TestFsDatasetCacheRevocation
          hadoop.hdfs.server.balancer.TestBalancerWithEncryptedTransfer
          hadoop.hdfs.qjournal.client.TestEpochsAreUnique
          hadoop.hdfs.server.datanode.TestDataXceiverLazyPersistHint
          hadoop.hdfs.TestPread
          hadoop.hdfs.server.datanode.fsdataset.impl.TestScrLazyPersistFiles
          hadoop.hdfs.TestDFSInotifyEventInputStream
          hadoop.hdfs.server.namenode.snapshot.TestINodeFileUnderConstructionWithSnapshot
          hadoop.hdfs.TestPersistBlocks
          hadoop.hdfs.server.namenode.TestSaveNamespace
          hadoop.hdfs.TestQuota
          hadoop.hdfs.server.namenode.ha.TestHarFileSystemWithHA
          hadoop.hdfs.server.namenode.TestNameNodeRecovery
          hadoop.hdfs.TestInjectionForSimulatedStorage
          hadoop.hdfs.server.blockmanagement.TestReplicationPolicyConsiderLoad
          hadoop.hdfs.TestFileLengthOnClusterRestart



        Subsystem Report/Notes
        Patch URL http://issues.apache.org/jira/secure/attachment/12752913/HDFS-8393.02.patch
        Optional Tests javadoc javac unit findbugs checkstyle
        git revision trunk / 035ed26
        Pre-patch Findbugs warnings https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/trunkFindbugsWarningshadoop-hdfs.html
        javac https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/diffJavacWarnings.txt
        whitespace https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/whitespace.txt
        hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/testrun_hadoop-common.txt
        hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/testrun_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12185/testReport/
        Java 1.7.0_55
        uname Linux asf902.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/12185/console

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment -1 pre-patch 21m 5s Pre-patch trunk has 2 extant Findbugs (version 3.0.0) warnings. +1 @author 0m 0s The patch does not contain any @author tags. +1 tests included 0m 0s The patch appears to include 1 new or modified test files. -1 javac 7m 42s The applied patch generated 1 additional warning messages. +1 javadoc 10m 2s There were no new javadoc warning messages. +1 release audit 0m 22s The applied patch does not increase the total number of release audit warnings. +1 checkstyle 2m 4s There were no new checkstyle issues. -1 whitespace 0m 0s The patch has 3 line(s) that end in whitespace. Use git apply --whitespace=fix. +1 install 1m 35s mvn install still works. +1 eclipse:eclipse 0m 32s The patch built with eclipse:eclipse. +1 findbugs 4m 28s The patch does not introduce any new Findbugs (version 3.0.0) warnings. +1 common tests 22m 53s Tests passed in hadoop-common. -1 hdfs tests 19m 21s Tests failed in hadoop-hdfs.     90m 15s   Reason Tests Failed unit tests hadoop.hdfs.server.namenode.TestSecondaryNameNodeUpgrade   hadoop.hdfs.server.namenode.web.resources.TestWebHdfsDataLocality   hadoop.hdfs.TestDFSRemove   hadoop.hdfs.TestHttpPolicy   hadoop.hdfs.server.datanode.TestDataNodeMetrics   hadoop.fs.viewfs.TestViewFsAtHdfsRoot   hadoop.hdfs.server.datanode.TestStorageReport   hadoop.hdfs.web.TestWebHDFSForHA   hadoop.fs.TestEnhancedByteBufferAccess   hadoop.hdfs.server.namenode.TestGenericJournalConf   hadoop.cli.TestCryptoAdminCLI   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistFiles   hadoop.hdfs.qjournal.client.TestQuorumJournalManager   hadoop.hdfs.server.datanode.TestDataNodeHotSwapVolumes   hadoop.hdfs.TestSetrepIncreasing   hadoop.hdfs.server.namenode.TestSecondaryWebUi   hadoop.hdfs.TestFetchImage   hadoop.hdfs.server.namenode.ha.TestHAStateTransitions   hadoop.hdfs.server.namenode.TestGetBlockLocations   hadoop.hdfs.server.datanode.TestReadOnlySharedStorage   hadoop.hdfs.server.namenode.snapshot.TestUpdatePipelineWithSnapshots   hadoop.hdfs.web.TestHttpsFileSystem   hadoop.fs.viewfs.TestViewFsFileStatusHdfs   hadoop.hdfs.server.namenode.TestMetadataVersionOutput   hadoop.hdfs.server.namenode.snapshot.TestSnapshotNameWithInvalidCharacters   hadoop.hdfs.TestFileCreationEmpty   hadoop.hdfs.server.namenode.TestNameNodeResourceChecker   hadoop.hdfs.TestMiniDFSCluster   hadoop.hdfs.TestDFSClientRetries   hadoop.hdfs.TestEncryptionZonesWithKMS   hadoop.hdfs.TestReplication   hadoop.fs.viewfs.TestViewFsWithXAttrs   hadoop.hdfs.server.namenode.TestCheckpoint   hadoop.hdfs.TestDFSOutputStream   hadoop.hdfs.server.datanode.fsdataset.impl.TestWriteToReplica   hadoop.hdfs.TestDFSConfigKeys   hadoop.hdfs.TestClientBlockVerification   hadoop.hdfs.TestDFSRollback   hadoop.hdfs.server.namenode.ha.TestPendingCorruptDnMessages   hadoop.hdfs.server.namenode.snapshot.TestXAttrWithSnapshot   hadoop.hdfs.server.namenode.TestCreateEditsLog   hadoop.tools.TestJMXGet   hadoop.hdfs.server.namenode.ha.TestGetGroupsWithHA   hadoop.hdfs.TestParallelRead   hadoop.hdfs.TestHDFSTrash   hadoop.hdfs.tools.TestDelegationTokenFetcher   hadoop.hdfs.server.blockmanagement.TestBlockReportRateLimiting   hadoop.hdfs.server.namenode.TestQuotaByStorageType   hadoop.hdfs.web.TestJsonUtil   hadoop.hdfs.server.namenode.TestBlockUnderConstruction   hadoop.hdfs.server.datanode.TestIncrementalBlockReports   hadoop.hdfs.TestWriteRead   hadoop.hdfs.TestFileAppend4   hadoop.hdfs.web.TestFSMainOperationsWebHdfs   hadoop.hdfs.TestSnapshotCommands   hadoop.hdfs.TestBlocksScheduledCounter   hadoop.hdfs.TestDFSUtil   hadoop.hdfs.web.TestWebHdfsWithMultipleNameNodes   hadoop.hdfs.TestDFSShellGenericOptions   hadoop.hdfs.server.datanode.TestNNHandlesBlockReportPerStorage   hadoop.hdfs.TestDataTransferKeepalive   hadoop.hdfs.TestClientProtocolForPipelineRecovery   hadoop.hdfs.crypto.TestHdfsCryptoStreams   hadoop.hdfs.TestLeaseRecovery2   hadoop.hdfs.TestFSOutputSummer   hadoop.hdfs.TestDFSFinalize   hadoop.hdfs.server.namenode.TestDeleteRace   hadoop.hdfs.server.namenode.TestAddBlockRetry   hadoop.hdfs.server.namenode.TestCheckPointForSecurityTokens   hadoop.hdfs.TestLargeBlock   hadoop.hdfs.server.namenode.snapshot.TestSnapshotFileLength   hadoop.hdfs.TestEncryptionZonesWithHA   hadoop.hdfs.server.namenode.TestListCorruptFileBlocks   hadoop.hdfs.qjournal.server.TestJournalNode   hadoop.hdfs.server.datanode.TestDnRespectsBlockReportSplitThreshold   hadoop.hdfs.server.namenode.ha.TestStandbyIsHot   hadoop.hdfs.server.namenode.snapshot.TestSnapshotBlocksMap   hadoop.hdfs.TestReservedRawPaths   hadoop.hdfs.server.balancer.TestBalancerWithSaslDataTransfer   hadoop.hdfs.server.namenode.TestAddBlock   hadoop.hdfs.server.namenode.ha.TestPipelinesFailover   hadoop.hdfs.server.blockmanagement.TestReplicationPolicyWithNodeGroup   hadoop.hdfs.server.balancer.TestBalancerWithHANameNodes   hadoop.hdfs.server.blockmanagement.TestUnderReplicatedBlocks   hadoop.hdfs.TestDFSStorageStateRecovery   hadoop.hdfs.web.TestWebHdfsWithAuthenticationFilter   hadoop.hdfs.server.datanode.TestDataNodeVolumeFailure   hadoop.hdfs.server.namenode.ha.TestNNHealthCheck   hadoop.hdfs.server.namenode.TestFSNamesystem   hadoop.hdfs.server.namenode.TestFSImageWithXAttr   hadoop.hdfs.server.namenode.ha.TestStandbyCheckpoints   hadoop.hdfs.server.namenode.snapshot.TestDisallowModifyROSnapshot   hadoop.hdfs.TestLocalDFS   hadoop.hdfs.server.namenode.TestSnapshotPathINodes   hadoop.hdfs.server.namenode.TestFSImageWithAcl   hadoop.hdfs.server.namenode.snapshot.TestSnapshottableDirListing   hadoop.hdfs.server.datanode.TestDirectoryScanner   hadoop.hdfs.TestRestartDFS   hadoop.hdfs.server.blockmanagement.TestBlockStatsMXBean   hadoop.hdfs.TestDataTransferProtocol   hadoop.hdfs.server.datanode.TestDeleteBlockPool   hadoop.hdfs.TestBlockReaderLocal   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistPolicy   hadoop.hdfs.server.namenode.snapshot.TestNestedSnapshots   hadoop.hdfs.TestDFSPermission   hadoop.hdfs.server.namenode.ha.TestBootstrapStandby   hadoop.hdfs.qjournal.TestSecureNNWithQJM   hadoop.hdfs.server.datanode.TestDataNodeInitStorage   hadoop.hdfs.server.namenode.ha.TestDFSUpgradeWithHA   hadoop.hdfs.shortcircuit.TestShortCircuitCache   hadoop.hdfs.server.namenode.TestProtectedDirectories   hadoop.hdfs.server.datanode.TestDataNodeMXBean   hadoop.hdfs.server.namenode.TestXAttrConfigFlag   hadoop.hdfs.server.namenode.ha.TestDelegationTokensWithHA   hadoop.hdfs.server.mover.TestStorageMover   hadoop.hdfs.server.namenode.snapshot.TestRenameWithSnapshots   hadoop.hdfs.web.TestWebHDFS   hadoop.hdfs.server.namenode.TestFsckWithMultipleNameNodes   hadoop.hdfs.server.mover.TestMover   hadoop.hdfs.security.TestDelegationToken   hadoop.hdfs.TestSafeMode   hadoop.hdfs.TestFileCreation   hadoop.hdfs.server.namenode.snapshot.TestSnapshotMetrics   hadoop.hdfs.server.balancer.TestBalancerWithMultipleNameNodes   hadoop.fs.TestHDFSFileContextMainOperations   hadoop.hdfs.server.datanode.fsdataset.impl.TestFsDatasetImpl   hadoop.hdfs.server.namenode.ha.TestStandbyBlockManagement   hadoop.hdfs.TestDistributedFileSystem   hadoop.hdfs.TestDatanodeRegistration   hadoop.hdfs.TestPeerCache   hadoop.hdfs.TestSmallBlock   hadoop.hdfs.TestEncryptionZones   hadoop.hdfs.server.blockmanagement.TestOverReplicatedBlocks   hadoop.hdfs.server.datanode.TestDatanodeProtocolRetryPolicy   hadoop.hdfs.server.datanode.TestHSync   hadoop.hdfs.qjournal.TestNNWithQJM   hadoop.hdfs.server.namenode.TestNameNodeXAttr   hadoop.hdfs.server.namenode.snapshot.TestSetQuotaWithSnapshot   hadoop.hdfs.TestFileAppendRestart   hadoop.hdfs.server.namenode.ha.TestRetryCacheWithHA   hadoop.hdfs.server.namenode.TestNNStorageRetentionFunctional   hadoop.hdfs.TestBlockReaderLocalLegacy   hadoop.hdfs.server.namenode.TestNamenodeCapacityReport   hadoop.hdfs.web.TestWebHDFSAcl   hadoop.hdfs.server.namenode.TestStorageRestore   hadoop.hdfs.TestClientReportBadBlock   hadoop.hdfs.server.namenode.ha.TestStateTransitionFailure   hadoop.hdfs.server.namenode.TestFsck   hadoop.hdfs.server.namenode.TestAllowFormat   hadoop.hdfs.TestClose   hadoop.hdfs.server.namenode.ha.TestHAFsck   hadoop.hdfs.server.blockmanagement.TestNodeCount   hadoop.hdfs.TestSeekBug   hadoop.hdfs.TestFileAppend2   hadoop.hdfs.TestLeaseRecovery   hadoop.hdfs.server.namenode.ha.TestLossyRetryInvocationHandler   hadoop.hdfs.TestSetTimes   hadoop.hdfs.server.blockmanagement.TestAvailableSpaceBlockPlacementPolicy   hadoop.hdfs.server.namenode.TestDecommissioningStatus   hadoop.hdfs.server.namenode.snapshot.TestSnapshotRename   hadoop.hdfs.tools.TestDFSZKFailoverController   hadoop.hdfs.qjournal.client.TestQJMWithFaults   hadoop.hdfs.server.namenode.ha.TestFailureOfSharedDir   hadoop.hdfs.server.datanode.TestTriggerBlockReport   hadoop.hdfs.TestFSInputChecker   hadoop.hdfs.server.namenode.TestNameNodeRpcServer   hadoop.hdfs.server.namenode.TestDeadDatanode   hadoop.hdfs.web.TestWebHdfsFileSystemContract   hadoop.tracing.TestTraceAdmin   hadoop.hdfs.server.namenode.TestCacheDirectives   hadoop.hdfs.server.blockmanagement.TestPendingReplication   hadoop.hdfs.TestGetBlocks   hadoop.fs.TestFcHdfsPermission   hadoop.fs.permission.TestStickyBit   hadoop.hdfs.server.datanode.fsdataset.impl.TestRbwSpaceReservation   hadoop.hdfs.TestPipelines   hadoop.hdfs.TestRollingUpgrade   hadoop.hdfs.server.datanode.TestDataNodeECN   hadoop.hdfs.server.namenode.TestProcessCorruptBlocks   hadoop.hdfs.server.namenode.TestEditLogRace   hadoop.hdfs.TestAppendDifferentChecksum   hadoop.hdfs.server.blockmanagement.TestPendingInvalidateBlock   hadoop.hdfs.server.namenode.ha.TestEditLogTailer   hadoop.hdfs.server.balancer.TestBalancer   hadoop.hdfs.TestRenameWhileOpen   hadoop.hdfs.server.namenode.TestValidateConfigurationSettings   hadoop.hdfs.TestLease   hadoop.hdfs.server.namenode.TestFsLimits   hadoop.hdfs.server.blockmanagement.TestReplicationPolicy   hadoop.hdfs.server.namenode.TestFSDirectory   hadoop.hdfs.server.namenode.snapshot.TestSnapshotStatsMXBean   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistLockedMemory   hadoop.hdfs.TestBlockStoragePolicy   hadoop.hdfs.server.datanode.TestBlockRecovery   hadoop.hdfs.TestDisableConnCache   hadoop.hdfs.server.namenode.snapshot.TestSnapshotReplication   hadoop.hdfs.tools.offlineEditsViewer.TestOfflineEditsViewer   hadoop.hdfs.TestBlockMissingException   hadoop.hdfs.TestFileCreationDelete   hadoop.hdfs.TestParallelShortCircuitLegacyRead   hadoop.hdfs.server.namenode.TestSecurityTokenEditLog   hadoop.hdfs.server.datanode.fsdataset.impl.TestInterDatanodeProtocol   hadoop.hdfs.TestGetFileChecksum   hadoop.hdfs.server.namenode.TestNNThroughputBenchmark   hadoop.hdfs.TestConnCache   hadoop.hdfs.server.namenode.ha.TestHAMetrics   hadoop.hdfs.server.balancer.TestBalancerWithNodeGroup   hadoop.tracing.TestTracingShortCircuitLocalRead   hadoop.hdfs.TestDecommission   hadoop.hdfs.TestDFSUpgrade   hadoop.hdfs.TestBlockReaderFactory   hadoop.cli.TestXAttrCLI   hadoop.hdfs.server.namenode.ha.TestFailureToReadEdits   hadoop.hdfs.server.namenode.TestFSImage   hadoop.hdfs.TestModTime   hadoop.hdfs.server.namenode.TestBlockPlacementPolicyRackFaultTolerant   hadoop.hdfs.server.namenode.ha.TestXAttrsWithHA   hadoop.hdfs.server.namenode.TestTransferFsImage   hadoop.hdfs.server.datanode.TestDataNodeMultipleRegistrations   hadoop.hdfs.server.namenode.TestNameNodeMXBean   hadoop.fs.shell.TestHdfsTextCommand   hadoop.hdfs.TestDFSMkdirs   hadoop.hdfs.TestFileStatus   hadoop.hdfs.server.datanode.TestDiskError   hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForContentSummary   hadoop.hdfs.server.namenode.ha.TestBootstrapStandbyWithQJM   hadoop.hdfs.server.namenode.snapshot.TestCheckpointsWithSnapshots   hadoop.hdfs.tools.TestStoragePolicyCommands   hadoop.hdfs.web.TestWebHdfsTokens   hadoop.hdfs.server.datanode.TestIncrementalBrVariations   hadoop.hdfs.TestDatanodeLayoutUpgrade   hadoop.hdfs.util.TestByteArrayManager   hadoop.hdfs.server.namenode.snapshot.TestSnapshotDeletion   hadoop.hdfs.server.namenode.ha.TestInitializeSharedEdits   hadoop.hdfs.TestParallelUnixDomainRead   hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot   hadoop.hdfs.tools.TestDFSAdminWithHA   hadoop.hdfs.client.impl.TestLeaseRenewer   hadoop.fs.viewfs.TestViewFileSystemAtHdfsRoot   hadoop.hdfs.server.namenode.snapshot.TestSnapshotDiffReport   hadoop.hdfs.TestMissingBlocksAlert   hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureReporting   hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForXAttr   hadoop.hdfs.TestDatanodeDeath   hadoop.hdfs.server.namenode.TestAuditLogs   hadoop.hdfs.server.datanode.TestBlockHasMultipleReplicasOnSameDN   hadoop.hdfs.TestListFilesInFileContext   hadoop.hdfs.server.namenode.ha.TestFailoverWithBlockTokensEnabled   hadoop.hdfs.TestFileAppend   hadoop.hdfs.server.namenode.TestEditLogJournalFailures   hadoop.hdfs.TestAppendSnapshotTruncate   hadoop.fs.viewfs.TestViewFileSystemHdfs   hadoop.hdfs.TestFsShellPermission   hadoop.hdfs.server.namenode.TestEditLog   hadoop.security.TestPermissionSymlinks   hadoop.hdfs.server.namenode.TestFavoredNodesEndToEnd   hadoop.hdfs.server.datanode.web.dtp.TestDtpHttp2   hadoop.hdfs.server.blockmanagement.TestHeartbeatHandling   hadoop.hdfs.server.namenode.snapshot.TestFileContextSnapshot   hadoop.hdfs.server.namenode.TestFileContextAcl   hadoop.hdfs.server.namenode.ha.TestDNFencingWithReplication   hadoop.hdfs.server.namenode.TestMetaSave   hadoop.fs.TestUrlStreamHandler   hadoop.hdfs.TestRollingUpgradeRollback   hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFS   hadoop.hdfs.server.namenode.TestEditLogAutoroll   hadoop.tools.TestHdfsConfigFields   hadoop.hdfs.server.blockmanagement.TestComputeInvalidateWork   hadoop.hdfs.qjournal.server.TestJournalNodeMXBean   hadoop.hdfs.TestDFSUpgradeFromImage   hadoop.hdfs.server.namenode.ha.TestEditLogsDuringFailover   hadoop.hdfs.server.namenode.TestClusterId   hadoop.hdfs.TestHDFSFileSystemContract   hadoop.hdfs.tools.TestGetGroups   hadoop.fs.TestSymlinkHdfsDisable   hadoop.hdfs.server.namenode.metrics.TestNNMetricFilesInGetListingOps   hadoop.hdfs.server.namenode.TestFSImageWithSnapshot   hadoop.hdfs.TestEncryptedTransfer   hadoop.hdfs.server.blockmanagement.TestBlockManager   hadoop.hdfs.server.namenode.ha.TestHAConfiguration   hadoop.hdfs.TestWriteConfigurationToDFS   hadoop.hdfs.server.namenode.TestFSNamesystemMBean   hadoop.hdfs.TestExternalBlockReader   hadoop.hdfs.server.namenode.TestStartup   hadoop.hdfs.server.namenode.TestINodeAttributeProvider   hadoop.hdfs.server.namenode.TestParallelImageWrite   hadoop.hdfs.server.namenode.TestFileLimit   hadoop.fs.viewfs.TestViewFsHdfs   hadoop.hdfs.TestHdfsAdmin   hadoop.hdfs.tools.TestDFSHAAdminMiniCluster   hadoop.hdfs.TestParallelShortCircuitRead   hadoop.hdfs.server.datanode.fsdataset.impl.TestDatanodeRestart   hadoop.hdfs.TestReadWhileWriting   hadoop.hdfs.server.namenode.ha.TestDNFencing   hadoop.hdfs.server.namenode.TestCommitBlockSynchronization   hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewer   hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes   hadoop.hdfs.shortcircuit.TestShortCircuitLocalRead   hadoop.hdfs.qjournal.TestMiniJournalCluster   hadoop.hdfs.server.namenode.TestFileContextXAttr   hadoop.hdfs.security.token.block.TestBlockToken   hadoop.hdfs.server.namenode.TestLargeDirectoryDelete   hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureToleration   hadoop.hdfs.TestHDFSServerPorts   hadoop.hdfs.protocolPB.TestPBHelper   hadoop.hdfs.server.namenode.TestHostsFiles   hadoop.hdfs.server.namenode.snapshot.TestSnapshotListing   hadoop.hdfs.server.blockmanagement.TestBlocksWithNotEnoughRacks   hadoop.hdfs.security.TestDelegationTokenForProxyUser   hadoop.tracing.TestTracing   hadoop.hdfs.server.namenode.TestNameNodeRespectsBindHostKeys   hadoop.cli.TestHDFSCLI   hadoop.hdfs.TestFileAppend3   hadoop.hdfs.tools.TestDebugAdmin   hadoop.hdfs.TestWriteBlockGetsBlockLengthHint   hadoop.hdfs.TestDFSAddressConfig   hadoop.hdfs.web.TestWebHDFSXAttr   hadoop.hdfs.server.namenode.TestNameNodeHttpServer   hadoop.hdfs.server.datanode.TestRefreshNamenodes   hadoop.hdfs.TestListFilesInDFS   hadoop.hdfs.server.namenode.TestNamenodeRetryCache   hadoop.hdfs.server.blockmanagement.TestSequentialBlockId   hadoop.hdfs.TestIsMethodSupported   hadoop.security.TestPermission   hadoop.hdfs.server.namenode.TestFSEditLogLoader   hadoop.hdfs.server.namenode.TestNameNodeAcl   hadoop.hdfs.server.namenode.TestFileTruncate   hadoop.fs.loadGenerator.TestLoadGenerator   hadoop.hdfs.server.namenode.ha.TestHASafeMode   hadoop.hdfs.server.namenode.TestNameNodeMetricsLogger   hadoop.TestRefreshCallQueue   hadoop.net.TestNetworkTopology   hadoop.hdfs.server.datanode.TestDataNodeUUID   hadoop.hdfs.server.namenode.TestMalformedURLs   hadoop.hdfs.server.namenode.TestDefaultBlockPlacementPolicy   hadoop.hdfs.tools.TestDFSAdmin   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaPlacement   hadoop.fs.TestUnbuffer   hadoop.hdfs.server.namenode.TestNameNodeRetryCacheMetrics   hadoop.hdfs.TestDatanodeConfig   hadoop.cli.TestAclCLI   hadoop.hdfs.server.namenode.TestHDFSConcat   hadoop.security.TestRefreshUserMappings   hadoop.hdfs.TestFileConcurrentReader   hadoop.hdfs.server.namenode.TestSecureNameNode   hadoop.hdfs.TestDatanodeStartupFixesLegacyStorageIDs   hadoop.hdfs.TestFileCreationClient   hadoop.hdfs.TestDatanodeReport   hadoop.hdfs.server.datanode.TestDataNodeRollingUpgrade   hadoop.hdfs.TestDFSStartupVersions   hadoop.hdfs.server.datanode.TestFsDatasetCache   hadoop.hdfs.server.namenode.TestAclConfigFlag   hadoop.hdfs.server.namenode.TestBackupNode   hadoop.hdfs.server.namenode.TestINodeFile   hadoop.cli.TestCacheAdminCLI   hadoop.hdfs.TestReplaceDatanodeOnFailure   hadoop.hdfs.TestDFSClientExcludedNodes   hadoop.hdfs.server.datanode.TestCachingStrategy   hadoop.hdfs.server.blockmanagement.TestNameNodePrunesMissingStorages   hadoop.hdfs.server.namenode.ha.TestHAAppend   hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate   hadoop.hdfs.server.datanode.TestBlockReplacement   hadoop.hdfs.TestCrcCorruption   hadoop.hdfs.server.datanode.TestNNHandlesCombinedBlockReport   hadoop.hdfs.server.namenode.ha.TestQuotasWithHA   hadoop.hdfs.server.blockmanagement.TestRBWBlockInvalidation   hadoop.hdfs.TestDFSInputStream   hadoop.TestGenericRefresh   hadoop.hdfs.server.datanode.TestDataNodeExit   hadoop.hdfs.TestDFSClientFailover   hadoop.hdfs.TestParallelShortCircuitReadUnCached   hadoop.hdfs.server.namenode.TestNameEditsConfigs   hadoop.hdfs.util.TestExactSizeInputStream   hadoop.hdfs.TestAbandonBlock   hadoop.hdfs.TestDFSShell   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaRecovery   hadoop.hdfs.TestMultiThreadedHflush   hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics   hadoop.hdfs.shortcircuit.TestShortCircuitShm   hadoop.fs.TestWebHdfsFileContextMainOperations   hadoop.hdfs.protocol.datatransfer.sasl.TestSaslDataTransfer   hadoop.hdfs.server.namenode.ha.TestRemoteNameNodeInfo   hadoop.fs.viewfs.TestViewFsDefaultValue   hadoop.hdfs.TestDFSRename   hadoop.fs.TestSymlinkHdfsFileSystem   hadoop.hdfs.server.namenode.snapshot.TestAclWithSnapshot   hadoop.hdfs.TestRemoteBlockReader2   hadoop.hdfs.TestRemoteBlockReader   hadoop.hdfs.TestParallelShortCircuitReadNoChecksum   hadoop.hdfs.TestFileCorruption   hadoop.hdfs.TestBalancerBandwidth   hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewerForAcl   hadoop.hdfs.protocol.TestBlockListAsLongs   hadoop.hdfs.server.datanode.TestBlockScanner   hadoop.hdfs.server.namenode.TestAuditLogger   hadoop.hdfs.server.datanode.TestTransferRbw   hadoop.hdfs.TestSetrepDecreasing   hadoop.hdfs.server.namenode.snapshot.TestSnapshot   hadoop.hdfs.TestRollingUpgradeDowngrade   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyWriter   hadoop.hdfs.TestHFlush   hadoop.hdfs.TestRead   hadoop.hdfs.server.datanode.TestFsDatasetCacheRevocation   hadoop.hdfs.server.balancer.TestBalancerWithEncryptedTransfer   hadoop.hdfs.qjournal.client.TestEpochsAreUnique   hadoop.hdfs.server.datanode.TestDataXceiverLazyPersistHint   hadoop.hdfs.TestPread   hadoop.hdfs.server.datanode.fsdataset.impl.TestScrLazyPersistFiles   hadoop.hdfs.TestDFSInotifyEventInputStream   hadoop.hdfs.server.namenode.snapshot.TestINodeFileUnderConstructionWithSnapshot   hadoop.hdfs.TestPersistBlocks   hadoop.hdfs.server.namenode.TestSaveNamespace   hadoop.hdfs.TestQuota   hadoop.hdfs.server.namenode.ha.TestHarFileSystemWithHA   hadoop.hdfs.server.namenode.TestNameNodeRecovery   hadoop.hdfs.TestInjectionForSimulatedStorage   hadoop.hdfs.server.blockmanagement.TestReplicationPolicyConsiderLoad   hadoop.hdfs.TestFileLengthOnClusterRestart Subsystem Report/Notes Patch URL http://issues.apache.org/jira/secure/attachment/12752913/HDFS-8393.02.patch Optional Tests javadoc javac unit findbugs checkstyle git revision trunk / 035ed26 Pre-patch Findbugs warnings https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/trunkFindbugsWarningshadoop-hdfs.html javac https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/diffJavacWarnings.txt whitespace https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/whitespace.txt hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/testrun_hadoop-common.txt hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12185/artifact/patchprocess/testrun_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12185/testReport/ Java 1.7.0_55 uname Linux asf902.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/12185/console This message was automatically generated.
        Hide
        hadoopqa Hadoop QA added a comment -



        -1 overall



        Vote Subsystem Runtime Comment
        0 pre-patch 19m 53s Pre-patch trunk compilation is healthy.
        +1 @author 0m 0s The patch does not contain any @author tags.
        +1 tests included 0m 0s The patch appears to include 1 new or modified test files.
        -1 javac 7m 53s The applied patch generated 1 additional warning messages.
        +1 javadoc 10m 10s There were no new javadoc warning messages.
        +1 release audit 0m 23s The applied patch does not increase the total number of release audit warnings.
        +1 checkstyle 2m 6s There were no new checkstyle issues.
        -1 whitespace 0m 0s The patch has 3 line(s) that end in whitespace. Use git apply --whitespace=fix.
        +1 install 1m 40s mvn install still works.
        +1 eclipse:eclipse 0m 33s The patch built with eclipse:eclipse.
        +1 findbugs 4m 31s The patch does not introduce any new Findbugs (version 3.0.0) warnings.
        +1 common tests 23m 2s Tests passed in hadoop-common.
        -1 hdfs tests 161m 55s Tests failed in hadoop-hdfs.
            232m 10s  



        Reason Tests
        Failed unit tests hadoop.hdfs.web.TestWebHdfsWithMultipleNameNodes
          hadoop.hdfs.server.namenode.TestNameNodeMetricsLogger
          hadoop.fs.permission.TestStickyBit



        Subsystem Report/Notes
        Patch URL http://issues.apache.org/jira/secure/attachment/12752913/HDFS-8393.02.patch
        Optional Tests javadoc javac unit findbugs checkstyle
        git revision trunk / beb65c9
        javac https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/diffJavacWarnings.txt
        whitespace https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/whitespace.txt
        hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/testrun_hadoop-common.txt
        hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/testrun_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12202/testReport/
        Java 1.7.0_55
        uname Linux asf904.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/12202/console

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 pre-patch 19m 53s Pre-patch trunk compilation is healthy. +1 @author 0m 0s The patch does not contain any @author tags. +1 tests included 0m 0s The patch appears to include 1 new or modified test files. -1 javac 7m 53s The applied patch generated 1 additional warning messages. +1 javadoc 10m 10s There were no new javadoc warning messages. +1 release audit 0m 23s The applied patch does not increase the total number of release audit warnings. +1 checkstyle 2m 6s There were no new checkstyle issues. -1 whitespace 0m 0s The patch has 3 line(s) that end in whitespace. Use git apply --whitespace=fix. +1 install 1m 40s mvn install still works. +1 eclipse:eclipse 0m 33s The patch built with eclipse:eclipse. +1 findbugs 4m 31s The patch does not introduce any new Findbugs (version 3.0.0) warnings. +1 common tests 23m 2s Tests passed in hadoop-common. -1 hdfs tests 161m 55s Tests failed in hadoop-hdfs.     232m 10s   Reason Tests Failed unit tests hadoop.hdfs.web.TestWebHdfsWithMultipleNameNodes   hadoop.hdfs.server.namenode.TestNameNodeMetricsLogger   hadoop.fs.permission.TestStickyBit Subsystem Report/Notes Patch URL http://issues.apache.org/jira/secure/attachment/12752913/HDFS-8393.02.patch Optional Tests javadoc javac unit findbugs checkstyle git revision trunk / beb65c9 javac https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/diffJavacWarnings.txt whitespace https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/whitespace.txt hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/testrun_hadoop-common.txt hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12202/artifact/patchprocess/testrun_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12202/testReport/ Java 1.7.0_55 uname Linux asf904.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/12202/console This message was automatically generated.
        Hide
        jnp Jitendra Nath Pandey added a comment -
        +      checkProtectedDescendants(fsd, src.endsWith(Path.SEPARATOR) ?
        +          src.substring(0, src.length() - 1) : src);
        
        • Is it possible to use normalizePath to get rid of the separator?
        +            protectedDirs.subSet(src + Path.SEPARATOR, src + "0")
        
        • This is clever, please put a comment why its correct. I guess because "0" is the next ascii character after "/"?

        The patch looks good otherwise.

        Show
        jnp Jitendra Nath Pandey added a comment - + checkProtectedDescendants(fsd, src.endsWith(Path.SEPARATOR) ? + src.substring(0, src.length() - 1) : src); Is it possible to use normalizePath to get rid of the separator? + protectedDirs.subSet(src + Path.SEPARATOR, src + "0" ) This is clever, please put a comment why its correct. I guess because "0" is the next ascii character after "/"? The patch looks good otherwise.
        Hide
        hadoopqa Hadoop QA added a comment -



        -1 overall



        Vote Subsystem Runtime Comment
        -1 pre-patch 17m 32s Findbugs (version ) appears to be broken on trunk.
        +1 @author 0m 0s The patch does not contain any @author tags.
        +1 tests included 0m 0s The patch appears to include 1 new or modified test files.
        +1 javac 7m 46s There were no new javac warning messages.
        +1 javadoc 10m 4s There were no new javadoc warning messages.
        +1 release audit 0m 23s The applied patch does not increase the total number of release audit warnings.
        +1 checkstyle 1m 43s There were no new checkstyle issues.
        +1 whitespace 0m 0s The patch has no lines that end in whitespace.
        +1 install 1m 41s mvn install still works.
        +1 eclipse:eclipse 0m 34s The patch built with eclipse:eclipse.
        +1 findbugs 4m 24s The patch does not introduce any new Findbugs (version 3.0.0) warnings.
        +1 common tests 23m 34s Tests passed in hadoop-common.
        -1 hdfs tests 171m 1s Tests failed in hadoop-hdfs.
            238m 49s  



        Reason Tests
        Failed unit tests hadoop.hdfs.server.namenode.TestFileTruncate
          hadoop.hdfs.web.TestWebHDFSForHA
        Timed out tests org.apache.hadoop.hdfs.server.namenode.TestFsck
          org.apache.hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes



        Subsystem Report/Notes
        Patch URL http://issues.apache.org/jira/secure/attachment/12753080/HDFS-8983.03.patch
        Optional Tests javadoc javac unit findbugs checkstyle
        git revision trunk / e2c9b28
        hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12206/artifact/patchprocess/testrun_hadoop-common.txt
        hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12206/artifact/patchprocess/testrun_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12206/testReport/
        Java 1.7.0_55
        uname Linux asf909.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/12206/console

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment -1 pre-patch 17m 32s Findbugs (version ) appears to be broken on trunk. +1 @author 0m 0s The patch does not contain any @author tags. +1 tests included 0m 0s The patch appears to include 1 new or modified test files. +1 javac 7m 46s There were no new javac warning messages. +1 javadoc 10m 4s There were no new javadoc warning messages. +1 release audit 0m 23s The applied patch does not increase the total number of release audit warnings. +1 checkstyle 1m 43s There were no new checkstyle issues. +1 whitespace 0m 0s The patch has no lines that end in whitespace. +1 install 1m 41s mvn install still works. +1 eclipse:eclipse 0m 34s The patch built with eclipse:eclipse. +1 findbugs 4m 24s The patch does not introduce any new Findbugs (version 3.0.0) warnings. +1 common tests 23m 34s Tests passed in hadoop-common. -1 hdfs tests 171m 1s Tests failed in hadoop-hdfs.     238m 49s   Reason Tests Failed unit tests hadoop.hdfs.server.namenode.TestFileTruncate   hadoop.hdfs.web.TestWebHDFSForHA Timed out tests org.apache.hadoop.hdfs.server.namenode.TestFsck   org.apache.hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes Subsystem Report/Notes Patch URL http://issues.apache.org/jira/secure/attachment/12753080/HDFS-8983.03.patch Optional Tests javadoc javac unit findbugs checkstyle git revision trunk / e2c9b28 hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12206/artifact/patchprocess/testrun_hadoop-common.txt hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12206/artifact/patchprocess/testrun_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12206/testReport/ Java 1.7.0_55 uname Linux asf909.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/12206/console This message was automatically generated.
        Hide
        arpitagarwal Arpit Agarwal added a comment -

        Thanks Jitendra Nath Pandey! Addressed in .04 patch. Also updated FsDirectory#normalizePaths with more checks.

        Delta chunks .03 to .04.

        -      checkProtectedDescendants(fsd, src.endsWith(Path.SEPARATOR) ?
        -          src.substring(0, src.length() - 1) : src);
        +      checkProtectedDescendants(fsd, fsd.normalizePath(src));
        
        -    // {@link Path#SEPARATOR} is "/".
        +    // {@link Path#SEPARATOR} is "/" and '0' is the next ASCII
        +    // character after '/'.
        
        -   * Reserved paths are ignored.
        +   * Reserved paths, relative paths and paths with scheme are ignored.
        
        -    final Collection<String> normalized = new ArrayList<String>(paths.size());
        -    for (String path : paths) {
        -      if (isReservedName(path)) {
        -        LOG.error("{} ignoring reserved path {}", errorString, path);
        +    final Collection<String> normalized = new ArrayList<>(paths.size());
        +    for (String dir : paths) {
        +      if (isReservedName(dir)) {
        +        LOG.error("{} ignoring reserved path {}", errorString, dir);
               } else {
        -        normalized.add(normalizePath(path));
        +        final Path path = new Path(dir);
        +        if (!path.isAbsolute()) {
        +          LOG.error("{} ignoring relative path {}", errorString, dir);
        +        } else if (path.toUri().getScheme() != null) {
        +          LOG.error("{} ignoring path {} with scheme", errorString, dir);
        +        } else {
        +          normalized.add(path.toString());
        +        }
        

        And three new tests for the additional checks in normalizePaths.

        Show
        arpitagarwal Arpit Agarwal added a comment - Thanks Jitendra Nath Pandey ! Addressed in .04 patch. Also updated FsDirectory#normalizePaths with more checks. Delta chunks .03 to .04. - checkProtectedDescendants(fsd, src.endsWith(Path.SEPARATOR) ? - src.substring(0, src.length() - 1) : src); + checkProtectedDescendants(fsd, fsd.normalizePath(src)); - // {@link Path#SEPARATOR} is "/" . + // {@link Path#SEPARATOR} is "/" and '0' is the next ASCII + // character after '/'. - * Reserved paths are ignored. + * Reserved paths, relative paths and paths with scheme are ignored. - final Collection< String > normalized = new ArrayList< String >(paths.size()); - for ( String path : paths) { - if (isReservedName(path)) { - LOG.error( "{} ignoring reserved path {}" , errorString, path); + final Collection< String > normalized = new ArrayList<>(paths.size()); + for ( String dir : paths) { + if (isReservedName(dir)) { + LOG.error( "{} ignoring reserved path {}" , errorString, dir); } else { - normalized.add(normalizePath(path)); + final Path path = new Path(dir); + if (!path.isAbsolute()) { + LOG.error( "{} ignoring relative path {}" , errorString, dir); + } else if (path.toUri().getScheme() != null ) { + LOG.error( "{} ignoring path {} with scheme" , errorString, dir); + } else { + normalized.add(path.toString()); + } And three new tests for the additional checks in normalizePaths .
        Hide
        jnp Jitendra Nath Pandey added a comment -

        Thanks for addressing my comments Arpit Agarwal.
        +1 for the patch.

        Show
        jnp Jitendra Nath Pandey added a comment - Thanks for addressing my comments Arpit Agarwal . +1 for the patch.
        Hide
        hadoopqa Hadoop QA added a comment -



        -1 overall



        Vote Subsystem Runtime Comment
        0 pre-patch 19m 27s Pre-patch trunk compilation is healthy.
        +1 @author 0m 0s The patch does not contain any @author tags.
        +1 tests included 0m 0s The patch appears to include 1 new or modified test files.
        +1 javac 7m 44s There were no new javac warning messages.
        +1 javadoc 9m 59s There were no new javadoc warning messages.
        +1 release audit 0m 24s The applied patch does not increase the total number of release audit warnings.
        +1 checkstyle 2m 28s There were no new checkstyle issues.
        +1 whitespace 0m 0s The patch has no lines that end in whitespace.
        +1 install 1m 32s mvn install still works.
        +1 eclipse:eclipse 0m 35s The patch built with eclipse:eclipse.
        +1 findbugs 4m 21s The patch does not introduce any new Findbugs (version 3.0.0) warnings.
        +1 common tests 23m 20s Tests passed in hadoop-common.
        -1 hdfs tests 111m 1s Tests failed in hadoop-hdfs.
            180m 54s  



        Reason Tests
        Failed unit tests hadoop.hdfs.server.blockmanagement.TestBlockManager
        Timed out tests org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.TestWriteToReplica



        Subsystem Report/Notes
        Patch URL http://issues.apache.org/jira/secure/attachment/12753112/HDFS-8983.04.patch
        Optional Tests javadoc javac unit findbugs checkstyle
        git revision trunk / e2c9b28
        hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12210/artifact/patchprocess/testrun_hadoop-common.txt
        hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12210/artifact/patchprocess/testrun_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12210/testReport/
        Java 1.7.0_55
        uname Linux asf909.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/12210/console

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 pre-patch 19m 27s Pre-patch trunk compilation is healthy. +1 @author 0m 0s The patch does not contain any @author tags. +1 tests included 0m 0s The patch appears to include 1 new or modified test files. +1 javac 7m 44s There were no new javac warning messages. +1 javadoc 9m 59s There were no new javadoc warning messages. +1 release audit 0m 24s The applied patch does not increase the total number of release audit warnings. +1 checkstyle 2m 28s There were no new checkstyle issues. +1 whitespace 0m 0s The patch has no lines that end in whitespace. +1 install 1m 32s mvn install still works. +1 eclipse:eclipse 0m 35s The patch built with eclipse:eclipse. +1 findbugs 4m 21s The patch does not introduce any new Findbugs (version 3.0.0) warnings. +1 common tests 23m 20s Tests passed in hadoop-common. -1 hdfs tests 111m 1s Tests failed in hadoop-hdfs.     180m 54s   Reason Tests Failed unit tests hadoop.hdfs.server.blockmanagement.TestBlockManager Timed out tests org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.TestWriteToReplica Subsystem Report/Notes Patch URL http://issues.apache.org/jira/secure/attachment/12753112/HDFS-8983.04.patch Optional Tests javadoc javac unit findbugs checkstyle git revision trunk / e2c9b28 hadoop-common test log https://builds.apache.org/job/PreCommit-HDFS-Build/12210/artifact/patchprocess/testrun_hadoop-common.txt hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/12210/artifact/patchprocess/testrun_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/12210/testReport/ Java 1.7.0_55 uname Linux asf909.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/12210/console This message was automatically generated.
        Hide
        arpitagarwal Arpit Agarwal added a comment -

        Thanks Jitendra Nath Pandey! Committed to trunk and branch-2.

        The test failures were unrelated.

        Show
        arpitagarwal Arpit Agarwal added a comment - Thanks Jitendra Nath Pandey ! Committed to trunk and branch-2. The test failures were unrelated.
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-trunk-Commit #8369 (See https://builds.apache.org/job/Hadoop-trunk-Commit/8369/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-trunk-Commit #8369 (See https://builds.apache.org/job/Hadoop-trunk-Commit/8369/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Yarn-trunk-Java8 #326 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/326/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Yarn-trunk-Java8 #326 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/326/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Yarn-trunk #1053 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/1053/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Yarn-trunk #1053 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/1053/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Mapreduce-trunk-Java8 #320 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/320/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Mapreduce-trunk-Java8 #320 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/320/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Mapreduce-trunk #2269 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2269/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Mapreduce-trunk #2269 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2269/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #311 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/311/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #311 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/311/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Hdfs-trunk #2250 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2250/)
        HDFS-8983. NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e)

        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
        • hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
        • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk #2250 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2250/ ) HDFS-8983 . NameNode support for protected directories. (Contributed by Arpit Agarwal) (arp: rev bdbe53c676dd4ff135ea2f64d3b9193fe43d7c8e) hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-common-project/hadoop-common/src/main/resources/core-default.xml hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestProtectedDirectories.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java
        Hide
        stevel@apache.org Steve Loughran added a comment -

        ...just came across this.

        Currently we say in filesystem.md that HDFS is a special case, in which delete("/",true) always fails. Does this patch change the root directory behaviour? that is, {{ delete("/",true) -. AccessControlException ?

        Show
        stevel@apache.org Steve Loughran added a comment - ...just came across this. Currently we say in filesystem.md that HDFS is a special case, in which delete("/",true) always fails. Does this patch change the root directory behaviour? that is, {{ delete("/",true) -. AccessControlException ?
        Hide
        arpitagarwal Arpit Agarwal added a comment - - edited

        Just tested it. delete("/", true) will throw AccessControlException if

        • "/" is included in fs.protected.directories; and
        • it is non-empty.

        Else it returns false as before. The list of protected directories is empty by default.

        In contrast, HDFS never permits the deletion of the root of a filesystem; the
        filesystem can be taken offline and reformatted if an empty
        filesystem is desired.
        
            if isDir(FS, p) and isRoot(p) and recursive :
                FS' = FS
                result = False
        

        I see what you mean about the contract. We could fix HDFS so it always returns false regardless of the protected dirs settings. It will take some refactoring and I'd also want to understand why the root directory check wasn't done earlier.

        Show
        arpitagarwal Arpit Agarwal added a comment - - edited Just tested it. delete("/", true) will throw AccessControlException if "/" is included in fs.protected.directories ; and it is non-empty. Else it returns false as before. The list of protected directories is empty by default. In contrast, HDFS never permits the deletion of the root of a filesystem; the filesystem can be taken offline and reformatted if an empty filesystem is desired. if isDir(FS, p) and isRoot(p) and recursive : FS' = FS result = False I see what you mean about the contract. We could fix HDFS so it always returns false regardless of the protected dirs settings. It will take some refactoring and I'd also want to understand why the root directory check wasn't done earlier.
        Hide
        zhz Zhe Zhang added a comment -

        Quick note that I'm working on backporting HDFS-10744 to branch-2.7; since this change is not in branch-2.7, the overlapping part won't be backported.

        If someone plans to backport this to branch-2.7, please remember to add the optimization from HDFS-10744.

        Show
        zhz Zhe Zhang added a comment - Quick note that I'm working on backporting HDFS-10744 to branch-2.7; since this change is not in branch-2.7, the overlapping part won't be backported. If someone plans to backport this to branch-2.7, please remember to add the optimization from HDFS-10744 .

          People

          • Assignee:
            arpitagarwal Arpit Agarwal
            Reporter:
            arpitagarwal Arpit Agarwal
          • Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development