[
https://issues.apache.org/jira/browse/HADOOP-17106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HADOOP-17106:
------------------------------------
Labels: pull-request-available (was: )
> 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
> Labels: pull-request-available
> Attachments: HADOOP-17106.001.patch, HADOOP-17106.002.patch,
> HADOOP-17106.003.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.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]