[ 
https://issues.apache.org/jira/browse/HADOOP-17106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ahmed Hussein updated HADOOP-17106:
-----------------------------------
    Description: 
In order to replace  {{com.google.common.base.Joiner}} with a non-guava 
implementation:
* Extend implementation of {{org.apache.hadoop.util.StringUtils.join()}} to 
support interfaces offered by guava and used throughout hadoop source code.
* {{org.apache.hadoop.util.StringUtils.join()}} should have the same behavior 
as {{guava.Joiner}}. For example, by default it throws NPE if any of the 
elements is null.
* Another Jira should to be created to do the actual call replacement in 67 
source files.  
* Another Jira should be created to do the same for apache.common.stringUtils. 
We do not want to have different implementations of the same functionality, 
while each may have different behavior. Also, when we have the implementation 
of Join, in 1 single source code, we can use apache.commons.StringUtils 
internally without doing invasive code changes to the entire source code.
 
{code:java}
Targets
    Occurrences of 'com.google.common.base.Joiner' in project with mask '*.java'
Found Occurrences  (103 usages found)
    org.apache.hadoop.crypto.key.kms.server  (1 usage found)
        SimpleKMSAuditLogger.java  (1 usage found)
            26 import com.google.common.base.Joiner;
    org.apache.hadoop.fs  (1 usage found)
        TestPath.java  (1 usage found)
            37 import com.google.common.base.Joiner;
    org.apache.hadoop.fs.s3a  (1 usage found)
        StorageStatisticsTracker.java  (1 usage found)
            25 import com.google.common.base.Joiner;
    org.apache.hadoop.ha  (1 usage found)
        TestHAAdmin.java  (1 usage found)
            34 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs  (8 usages found)
        DFSClient.java  (1 usage found)
            196 import com.google.common.base.Joiner;
        DFSTestUtil.java  (1 usage found)
            76 import com.google.common.base.Joiner;
        DFSUtil.java  (1 usage found)
            108 import com.google.common.base.Joiner;
        DFSUtilClient.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        HAUtil.java  (1 usage found)
            59 import com.google.common.base.Joiner;
        MiniDFSCluster.java  (1 usage found)
            145 import com.google.common.base.Joiner;
        StripedFileTestUtil.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestDFSUpgrade.java  (1 usage found)
            53 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.protocol  (1 usage found)
        LayoutFlags.java  (1 usage found)
            26 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.protocolPB  (1 usage found)
        TestPBHelper.java  (1 usage found)
            118 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.qjournal  (1 usage found)
        MiniJournalCluster.java  (1 usage found)
            43 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.qjournal.client  (5 usages found)
        AsyncLoggerSet.java  (1 usage found)
            38 import com.google.common.base.Joiner;
        QuorumCall.java  (1 usage found)
            32 import com.google.common.base.Joiner;
        QuorumException.java  (1 usage found)
            25 import com.google.common.base.Joiner;
        QuorumJournalManager.java  (1 usage found)
            62 import com.google.common.base.Joiner;
        TestQuorumCall.java  (1 usage found)
            29 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.blockmanagement  (4 usages found)
        HostSet.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestBlockManager.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestBlockReportRateLimiting.java  (1 usage found)
            24 import com.google.common.base.Joiner;
        TestPendingDataNodeMessages.java  (1 usage found)
            41 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.common  (1 usage found)
        StorageInfo.java  (1 usage found)
            37 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.datanode  (7 usages found)
        BlockPoolManager.java  (1 usage found)
            32 import com.google.common.base.Joiner;
        BlockRecoveryWorker.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        BPServiceActor.java  (1 usage found)
            75 import com.google.common.base.Joiner;
        DataNode.java  (1 usage found)
            226 import com.google.common.base.Joiner;
        ShortCircuitRegistry.java  (1 usage found)
            49 import com.google.common.base.Joiner;
        TestDataNodeHotSwapVolumes.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestRefreshNamenodes.java  (1 usage found)
            35 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.datanode.fsdataset.impl  (1 usage found)
        FsVolumeImpl.java  (1 usage found)
            90 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.namenode  (13 usages found)
        FileJournalManager.java  (1 usage found)
            49 import com.google.common.base.Joiner;
        FSDirectory.java  (1 usage found)
            24 import com.google.common.base.Joiner;
        FSEditLogLoader.java  (1 usage found)
            120 import com.google.common.base.Joiner;
        FSEditLogOp.java  (1 usage found)
            141 import com.google.common.base.Joiner;
        FSImage.java  (1 usage found)
            78 import com.google.common.base.Joiner;
        FSImageTestUtil.java  (1 usage found)
            66 import com.google.common.base.Joiner;
        NameNode.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestAuditLogAtDebug.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestCheckpoint.java  (1 usage found)
            97 import com.google.common.base.Joiner;
        TestFileJournalManager.java  (1 usage found)
            52 import com.google.common.base.Joiner;
        TestNNStorageRetentionFunctional.java  (1 usage found)
            39 import com.google.common.base.Joiner;
        TestNNStorageRetentionManager.java  (1 usage found)
            53 import com.google.common.base.Joiner;
        TestProtectedDirectories.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.namenode.ha  (9 usages found)
        BootstrapStandby.java  (1 usage found)
            73 import com.google.common.base.Joiner;
        HATestUtil.java  (1 usage found)
            41 import com.google.common.base.Joiner;
        TestDelegationTokensWithHA.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestDFSUpgradeWithHA.java  (1 usage found)
            56 import com.google.common.base.Joiner;
        TestEditLogsDuringFailover.java  (1 usage found)
            47 import com.google.common.base.Joiner;
        TestFailureOfSharedDir.java  (1 usage found)
            48 import com.google.common.base.Joiner;
        TestHAConfiguration.java  (1 usage found)
            34 import com.google.common.base.Joiner;
        TestObserverReadProxyProvider.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestStandbyInProgressTail.java  (1 usage found)
            51 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.protocol  (3 usages found)
        BlockECReconstructionCommand.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        BlockRecoveryCommand.java  (1 usage found)
            31 import com.google.common.base.Joiner;
        RemoteEditLogManifest.java  (1 usage found)
            23 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.tools  (5 usages found)
        CacheAdmin.java  (1 usage found)
            47 import com.google.common.base.Joiner;
        DFSAdmin.java  (1 usage found)
            41 import com.google.common.base.Joiner;
        TestDFSHAAdmin.java  (1 usage found)
            52 import com.google.common.base.Joiner;
        TestDFSHAAdminMiniCluster.java  (1 usage found)
            47 import com.google.common.base.Joiner;
        TestGetConf.java  (1 usage found)
            61 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.util  (1 usage found)
        TestAtomicFileOutputStream.java  (1 usage found)
            41 import com.google.common.base.Joiner;
    org.apache.hadoop.io.compress  (1 usage found)
        CompressDecompressTester.java  (1 usage found)
            42 import com.google.common.base.Joiner;
    org.apache.hadoop.ipc  (3 usages found)
        ProxyCombiner.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        RefreshRegistry.java  (1 usage found)
            23 import com.google.common.base.Joiner;
        RPCCallBenchmark.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.counters  (1 usage found)
        FileSystemCounterGroup.java  (1 usage found)
            30 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.jobhistory  (1 usage found)
        JobUnsuccessfulCompletionEvent.java  (1 usage found)
            32 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.v2.app.webapp  (1 usage found)
        AppController.java  (1 usage found)
            44 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.v2.util  (1 usage found)
        MRWebAppUtil.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.metrics2.impl  (1 usage found)
        MetricsConfig.java  (1 usage found)
            32 import com.google.common.base.Joiner;
    org.apache.hadoop.metrics2.lib  (1 usage found)
        UniqueNames.java  (1 usage found)
            23 import com.google.common.base.Joiner;
    org.apache.hadoop.metrics2.util  (1 usage found)
        SampleQuantiles.java  (1 usage found)
            30 import com.google.common.base.Joiner;
    org.apache.hadoop.security  (1 usage found)
        ShellBasedUnixGroupsMapping.java  (1 usage found)
            27 import com.google.common.base.Joiner;
    org.apache.hadoop.test  (1 usage found)
        GenericTestUtils.java  (1 usage found)
            63 import com.google.common.base.Joiner;
    org.apache.hadoop.tools.dynamometer  (3 usages found)
        ApplicationMaster.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        Client.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        DynoInfraUtils.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.util  (1 usage found)
        JvmPauseMonitor.java  (1 usage found)
            31 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.applications.distributedshell  (1 usage found)
        Client.java  (1 usage found)
            36 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.client  (1 usage found)
        ClientRMProxy.java  (1 usage found)
            44 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.client.api.impl  (2 usages found)
        AMRMClientImpl.java  (1 usage found)
            83 import com.google.common.base.Joiner;
        TimelineConnector.java  (1 usage found)
            56 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.client.cli  (1 usage found)
        TestNodeAttributesCLI.java  (1 usage found)
            64 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.nodemanager.amrmproxy  (1 usage found)
        DefaultRequestInterceptor.java  (1 usage found)
            25 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources  
(1 usage found)
        CGroupsHandlerImpl.java  (1 usage found)
            24 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.nodemanager.health  (2 usages found)
        NodeHealthCheckerService.java  (1 usage found)
            22 import com.google.common.base.Joiner;
        TestNodeHealthCheckerService.java  (1 usage found)
            31 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.recovery  (1 usage found)
        TestZKRMStateStore.java  (1 usage found)
            74 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.conf  (1 
usage found)
        MutableCSConfigurationProvider.java  (1 usage found)
            22 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.policies  (1 
usage found)
        TestDominantResourceFairnessPolicy.java  (1 usage found)
            32 import org.apache.curator.shaded.com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.webapp  (1 usage found)
        TestRMWebServicesNodes.java  (1 usage found)
            100 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.webapp.dao  (1 usage found)
        AppInfo.java  (1 usage found)
            54 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.webapp  (3 usages found)
        LogServlet.java  (1 usage found)
            22 import com.google.common.base.Joiner;
        LogWebService.java  (1 usage found)
            22 import com.google.common.base.Joiner;
        LogWebServiceUtils.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.service.webapp  (1 usage found)
        ApiServer.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.util  (1 usage found)
        StringHelper.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.webapp.hamlet  (1 usage found)
        HamletImpl.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.webapp.hamlet2  (1 usage found)
        HamletImpl.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.webapp.view  (1 usage found)
        DefaultPage.java  (1 usage found)
            21 import com.google.common.base.Joiner;

{code}

  was:
Replace \{{com.google.common.base.Joiner}} with String.join.

 
{code:java}
Targets
    Occurrences of 'com.google.common.base.Joiner' in project with mask '*.java'
Found Occurrences  (103 usages found)
    org.apache.hadoop.crypto.key.kms.server  (1 usage found)
        SimpleKMSAuditLogger.java  (1 usage found)
            26 import com.google.common.base.Joiner;
    org.apache.hadoop.fs  (1 usage found)
        TestPath.java  (1 usage found)
            37 import com.google.common.base.Joiner;
    org.apache.hadoop.fs.s3a  (1 usage found)
        StorageStatisticsTracker.java  (1 usage found)
            25 import com.google.common.base.Joiner;
    org.apache.hadoop.ha  (1 usage found)
        TestHAAdmin.java  (1 usage found)
            34 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs  (8 usages found)
        DFSClient.java  (1 usage found)
            196 import com.google.common.base.Joiner;
        DFSTestUtil.java  (1 usage found)
            76 import com.google.common.base.Joiner;
        DFSUtil.java  (1 usage found)
            108 import com.google.common.base.Joiner;
        DFSUtilClient.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        HAUtil.java  (1 usage found)
            59 import com.google.common.base.Joiner;
        MiniDFSCluster.java  (1 usage found)
            145 import com.google.common.base.Joiner;
        StripedFileTestUtil.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestDFSUpgrade.java  (1 usage found)
            53 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.protocol  (1 usage found)
        LayoutFlags.java  (1 usage found)
            26 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.protocolPB  (1 usage found)
        TestPBHelper.java  (1 usage found)
            118 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.qjournal  (1 usage found)
        MiniJournalCluster.java  (1 usage found)
            43 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.qjournal.client  (5 usages found)
        AsyncLoggerSet.java  (1 usage found)
            38 import com.google.common.base.Joiner;
        QuorumCall.java  (1 usage found)
            32 import com.google.common.base.Joiner;
        QuorumException.java  (1 usage found)
            25 import com.google.common.base.Joiner;
        QuorumJournalManager.java  (1 usage found)
            62 import com.google.common.base.Joiner;
        TestQuorumCall.java  (1 usage found)
            29 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.blockmanagement  (4 usages found)
        HostSet.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestBlockManager.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestBlockReportRateLimiting.java  (1 usage found)
            24 import com.google.common.base.Joiner;
        TestPendingDataNodeMessages.java  (1 usage found)
            41 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.common  (1 usage found)
        StorageInfo.java  (1 usage found)
            37 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.datanode  (7 usages found)
        BlockPoolManager.java  (1 usage found)
            32 import com.google.common.base.Joiner;
        BlockRecoveryWorker.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        BPServiceActor.java  (1 usage found)
            75 import com.google.common.base.Joiner;
        DataNode.java  (1 usage found)
            226 import com.google.common.base.Joiner;
        ShortCircuitRegistry.java  (1 usage found)
            49 import com.google.common.base.Joiner;
        TestDataNodeHotSwapVolumes.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestRefreshNamenodes.java  (1 usage found)
            35 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.datanode.fsdataset.impl  (1 usage found)
        FsVolumeImpl.java  (1 usage found)
            90 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.namenode  (13 usages found)
        FileJournalManager.java  (1 usage found)
            49 import com.google.common.base.Joiner;
        FSDirectory.java  (1 usage found)
            24 import com.google.common.base.Joiner;
        FSEditLogLoader.java  (1 usage found)
            120 import com.google.common.base.Joiner;
        FSEditLogOp.java  (1 usage found)
            141 import com.google.common.base.Joiner;
        FSImage.java  (1 usage found)
            78 import com.google.common.base.Joiner;
        FSImageTestUtil.java  (1 usage found)
            66 import com.google.common.base.Joiner;
        NameNode.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestAuditLogAtDebug.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        TestCheckpoint.java  (1 usage found)
            97 import com.google.common.base.Joiner;
        TestFileJournalManager.java  (1 usage found)
            52 import com.google.common.base.Joiner;
        TestNNStorageRetentionFunctional.java  (1 usage found)
            39 import com.google.common.base.Joiner;
        TestNNStorageRetentionManager.java  (1 usage found)
            53 import com.google.common.base.Joiner;
        TestProtectedDirectories.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.namenode.ha  (9 usages found)
        BootstrapStandby.java  (1 usage found)
            73 import com.google.common.base.Joiner;
        HATestUtil.java  (1 usage found)
            41 import com.google.common.base.Joiner;
        TestDelegationTokensWithHA.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestDFSUpgradeWithHA.java  (1 usage found)
            56 import com.google.common.base.Joiner;
        TestEditLogsDuringFailover.java  (1 usage found)
            47 import com.google.common.base.Joiner;
        TestFailureOfSharedDir.java  (1 usage found)
            48 import com.google.common.base.Joiner;
        TestHAConfiguration.java  (1 usage found)
            34 import com.google.common.base.Joiner;
        TestObserverReadProxyProvider.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        TestStandbyInProgressTail.java  (1 usage found)
            51 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.server.protocol  (3 usages found)
        BlockECReconstructionCommand.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        BlockRecoveryCommand.java  (1 usage found)
            31 import com.google.common.base.Joiner;
        RemoteEditLogManifest.java  (1 usage found)
            23 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.tools  (5 usages found)
        CacheAdmin.java  (1 usage found)
            47 import com.google.common.base.Joiner;
        DFSAdmin.java  (1 usage found)
            41 import com.google.common.base.Joiner;
        TestDFSHAAdmin.java  (1 usage found)
            52 import com.google.common.base.Joiner;
        TestDFSHAAdminMiniCluster.java  (1 usage found)
            47 import com.google.common.base.Joiner;
        TestGetConf.java  (1 usage found)
            61 import com.google.common.base.Joiner;
    org.apache.hadoop.hdfs.util  (1 usage found)
        TestAtomicFileOutputStream.java  (1 usage found)
            41 import com.google.common.base.Joiner;
    org.apache.hadoop.io.compress  (1 usage found)
        CompressDecompressTester.java  (1 usage found)
            42 import com.google.common.base.Joiner;
    org.apache.hadoop.ipc  (3 usages found)
        ProxyCombiner.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        RefreshRegistry.java  (1 usage found)
            23 import com.google.common.base.Joiner;
        RPCCallBenchmark.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.counters  (1 usage found)
        FileSystemCounterGroup.java  (1 usage found)
            30 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.jobhistory  (1 usage found)
        JobUnsuccessfulCompletionEvent.java  (1 usage found)
            32 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.v2.app.webapp  (1 usage found)
        AppController.java  (1 usage found)
            44 import com.google.common.base.Joiner;
    org.apache.hadoop.mapreduce.v2.util  (1 usage found)
        MRWebAppUtil.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.metrics2.impl  (1 usage found)
        MetricsConfig.java  (1 usage found)
            32 import com.google.common.base.Joiner;
    org.apache.hadoop.metrics2.lib  (1 usage found)
        UniqueNames.java  (1 usage found)
            23 import com.google.common.base.Joiner;
    org.apache.hadoop.metrics2.util  (1 usage found)
        SampleQuantiles.java  (1 usage found)
            30 import com.google.common.base.Joiner;
    org.apache.hadoop.security  (1 usage found)
        ShellBasedUnixGroupsMapping.java  (1 usage found)
            27 import com.google.common.base.Joiner;
    org.apache.hadoop.test  (1 usage found)
        GenericTestUtils.java  (1 usage found)
            63 import com.google.common.base.Joiner;
    org.apache.hadoop.tools.dynamometer  (3 usages found)
        ApplicationMaster.java  (1 usage found)
            20 import com.google.common.base.Joiner;
        Client.java  (1 usage found)
            21 import com.google.common.base.Joiner;
        DynoInfraUtils.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.util  (1 usage found)
        JvmPauseMonitor.java  (1 usage found)
            31 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.applications.distributedshell  (1 usage found)
        Client.java  (1 usage found)
            36 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.client  (1 usage found)
        ClientRMProxy.java  (1 usage found)
            44 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.client.api.impl  (2 usages found)
        AMRMClientImpl.java  (1 usage found)
            83 import com.google.common.base.Joiner;
        TimelineConnector.java  (1 usage found)
            56 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.client.cli  (1 usage found)
        TestNodeAttributesCLI.java  (1 usage found)
            64 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.nodemanager.amrmproxy  (1 usage found)
        DefaultRequestInterceptor.java  (1 usage found)
            25 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources  
(1 usage found)
        CGroupsHandlerImpl.java  (1 usage found)
            24 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.nodemanager.health  (2 usages found)
        NodeHealthCheckerService.java  (1 usage found)
            22 import com.google.common.base.Joiner;
        TestNodeHealthCheckerService.java  (1 usage found)
            31 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.recovery  (1 usage found)
        TestZKRMStateStore.java  (1 usage found)
            74 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.conf  (1 
usage found)
        MutableCSConfigurationProvider.java  (1 usage found)
            22 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.policies  (1 
usage found)
        TestDominantResourceFairnessPolicy.java  (1 usage found)
            32 import org.apache.curator.shaded.com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.webapp  (1 usage found)
        TestRMWebServicesNodes.java  (1 usage found)
            100 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.resourcemanager.webapp.dao  (1 usage found)
        AppInfo.java  (1 usage found)
            54 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.server.webapp  (3 usages found)
        LogServlet.java  (1 usage found)
            22 import com.google.common.base.Joiner;
        LogWebService.java  (1 usage found)
            22 import com.google.common.base.Joiner;
        LogWebServiceUtils.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.service.webapp  (1 usage found)
        ApiServer.java  (1 usage found)
            20 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.util  (1 usage found)
        StringHelper.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.webapp.hamlet  (1 usage found)
        HamletImpl.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.webapp.hamlet2  (1 usage found)
        HamletImpl.java  (1 usage found)
            21 import com.google.common.base.Joiner;
    org.apache.hadoop.yarn.webapp.view  (1 usage found)
        DefaultPage.java  (1 usage found)
            21 import com.google.common.base.Joiner;

{code}

        Summary: Add unguava implementation for Joiner in hadoop.StringUtils  
(was: Replace Guava Joiner with Java8 String Join)

> Add unguava implementation for Joiner in hadoop.StringUtils
> -----------------------------------------------------------
>
>                 Key: HADOOP-17106
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17106
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Ahmed Hussein
>            Assignee: Ahmed Hussein
>            Priority: Major
>         Attachments: HADOOP-17106.001.patch
>
>
> In order to replace  {{com.google.common.base.Joiner}} with a non-guava 
> implementation:
> * Extend implementation of {{org.apache.hadoop.util.StringUtils.join()}} to 
> support interfaces offered by guava and used throughout hadoop source code.
> * {{org.apache.hadoop.util.StringUtils.join()}} should have the same behavior 
> as {{guava.Joiner}}. For example, by default it throws NPE if any of the 
> elements is null.
> * Another Jira should to be created to do the actual call replacement in 67 
> source files.  
> * Another Jira should be created to do the same for 
> apache.common.stringUtils. We do not want to have different implementations 
> of the same functionality, while each may have different behavior. Also, when 
> we have the implementation of Join, in 1 single source code, we can use 
> apache.commons.StringUtils internally without doing invasive code changes to 
> the entire source code.
>  
> {code:java}
> Targets
>     Occurrences of 'com.google.common.base.Joiner' in project with mask 
> '*.java'
> Found Occurrences  (103 usages found)
>     org.apache.hadoop.crypto.key.kms.server  (1 usage found)
>         SimpleKMSAuditLogger.java  (1 usage found)
>             26 import com.google.common.base.Joiner;
>     org.apache.hadoop.fs  (1 usage found)
>         TestPath.java  (1 usage found)
>             37 import com.google.common.base.Joiner;
>     org.apache.hadoop.fs.s3a  (1 usage found)
>         StorageStatisticsTracker.java  (1 usage found)
>             25 import com.google.common.base.Joiner;
>     org.apache.hadoop.ha  (1 usage found)
>         TestHAAdmin.java  (1 usage found)
>             34 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs  (8 usages found)
>         DFSClient.java  (1 usage found)
>             196 import com.google.common.base.Joiner;
>         DFSTestUtil.java  (1 usage found)
>             76 import com.google.common.base.Joiner;
>         DFSUtil.java  (1 usage found)
>             108 import com.google.common.base.Joiner;
>         DFSUtilClient.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         HAUtil.java  (1 usage found)
>             59 import com.google.common.base.Joiner;
>         MiniDFSCluster.java  (1 usage found)
>             145 import com.google.common.base.Joiner;
>         StripedFileTestUtil.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         TestDFSUpgrade.java  (1 usage found)
>             53 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.protocol  (1 usage found)
>         LayoutFlags.java  (1 usage found)
>             26 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.protocolPB  (1 usage found)
>         TestPBHelper.java  (1 usage found)
>             118 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.qjournal  (1 usage found)
>         MiniJournalCluster.java  (1 usage found)
>             43 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.qjournal.client  (5 usages found)
>         AsyncLoggerSet.java  (1 usage found)
>             38 import com.google.common.base.Joiner;
>         QuorumCall.java  (1 usage found)
>             32 import com.google.common.base.Joiner;
>         QuorumException.java  (1 usage found)
>             25 import com.google.common.base.Joiner;
>         QuorumJournalManager.java  (1 usage found)
>             62 import com.google.common.base.Joiner;
>         TestQuorumCall.java  (1 usage found)
>             29 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.blockmanagement  (4 usages found)
>         HostSet.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>         TestBlockManager.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         TestBlockReportRateLimiting.java  (1 usage found)
>             24 import com.google.common.base.Joiner;
>         TestPendingDataNodeMessages.java  (1 usage found)
>             41 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.common  (1 usage found)
>         StorageInfo.java  (1 usage found)
>             37 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.datanode  (7 usages found)
>         BlockPoolManager.java  (1 usage found)
>             32 import com.google.common.base.Joiner;
>         BlockRecoveryWorker.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>         BPServiceActor.java  (1 usage found)
>             75 import com.google.common.base.Joiner;
>         DataNode.java  (1 usage found)
>             226 import com.google.common.base.Joiner;
>         ShortCircuitRegistry.java  (1 usage found)
>             49 import com.google.common.base.Joiner;
>         TestDataNodeHotSwapVolumes.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>         TestRefreshNamenodes.java  (1 usage found)
>             35 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.datanode.fsdataset.impl  (1 usage found)
>         FsVolumeImpl.java  (1 usage found)
>             90 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.namenode  (13 usages found)
>         FileJournalManager.java  (1 usage found)
>             49 import com.google.common.base.Joiner;
>         FSDirectory.java  (1 usage found)
>             24 import com.google.common.base.Joiner;
>         FSEditLogLoader.java  (1 usage found)
>             120 import com.google.common.base.Joiner;
>         FSEditLogOp.java  (1 usage found)
>             141 import com.google.common.base.Joiner;
>         FSImage.java  (1 usage found)
>             78 import com.google.common.base.Joiner;
>         FSImageTestUtil.java  (1 usage found)
>             66 import com.google.common.base.Joiner;
>         NameNode.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>         TestAuditLogAtDebug.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>         TestCheckpoint.java  (1 usage found)
>             97 import com.google.common.base.Joiner;
>         TestFileJournalManager.java  (1 usage found)
>             52 import com.google.common.base.Joiner;
>         TestNNStorageRetentionFunctional.java  (1 usage found)
>             39 import com.google.common.base.Joiner;
>         TestNNStorageRetentionManager.java  (1 usage found)
>             53 import com.google.common.base.Joiner;
>         TestProtectedDirectories.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.namenode.ha  (9 usages found)
>         BootstrapStandby.java  (1 usage found)
>             73 import com.google.common.base.Joiner;
>         HATestUtil.java  (1 usage found)
>             41 import com.google.common.base.Joiner;
>         TestDelegationTokensWithHA.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         TestDFSUpgradeWithHA.java  (1 usage found)
>             56 import com.google.common.base.Joiner;
>         TestEditLogsDuringFailover.java  (1 usage found)
>             47 import com.google.common.base.Joiner;
>         TestFailureOfSharedDir.java  (1 usage found)
>             48 import com.google.common.base.Joiner;
>         TestHAConfiguration.java  (1 usage found)
>             34 import com.google.common.base.Joiner;
>         TestObserverReadProxyProvider.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         TestStandbyInProgressTail.java  (1 usage found)
>             51 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.server.protocol  (3 usages found)
>         BlockECReconstructionCommand.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         BlockRecoveryCommand.java  (1 usage found)
>             31 import com.google.common.base.Joiner;
>         RemoteEditLogManifest.java  (1 usage found)
>             23 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.tools  (5 usages found)
>         CacheAdmin.java  (1 usage found)
>             47 import com.google.common.base.Joiner;
>         DFSAdmin.java  (1 usage found)
>             41 import com.google.common.base.Joiner;
>         TestDFSHAAdmin.java  (1 usage found)
>             52 import com.google.common.base.Joiner;
>         TestDFSHAAdminMiniCluster.java  (1 usage found)
>             47 import com.google.common.base.Joiner;
>         TestGetConf.java  (1 usage found)
>             61 import com.google.common.base.Joiner;
>     org.apache.hadoop.hdfs.util  (1 usage found)
>         TestAtomicFileOutputStream.java  (1 usage found)
>             41 import com.google.common.base.Joiner;
>     org.apache.hadoop.io.compress  (1 usage found)
>         CompressDecompressTester.java  (1 usage found)
>             42 import com.google.common.base.Joiner;
>     org.apache.hadoop.ipc  (3 usages found)
>         ProxyCombiner.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         RefreshRegistry.java  (1 usage found)
>             23 import com.google.common.base.Joiner;
>         RPCCallBenchmark.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>     org.apache.hadoop.mapreduce.counters  (1 usage found)
>         FileSystemCounterGroup.java  (1 usage found)
>             30 import com.google.common.base.Joiner;
>     org.apache.hadoop.mapreduce.jobhistory  (1 usage found)
>         JobUnsuccessfulCompletionEvent.java  (1 usage found)
>             32 import com.google.common.base.Joiner;
>     org.apache.hadoop.mapreduce.v2.app.webapp  (1 usage found)
>         AppController.java  (1 usage found)
>             44 import com.google.common.base.Joiner;
>     org.apache.hadoop.mapreduce.v2.util  (1 usage found)
>         MRWebAppUtil.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>     org.apache.hadoop.metrics2.impl  (1 usage found)
>         MetricsConfig.java  (1 usage found)
>             32 import com.google.common.base.Joiner;
>     org.apache.hadoop.metrics2.lib  (1 usage found)
>         UniqueNames.java  (1 usage found)
>             23 import com.google.common.base.Joiner;
>     org.apache.hadoop.metrics2.util  (1 usage found)
>         SampleQuantiles.java  (1 usage found)
>             30 import com.google.common.base.Joiner;
>     org.apache.hadoop.security  (1 usage found)
>         ShellBasedUnixGroupsMapping.java  (1 usage found)
>             27 import com.google.common.base.Joiner;
>     org.apache.hadoop.test  (1 usage found)
>         GenericTestUtils.java  (1 usage found)
>             63 import com.google.common.base.Joiner;
>     org.apache.hadoop.tools.dynamometer  (3 usages found)
>         ApplicationMaster.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>         Client.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>         DynoInfraUtils.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>     org.apache.hadoop.util  (1 usage found)
>         JvmPauseMonitor.java  (1 usage found)
>             31 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.applications.distributedshell  (1 usage found)
>         Client.java  (1 usage found)
>             36 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.client  (1 usage found)
>         ClientRMProxy.java  (1 usage found)
>             44 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.client.api.impl  (2 usages found)
>         AMRMClientImpl.java  (1 usage found)
>             83 import com.google.common.base.Joiner;
>         TimelineConnector.java  (1 usage found)
>             56 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.client.cli  (1 usage found)
>         TestNodeAttributesCLI.java  (1 usage found)
>             64 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.nodemanager.amrmproxy  (1 usage found)
>         DefaultRequestInterceptor.java  (1 usage found)
>             25 import com.google.common.base.Joiner;
>     
> org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources  
> (1 usage found)
>         CGroupsHandlerImpl.java  (1 usage found)
>             24 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.nodemanager.health  (2 usages found)
>         NodeHealthCheckerService.java  (1 usage found)
>             22 import com.google.common.base.Joiner;
>         TestNodeHealthCheckerService.java  (1 usage found)
>             31 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.resourcemanager.recovery  (1 usage found)
>         TestZKRMStateStore.java  (1 usage found)
>             74 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.conf  (1 
> usage found)
>         MutableCSConfigurationProvider.java  (1 usage found)
>             22 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.policies  (1 
> usage found)
>         TestDominantResourceFairnessPolicy.java  (1 usage found)
>             32 import org.apache.curator.shaded.com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.resourcemanager.webapp  (1 usage found)
>         TestRMWebServicesNodes.java  (1 usage found)
>             100 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.resourcemanager.webapp.dao  (1 usage found)
>         AppInfo.java  (1 usage found)
>             54 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.server.webapp  (3 usages found)
>         LogServlet.java  (1 usage found)
>             22 import com.google.common.base.Joiner;
>         LogWebService.java  (1 usage found)
>             22 import com.google.common.base.Joiner;
>         LogWebServiceUtils.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.service.webapp  (1 usage found)
>         ApiServer.java  (1 usage found)
>             20 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.util  (1 usage found)
>         StringHelper.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.webapp.hamlet  (1 usage found)
>         HamletImpl.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.webapp.hamlet2  (1 usage found)
>         HamletImpl.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
>     org.apache.hadoop.yarn.webapp.view  (1 usage found)
>         DefaultPage.java  (1 usage found)
>             21 import com.google.common.base.Joiner;
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to