From 946456c6d88780abe0251b098dd771e9e1e93ab3 Mon Sep 17 00:00:00 2001 From: Tsuyoshi Ozawa Date: Thu, 19 Feb 2015 12:46:46 +0900 Subject: [PATCH] HADOOP-11602. Fix toUpperCase/toLowerCase to use Locale.ENGLISH. (ozawa) --- .../tools/StabilityOptions.java | 5 +-- .../AltKerberosAuthenticationHandler.java | 6 ++-- .../authentication/util/TestKerberosUtil.java | 14 ++++---- .../hadoop-common/CHANGES.txt | 2 ++ .../org/apache/hadoop/conf/Configuration.java | 3 +- .../org/apache/hadoop/crypto/CipherSuite.java | 3 +- .../crypto/key/JavaKeyStoreProvider.java | 3 +- .../java/org/apache/hadoop/fs/FileSystem.java | 7 ++-- .../apache/hadoop/fs/permission/AclEntry.java | 6 ++-- .../org/apache/hadoop/fs/shell/find/Name.java | 5 +-- .../io/compress/CompressionCodecFactory.java | 6 ++-- .../hadoop/metrics2/impl/MetricsConfig.java | 7 ++-- .../metrics2/impl/MetricsSystemImpl.java | 2 +- .../apache/hadoop/security/SecurityUtil.java | 5 +-- .../security/WhitelistBasedResolver.java | 4 ++- .../ssl/FileBasedKeyStoresFactory.java | 4 ++- .../hadoop/security/ssl/SSLFactory.java | 3 +- .../security/ssl/SSLHostnameVerifier.java | 10 +++--- .../DelegationTokenAuthenticationHandler.java | 3 +- .../web/DelegationTokenAuthenticator.java | 5 +-- .../org/apache/hadoop/util/StringUtils.java | 2 +- .../java/org/apache/hadoop/ipc/TestIPC.java | 3 +- .../org/apache/hadoop/ipc/TestSaslRPC.java | 3 +- .../hadoop/security/TestSecurityUtil.java | 6 ++-- .../security/TestUserGroupInformation.java | 5 +-- .../hadoop/test/TimedOutTestsListener.java | 4 ++- .../org/apache/hadoop/util/TestWinUtils.java | 7 ++-- .../org/apache/hadoop/nfs/NfsExports.java | 5 +-- .../server/CheckUploadContentTypeFilter.java | 4 ++- .../hadoop/fs/http/server/FSOperations.java | 4 ++- .../http/server/HttpFSParametersProvider.java | 4 ++- .../org/apache/hadoop/lib/server/Server.java | 3 +- .../hadoop/FileSystemAccessService.java | 5 +-- .../org/apache/hadoop/lib/wsrs/EnumParam.java | 3 +- .../apache/hadoop/lib/wsrs/EnumSetParam.java | 3 +- .../hadoop/lib/wsrs/ParametersProvider.java | 3 +- .../org/apache/hadoop/hdfs/StorageType.java | 3 +- .../org/apache/hadoop/hdfs/XAttrHelper.java | 21 ++++++++---- .../hadoop/hdfs/protocol/HdfsConstants.java | 3 +- .../BlockStoragePolicySuite.java | 4 ++- .../server/common/HdfsServerConstants.java | 5 +-- .../hdfs/server/datanode/StorageLocation.java | 4 ++- .../hdfs/server/namenode/FSEditLogOp.java | 3 +- .../namenode/QuotaByStorageTypeEntry.java | 3 +- .../server/namenode/SecondaryNameNode.java | 2 +- .../org/apache/hadoop/hdfs/tools/GetConf.java | 17 +++++----- .../OfflineEditsVisitorFactory.java | 7 ++-- .../offlineImageViewer/FSImageHandler.java | 3 +- .../apache/hadoop/hdfs/web/AuthFilter.java | 3 +- .../apache/hadoop/hdfs/web/ParamFilter.java | 3 +- .../hadoop/hdfs/web/WebHdfsFileSystem.java | 5 +-- .../hadoop/hdfs/web/resources/EnumParam.java | 3 +- .../hdfs/web/resources/EnumSetParam.java | 4 ++- .../snapshot/TestSnapshotManager.java | 5 +-- .../jobhistory/JobHistoryEventHandler.java | 4 ++- .../v2/app/webapp/AppController.java | 2 +- .../hadoop/mapreduce/TypeConverter.java | 3 +- .../hadoop/mapreduce/v2/util/MRApps.java | 5 +-- .../hadoop/mapreduce/TestTypeConverter.java | 4 ++- .../java/org/apache/hadoop/mapred/Task.java | 3 +- .../counters/FileSystemCounterGroup.java | 2 +- .../mapreduce/filecache/DistributedCache.java | 4 +-- .../mapreduce/lib/db/DBInputFormat.java | 4 ++- .../apache/hadoop/mapreduce/tools/CLI.java | 8 +++-- .../java/org/apache/hadoop/fs/TestDFSIO.java | 20 ++++++----- .../org/apache/hadoop/fs/TestFileSystem.java | 6 +++- .../org/apache/hadoop/fs/slive/Constants.java | 6 ++-- .../apache/hadoop/fs/slive/OperationData.java | 4 ++- .../hadoop/fs/slive/OperationOutput.java | 4 ++- .../org/apache/hadoop/fs/slive/SliveTest.java | 3 +- .../java/org/apache/hadoop/io/FileBench.java | 17 ++++++---- .../org/apache/hadoop/mapred/TestMapRed.java | 3 +- .../hadoop/examples/DBCountPageView.java | 3 +- .../plugin/versioninfo/VersionInfoMojo.java | 4 ++- .../fs/azure/AzureNativeFileSystemStore.java | 4 +-- .../apache/hadoop/tools/util/DistCpUtils.java | 11 +++--- .../org/apache/hadoop/tools/DistCpV1.java | 5 ++- .../gridmix/GridmixJobSubmissionPolicy.java | 3 +- .../tools/rumen/HadoopLogsAnalyzer.java | 34 ++++++++++--------- .../apache/hadoop/tools/rumen/JobBuilder.java | 3 +- .../apache/hadoop/tools/rumen/LoggedTask.java | 3 +- .../hadoop/tools/rumen/LoggedTaskAttempt.java | 3 +- .../apache/hadoop/streaming/Environment.java | 2 +- .../yarn/client/cli/ApplicationCLI.java | 5 +-- .../hadoop/yarn/client/cli/NodeCLI.java | 4 ++- .../impl/pb/GetApplicationsRequestPBImpl.java | 6 ++-- .../ApplicationSubmissionContextPBImpl.java | 3 +- .../hadoop/yarn/webapp/hamlet/HamletGen.java | 5 +-- .../webapp/AHSWebServices.java | 4 ++- .../timeline/webapp/TimelineWebServices.java | 3 +- .../yarn/server/webapp/WebServices.java | 10 +++--- .../resourcemanager/ClientRMService.java | 3 +- .../resource/ResourceWeights.java | 3 +- .../CapacitySchedulerConfiguration.java | 6 ++-- .../fair/FairSchedulerConfiguration.java | 3 +- .../scheduler/fair/SchedulingPolicy.java | 3 +- .../resourcemanager/webapp/NodesPage.java | 3 +- .../resourcemanager/webapp/RMWebServices.java | 19 +++++++---- 98 files changed, 331 insertions(+), 191 deletions(-) diff --git a/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/tools/StabilityOptions.java b/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/tools/StabilityOptions.java index dbce31e1eb..657dbce812 100644 --- a/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/tools/StabilityOptions.java +++ b/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/tools/StabilityOptions.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Locale; class StabilityOptions { public static final String STABLE_OPTION = "-stable"; @@ -28,7 +29,7 @@ class StabilityOptions { public static final String UNSTABLE_OPTION = "-unstable"; public static Integer optionLength(String option) { - String opt = option.toLowerCase(); + String opt = option.toLowerCase(Locale.ENGLISH); if (opt.equals(UNSTABLE_OPTION)) return 1; if (opt.equals(EVOLVING_OPTION)) return 1; if (opt.equals(STABLE_OPTION)) return 1; @@ -38,7 +39,7 @@ public static Integer optionLength(String option) { public static void validOptions(String[][] options, DocErrorReporter reporter) { for (int i = 0; i < options.length; i++) { - String opt = options[i][0].toLowerCase(); + String opt = options[i][0].toLowerCase(Locale.ENGLISH); if (opt.equals(UNSTABLE_OPTION)) { RootDocProcessor.stability = UNSTABLE_OPTION; } else if (opt.equals(EVOLVING_OPTION)) { diff --git a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/AltKerberosAuthenticationHandler.java b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/AltKerberosAuthenticationHandler.java index 987330fa0e..dae3b50ad1 100644 --- a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/AltKerberosAuthenticationHandler.java +++ b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/AltKerberosAuthenticationHandler.java @@ -14,6 +14,7 @@ package org.apache.hadoop.security.authentication.server; import java.io.IOException; +import java.util.Locale; import java.util.Properties; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -68,7 +69,8 @@ public void init(Properties config) throws ServletException { NON_BROWSER_USER_AGENTS, NON_BROWSER_USER_AGENTS_DEFAULT) .split("\\W*,\\W*"); for (int i = 0; i < nonBrowserUserAgents.length; i++) { - nonBrowserUserAgents[i] = nonBrowserUserAgents[i].toLowerCase(); + nonBrowserUserAgents[i] = + nonBrowserUserAgents[i].toLowerCase(Locale.ENGLISH); } } @@ -120,7 +122,7 @@ protected boolean isBrowser(String userAgent) { if (userAgent == null) { return false; } - userAgent = userAgent.toLowerCase(); + userAgent = userAgent.toLowerCase(Locale.ENGLISH); boolean isBrowser = true; for (String nonBrowserUserAgent : nonBrowserUserAgents) { if (userAgent.contains(nonBrowserUserAgent)) { diff --git a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/util/TestKerberosUtil.java b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/util/TestKerberosUtil.java index b0e8f04a8f..89e07d1a5f 100644 --- a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/util/TestKerberosUtil.java +++ b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/util/TestKerberosUtil.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Locale; import java.util.regex.Pattern; import org.apache.directory.server.kerberos.shared.keytab.Keytab; @@ -58,24 +59,25 @@ public void testGetServerPrincipal() throws IOException { // send null hostname Assert.assertEquals("When no hostname is sent", - service + "/" + localHostname.toLowerCase(), + service + "/" + localHostname.toLowerCase(Locale.ENGLISH), KerberosUtil.getServicePrincipal(service, null)); // send empty hostname Assert.assertEquals("When empty hostname is sent", - service + "/" + localHostname.toLowerCase(), + service + "/" + localHostname.toLowerCase(Locale.ENGLISH), KerberosUtil.getServicePrincipal(service, "")); // send 0.0.0.0 hostname Assert.assertEquals("When 0.0.0.0 hostname is sent", - service + "/" + localHostname.toLowerCase(), + service + "/" + localHostname.toLowerCase(Locale.ENGLISH), KerberosUtil.getServicePrincipal(service, "0.0.0.0")); // send uppercase hostname Assert.assertEquals("When uppercase hostname is sent", - service + "/" + testHost.toLowerCase(), + service + "/" + testHost.toLowerCase(Locale.ENGLISH), KerberosUtil.getServicePrincipal(service, testHost)); // send lowercase hostname Assert.assertEquals("When lowercase hostname is sent", - service + "/" + testHost.toLowerCase(), - KerberosUtil.getServicePrincipal(service, testHost.toLowerCase())); + service + "/" + testHost.toLowerCase(Locale.ENGLISH), + KerberosUtil.getServicePrincipal( + service, testHost.toLowerCase(Locale.ENGLISH))); } @Test diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 7a065d51f3..e6d560a357 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -405,6 +405,8 @@ Trunk (Unreleased) HADOOP-11585. Fix formatting in Tracing.md (Masatake Iwasaki via aw) + HADOOP-11602. Fix toUpperCase/toLowerCase to use Locale.ENGLISH. (ozawa) + OPTIMIZATIONS HADOOP-7761. Improve the performance of raw comparisons. (todd) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java index 02654b77b5..5909e62b5e 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java @@ -46,6 +46,7 @@ import java.util.LinkedList; import java.util.List; import java.util.ListIterator; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; @@ -1451,7 +1452,7 @@ public boolean getBoolean(String name, boolean defaultValue) { return defaultValue; } - valueString = valueString.toLowerCase(); + valueString = valueString.toLowerCase(Locale.ENGLISH); if ("true".equals(valueString)) return true; diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/CipherSuite.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/CipherSuite.java index c9355d7cbf..c5601eba7f 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/CipherSuite.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/CipherSuite.java @@ -18,6 +18,7 @@ package org.apache.hadoop.crypto; +import java.util.Locale; import org.apache.hadoop.classification.InterfaceAudience; /** @@ -97,7 +98,7 @@ public String getConfigSuffix() { String[] parts = name.split("/"); StringBuilder suffix = new StringBuilder(); for (String part : parts) { - suffix.append(".").append(part.toLowerCase()); + suffix.append(".").append(part.toLowerCase(Locale.ENGLISH)); } return suffix.toString(); diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/JavaKeyStoreProvider.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/JavaKeyStoreProvider.java index bfec1ef1a9..9e09b6ec54 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/JavaKeyStoreProvider.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/JavaKeyStoreProvider.java @@ -53,6 +53,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; @@ -422,7 +423,7 @@ public Metadata getMetadata(String name) throws IOException { @Override public KeyVersion createKey(String name, byte[] material, Options options) throws IOException { - Preconditions.checkArgument(name.equals(name.toLowerCase()), + Preconditions.checkArgument(name.equals(name.toLowerCase(Locale.ENGLISH)), "Uppercase key names are unsupported: %s", name); writeLock.lock(); try { diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java index cfa519861a..f52ecadd47 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java @@ -33,6 +33,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.NoSuchElementException; import java.util.ServiceLoader; @@ -2795,8 +2796,10 @@ static class Key { } Key(URI uri, Configuration conf, long unique) throws IOException { - scheme = uri.getScheme()==null?"":uri.getScheme().toLowerCase(); - authority = uri.getAuthority()==null?"":uri.getAuthority().toLowerCase(); + scheme = uri.getScheme() == null ? + "" : uri.getScheme().toLowerCase(Locale.ENGLISH); + authority = uri.getAuthority() == null ? + "" : uri.getAuthority().toLowerCase(Locale.ENGLISH); this.unique = unique; this.ugi = UserGroupInformation.getCurrentUser(); diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java index b9def6447a..6397564750 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Locale; import com.google.common.base.Objects; @@ -106,7 +107,7 @@ public String toString() { sb.append("default:"); } if (type != null) { - sb.append(type.toString().toLowerCase()); + sb.append(type.toString().toLowerCase(Locale.ENGLISH)); } sb.append(':'); if (name != null) { @@ -263,7 +264,8 @@ public static AclEntry parseAclEntry(String aclStr, AclEntryType aclType = null; try { - aclType = Enum.valueOf(AclEntryType.class, split[index].toUpperCase()); + aclType = Enum.valueOf( + AclEntryType.class, split[index].toUpperCase(Locale.ENGLISH)); builder.setType(aclType); index++; } catch (IllegalArgumentException iae) { diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Name.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Name.java index 88314c6474..4c937ef8aa 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Name.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Name.java @@ -19,6 +19,7 @@ import java.io.IOException; import java.util.Deque; +import java.util.Locale; import org.apache.hadoop.fs.GlobPattern; import org.apache.hadoop.fs.shell.PathData; @@ -73,7 +74,7 @@ public void addArguments(Deque args) { public void prepare() throws IOException { String argPattern = getArgument(1); if (!caseSensitive) { - argPattern = argPattern.toLowerCase(); + argPattern = argPattern.toLowerCase(Locale.ENGLISH); } globPattern = new GlobPattern(argPattern); } @@ -82,7 +83,7 @@ public void prepare() throws IOException { public Result apply(PathData item, int depth) throws IOException { String name = getPath(item).getName(); if (!caseSensitive) { - name = name.toLowerCase(); + name = name.toLowerCase(Locale.ENGLISH); } if (globPattern.matches(name)) { return Result.PASS; diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/CompressionCodecFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/CompressionCodecFactory.java index eb35759c9c..6d168238da 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/CompressionCodecFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/CompressionCodecFactory.java @@ -65,10 +65,10 @@ private void addCodec(CompressionCodec codec) { codecsByClassName.put(codec.getClass().getCanonicalName(), codec); String codecName = codec.getClass().getSimpleName(); - codecsByName.put(codecName.toLowerCase(), codec); + codecsByName.put(codecName.toLowerCase(Locale.ENGLISH), codec); if (codecName.endsWith("Codec")) { codecName = codecName.substring(0, codecName.length() - "Codec".length()); - codecsByName.put(codecName.toLowerCase(), codec); + codecsByName.put(codecName.toLowerCase(Locale.ENGLISH), codec); } } @@ -240,7 +240,7 @@ public CompressionCodec getCodecByName(String codecName) { CompressionCodec codec = getCodecByClassName(codecName); if (codec == null) { // trying to get the codec by name in case the name was specified instead a class - codec = codecsByName.get(codecName.toLowerCase()); + codec = codecsByName.get(codecName.toLowerCase(Locale.ENGLISH)); } return codec; } diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java index 167205e93e..f87ef4d4cc 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsConfig.java @@ -85,12 +85,13 @@ class MetricsConfig extends SubsetConfiguration { private ClassLoader pluginLoader; MetricsConfig(Configuration c, String prefix) { - super(c, prefix.toLowerCase(Locale.US), "."); + super(c, prefix.toLowerCase(Locale.ENGLISH), "."); } static MetricsConfig create(String prefix) { - return loadFirst(prefix, "hadoop-metrics2-"+ prefix.toLowerCase(Locale.US) - +".properties", DEFAULT_FILE_NAME); + return loadFirst(prefix, "hadoop-metrics2" + "-" + + prefix.toLowerCase(Locale.ENGLISH) + +".properties", DEFAULT_FILE_NAME); } static MetricsConfig create(String prefix, String... fileNames) { diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java index 32b00f3fdf..8964934c33 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java @@ -617,6 +617,6 @@ private InitMode initMode() { String m = System.getProperty(MS_INIT_MODE_KEY); String m2 = m == null ? System.getenv(MS_INIT_MODE_KEY) : m; return InitMode.valueOf((m2 == null ? InitMode.NORMAL.name() : m2) - .toUpperCase(Locale.US)); + .toUpperCase(Locale.ENGLISH)); } } diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java index 7cbee26f18..355ea91988 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java @@ -182,7 +182,8 @@ private static String replacePattern(String[] components, String hostname) if (fqdn == null || fqdn.isEmpty() || fqdn.equals("0.0.0.0")) { fqdn = getLocalHostName(); } - return components[0] + "/" + fqdn.toLowerCase(Locale.US) + "@" + components[2]; + return components[0] + "/" + fqdn.toLowerCase(Locale.ENGLISH) + "@" + + components[2]; } static String getLocalHostName() throws UnknownHostException { @@ -379,7 +380,7 @@ public static Text buildTokenService(InetSocketAddress addr) { } host = addr.getAddress().getHostAddress(); } else { - host = addr.getHostName().toLowerCase(); + host = addr.getHostName().toLowerCase(Locale.ENGLISH); } return new Text(host + ":" + addr.getPort()); } diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/WhitelistBasedResolver.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/WhitelistBasedResolver.java index dc0815ed76..59d149217d 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/WhitelistBasedResolver.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/WhitelistBasedResolver.java @@ -19,6 +19,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.Locale; import java.util.Map; import java.util.TreeMap; @@ -138,7 +139,8 @@ static Map getSaslProperties(Configuration conf) { QualityOfProtection.PRIVACY.toString()); for (int i=0; i < qop.length; i++) { - qop[i] = QualityOfProtection.valueOf(qop[i].toUpperCase()).getSaslQop(); + qop[i] = QualityOfProtection.valueOf( + qop[i].toUpperCase(Locale.ENGLISH)).getSaslQop(); } saslProps.put(Sasl.QOP, StringUtils.join(",", qop)); diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/FileBasedKeyStoresFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/FileBasedKeyStoresFactory.java index 4b81e17095..50f96d6093 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/FileBasedKeyStoresFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/FileBasedKeyStoresFactory.java @@ -33,6 +33,7 @@ import java.security.GeneralSecurityException; import java.security.KeyStore; import java.text.MessageFormat; +import java.util.Locale; /** * {@link KeyStoresFactory} implementation that reads the certificates from @@ -94,7 +95,8 @@ public class FileBasedKeyStoresFactory implements KeyStoresFactory { @VisibleForTesting public static String resolvePropertyName(SSLFactory.Mode mode, String template) { - return MessageFormat.format(template, mode.toString().toLowerCase()); + return MessageFormat.format( + template, mode.toString().toLowerCase(Locale.ENGLISH)); } /** diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLFactory.java index bbea33b7a0..370f09f898 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLFactory.java @@ -33,6 +33,7 @@ import java.io.IOException; import java.net.HttpURLConnection; import java.security.GeneralSecurityException; +import java.util.Locale; /** * Factory that creates SSLEngine and SSLSocketFactory instances using @@ -138,7 +139,7 @@ public void init() throws GeneralSecurityException, IOException { private HostnameVerifier getHostnameVerifier(Configuration conf) throws GeneralSecurityException, IOException { return getHostnameVerifier(conf.get(SSL_HOSTNAME_VERIFIER_KEY, "DEFAULT"). - trim().toUpperCase()); + trim().toUpperCase(Locale.ENGLISH)); } public static HostnameVerifier getHostnameVerifier(String verifier) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLHostnameVerifier.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLHostnameVerifier.java index dd5e67b48b..7a905f1dae 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLHostnameVerifier.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/ssl/SSLHostnameVerifier.java @@ -41,6 +41,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.StringTokenizer; import java.util.TreeSet; @@ -365,7 +366,7 @@ public void check(final String[] hosts, final String[] cns, buf.append('<'); for (int i = 0; i < hosts.length; i++) { String h = hosts[i]; - h = h != null ? h.trim().toLowerCase() : ""; + h = h != null ? h.trim().toLowerCase(Locale.ENGLISH) : ""; hosts[i] = h; if (i > 0) { buf.append('/'); @@ -406,7 +407,7 @@ public void check(final String[] hosts, final String[] cns, out: for (Iterator it = names.iterator(); it.hasNext();) { // Don't trim the CN, though! - final String cn = it.next().toLowerCase(); + final String cn = it.next().toLowerCase(Locale.ENGLISH); // Store CN in StringBuffer in case we need to report an error. buf.append(" <"); buf.append(cn); @@ -424,7 +425,8 @@ public void check(final String[] hosts, final String[] cns, acceptableCountryWildcard(cn); for (int i = 0; i < hosts.length; i++) { - final String hostName = hosts[i].trim().toLowerCase(); + final String hostName = + hosts[i].trim().toLowerCase(Locale.ENGLISH); if (doWildcard) { match = hostName.endsWith(cn.substring(1)); if (match && strictWithSubDomains) { @@ -479,7 +481,7 @@ public static boolean acceptableCountryWildcard(final String cn) { } public static boolean isLocalhost(String host) { - host = host != null ? host.trim().toLowerCase() : ""; + host = host != null ? host.trim().toLowerCase(Locale.ENGLISH) : ""; if (host.startsWith("::1")) { int x = host.lastIndexOf('%'); if (x >= 0) { diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticationHandler.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticationHandler.java index c18b5d32cf..f1bcd5dc54 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticationHandler.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticationHandler.java @@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.Set; @@ -169,7 +170,7 @@ public boolean managementOperation(AuthenticationToken token, boolean requestContinues = true; String op = ServletUtils.getParameter(request, KerberosDelegationTokenAuthenticator.OP_PARAM); - op = (op != null) ? op.toUpperCase() : null; + op = (op != null) ? op.toUpperCase(Locale.ENGLISH) : null; if (DELEGATION_TOKEN_OPS.contains(op) && !request.getMethod().equals("OPTIONS")) { KerberosDelegationTokenAuthenticator.DelegationTokenOperation dtOp = diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticator.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticator.java index d93f7acf6c..5d826b7735 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticator.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/web/DelegationTokenAuthenticator.java @@ -37,6 +37,7 @@ import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; +import java.util.Locale; import java.util.Map; /** @@ -286,8 +287,8 @@ private Map doDelegationTokenOperation(URL url, HttpExceptionUtils.validateResponse(conn, HttpURLConnection.HTTP_OK); if (hasResponse) { String contentType = conn.getHeaderField(CONTENT_TYPE); - contentType = (contentType != null) ? contentType.toLowerCase() - : null; + contentType = (contentType != null) ? + contentType.toLowerCase(Locale.ENGLISH) : null; if (contentType != null && contentType.contains(APPLICATION_JSON_MIME)) { try { diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StringUtils.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StringUtils.java index ff8edc389d..c1acc7e436 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StringUtils.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StringUtils.java @@ -901,7 +901,7 @@ public static String join(CharSequence separator, String[] strings) { */ public static String camelize(String s) { StringBuilder sb = new StringBuilder(); - String[] words = split(s.toLowerCase(Locale.US), ESCAPE_CHAR, '_'); + String[] words = split(s.toLowerCase(Locale.ENGLISH), ESCAPE_CHAR, '_'); for (String word : words) sb.append(org.apache.commons.lang.StringUtils.capitalize(word)); diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestIPC.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestIPC.java index eb19f48e63..e52cb2657e 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestIPC.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestIPC.java @@ -43,6 +43,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Random; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CountDownLatch; @@ -1296,7 +1297,7 @@ private static byte[] hexDumpToBytes(String hexdump) { StringBuilder hexString = new StringBuilder(); - for (String line : hexdump.toUpperCase().split("\n")) { + for (String line : hexdump.toUpperCase(Locale.ENGLISH).split("\n")) { hexString.append(line.substring(0, LAST_HEX_COL).replace(" ", "")); } return StringUtils.hexStringToByte(hexString.toString()); diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestSaslRPC.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestSaslRPC.java index 903990b78a..9b25b77b1d 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestSaslRPC.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestSaslRPC.java @@ -41,6 +41,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.regex.Pattern; @@ -181,7 +182,7 @@ static String getQOPNames (QualityOfProtection[] qops){ StringBuilder sb = new StringBuilder(); int i = 0; for (QualityOfProtection qop:qops){ - sb.append(qop.name().toLowerCase()); + sb.append(qop.name().toLowerCase(Locale.ENGLISH)); if (++i < qops.length){ sb.append(","); } diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestSecurityUtil.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestSecurityUtil.java index 4616c9071d..1d68f8af57 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestSecurityUtil.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestSecurityUtil.java @@ -103,13 +103,13 @@ public void testPrincipalsWithLowerCaseHosts() throws IOException { String realm = "@REALM"; String principalInConf = service + SecurityUtil.HOSTNAME_PATTERN + realm; String hostname = "FooHost"; - String principal = service + hostname.toLowerCase() + realm; + String principal = service + hostname.toLowerCase(Locale.ENGLISH) + realm; verify(principalInConf, hostname, principal); } @Test public void testLocalHostNameForNullOrWild() throws Exception { - String local = SecurityUtil.getLocalHostName().toLowerCase(Locale.US); + String local = SecurityUtil.getLocalHostName().toLowerCase(Locale.ENGLISH); assertEquals("hdfs/" + local + "@REALM", SecurityUtil.getServerPrincipal("hdfs/_HOST@REALM", (String)null)); assertEquals("hdfs/" + local + "@REALM", @@ -260,7 +260,7 @@ void runBadPortPermutes(String arg, boolean validIfPosPort) { //LOG.info("address:"+addr+" host:"+host+" ip:"+ip+" port:"+port); SecurityUtil.setTokenServiceUseIp(useIp); - String serviceHost = useIp ? ip : host.toLowerCase(); + String serviceHost = useIp ? ip : host.toLowerCase(Locale.ENGLISH); Token token = new Token(); Text service = new Text(serviceHost+":"+port); diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java index 48b9b99928..d77d9b5c65 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java @@ -41,6 +41,7 @@ import java.util.Collection; import java.util.ConcurrentModificationException; import java.util.LinkedHashSet; +import java.util.Locale; import java.util.Set; import static org.apache.hadoop.fs.CommonConfigurationKeys.HADOOP_USER_GROUP_METRICS_PERCENTILES_INTERVALS; @@ -213,7 +214,7 @@ public void testGetServerSideGroups() throws IOException, userName = userName.substring(sp + 1); } // user names are case insensitive on Windows. Make consistent - userName = userName.toLowerCase(); + userName = userName.toLowerCase(Locale.ENGLISH); } // get the groups pp = Runtime.getRuntime().exec(Shell.WINDOWS ? @@ -233,7 +234,7 @@ public void testGetServerSideGroups() throws IOException, String loginUserName = login.getShortUserName(); if(Shell.WINDOWS) { // user names are case insensitive on Windows. Make consistent - loginUserName = loginUserName.toLowerCase(); + loginUserName = loginUserName.toLowerCase(Locale.ENGLISH); } assertEquals(userName, loginUserName); diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/TimedOutTestsListener.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/TimedOutTestsListener.java index 220ab1daea..4ebf29a970 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/TimedOutTestsListener.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/TimedOutTestsListener.java @@ -27,6 +27,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; import java.util.Map; import org.junit.runner.notification.Failure; @@ -93,7 +94,8 @@ static String buildThreadDump() { thread.getPriority(), thread.getId(), Thread.State.WAITING.equals(thread.getState()) ? - "in Object.wait()" : thread.getState().name().toLowerCase(), + "in Object.wait()" : + thread.getState().name().toLowerCase(Locale.ENGLISH), Thread.State.WAITING.equals(thread.getState()) ? "WAITING (on object monitor)" : thread.getState())); for (StackTraceElement stackTraceElement : e.getValue()) { diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestWinUtils.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestWinUtils.java index 2d4e442046..708fc4c240 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestWinUtils.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestWinUtils.java @@ -27,6 +27,7 @@ import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; +import java.util.Locale; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; @@ -382,8 +383,10 @@ private void chown(String userGroup, File file) throws IOException { private void assertOwners(File file, String expectedUser, String expectedGroup) throws IOException { String [] args = lsF(file).trim().split("[\\|]"); - assertEquals(expectedUser.toLowerCase(), args[2].toLowerCase()); - assertEquals(expectedGroup.toLowerCase(), args[3].toLowerCase()); + assertEquals(expectedUser.toLowerCase(Locale.ENGLISH), + args[2].toLowerCase(Locale.ENGLISH)); + assertEquals(expectedGroup.toLowerCase(Locale.ENGLISH), + args[3].toLowerCase(Locale.ENGLISH)); } @Test (timeout = 30000) diff --git a/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java b/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java index b617ae5088..cef8f99ae8 100644 --- a/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java +++ b/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java @@ -20,6 +20,7 @@ import java.net.InetAddress; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.regex.Pattern; import org.apache.commons.logging.Log; @@ -359,10 +360,10 @@ private static Match getMatch(String line) { AccessPrivilege privilege = AccessPrivilege.READ_ONLY; switch (parts.length) { case 1: - host = parts[0].toLowerCase().trim(); + host = parts[0].toLowerCase(Locale.ENGLISH).trim(); break; case 2: - host = parts[0].toLowerCase().trim(); + host = parts[0].toLowerCase(Locale.ENGLISH).trim(); String option = parts[1].trim(); if ("rw".equalsIgnoreCase(option)) { privilege = AccessPrivilege.READ_WRITE; diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/CheckUploadContentTypeFilter.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/CheckUploadContentTypeFilter.java index 836b4ce9ff..7074ba28bf 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/CheckUploadContentTypeFilter.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/CheckUploadContentTypeFilter.java @@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashSet; +import java.util.Locale; import java.util.Set; /** @@ -82,7 +83,8 @@ public void doFilter(ServletRequest request, ServletResponse response, String method = httpReq.getMethod(); if (method.equals("PUT") || method.equals("POST")) { String op = httpReq.getParameter(HttpFSFileSystem.OP_PARAM); - if (op != null && UPLOAD_OPERATIONS.contains(op.toUpperCase())) { + if (op != null && + UPLOAD_OPERATIONS.contains(op.toUpperCase(Locale.ENGLISH))) { if ("true".equalsIgnoreCase(httpReq.getParameter(HttpFSParametersProvider.DataParam.NAME))) { String contentType = httpReq.getContentType(); contentTypeOK = diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java index e7d92f5958..4b72a51f27 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java @@ -43,6 +43,7 @@ import java.util.EnumSet; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; @@ -527,7 +528,8 @@ public FSDelete(String path, boolean recursive) { @Override public JSONObject execute(FileSystem fs) throws IOException { boolean deleted = fs.delete(path, recursive); - return toJSON(HttpFSFileSystem.DELETE_JSON.toLowerCase(), deleted); + return toJSON( + HttpFSFileSystem.DELETE_JSON.toLowerCase(Locale.ENGLISH), deleted); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java index 9b0be9bfc0..fb0666772b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java @@ -33,6 +33,7 @@ import javax.ws.rs.ext.Provider; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; @@ -167,7 +168,8 @@ public static class OperationParam extends EnumParam */ public OperationParam(String operation) { super(NAME, HttpFSFileSystem.Operation.class, - HttpFSFileSystem.Operation.valueOf(operation.toUpperCase())); + HttpFSFileSystem.Operation.valueOf( + operation.toUpperCase(Locale.ENGLISH))); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/server/Server.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/server/Server.java index 5c1bb4f727..e2ef7a1814 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/server/Server.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/server/Server.java @@ -36,6 +36,7 @@ import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Properties; @@ -202,7 +203,7 @@ public Server(String name, String homeDir, Configuration config) { * @param config server configuration. */ public Server(String name, String homeDir, String configDir, String logDir, String tempDir, Configuration config) { - this.name = Check.notEmpty(name, "name").trim().toLowerCase(); + this.name = Check.notEmpty(name, "name").trim().toLowerCase(Locale.ENGLISH); this.homeDir = Check.notEmpty(homeDir, "homeDir"); this.configDir = Check.notEmpty(configDir, "configDir"); this.logDir = Check.notEmpty(logDir, "logDir"); diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/service/hadoop/FileSystemAccessService.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/service/hadoop/FileSystemAccessService.java index ccb15a30ba..fd2e822ac3 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/service/hadoop/FileSystemAccessService.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/service/hadoop/FileSystemAccessService.java @@ -43,6 +43,7 @@ import java.security.PrivilegedExceptionAction; import java.util.Collection; import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -254,7 +255,7 @@ public void run() { private Set toLowerCase(Collection collection) { Set set = new HashSet(); for (String value : collection) { - set.add(value.toLowerCase()); + set.add(value.toLowerCase(Locale.ENGLISH)); } return set; } @@ -300,7 +301,7 @@ protected void closeFileSystem(FileSystem fs) throws IOException { protected void validateNamenode(String namenode) throws FileSystemAccessException { if (nameNodeWhitelist.size() > 0 && !nameNodeWhitelist.contains("*")) { - if (!nameNodeWhitelist.contains(namenode.toLowerCase())) { + if (!nameNodeWhitelist.contains(namenode.toLowerCase(Locale.ENGLISH))) { throw new FileSystemAccessException(FileSystemAccessException.ERROR.H05, namenode, "not in whitelist"); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumParam.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumParam.java index 8baef67e8c..08eb60d957 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumParam.java @@ -22,6 +22,7 @@ import org.apache.hadoop.util.StringUtils; import java.util.Arrays; +import java.util.Locale; @InterfaceAudience.Private public abstract class EnumParam> extends Param { @@ -34,7 +35,7 @@ public EnumParam(String name, Class e, E defaultValue) { @Override protected E parse(String str) throws Exception { - return Enum.valueOf(klass, str.toUpperCase()); + return Enum.valueOf(klass, str.toUpperCase(Locale.ENGLISH)); } @Override diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumSetParam.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumSetParam.java index 8d79b71886..25158fd986 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumSetParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/EnumSetParam.java @@ -20,6 +20,7 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.Iterator; +import java.util.Locale; import org.apache.hadoop.classification.InterfaceAudience; @@ -37,7 +38,7 @@ protected EnumSet parse(String str) throws Exception { final EnumSet set = EnumSet.noneOf(klass); if (!str.isEmpty()) { for (String sub : str.split(",")) { - set.add(Enum.valueOf(klass, sub.trim().toUpperCase())); + set.add(Enum.valueOf(klass, sub.trim().toUpperCase(Locale.ENGLISH))); } } return set; diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/ParametersProvider.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/ParametersProvider.java index 4703a904a1..9857244bd0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/ParametersProvider.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/ParametersProvider.java @@ -33,6 +33,7 @@ import java.text.MessageFormat; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; /** @@ -70,7 +71,7 @@ public Parameters getValue(HttpContext httpContext) { } Enum op; try { - op = Enum.valueOf(enumClass, str.toUpperCase()); + op = Enum.valueOf(enumClass, str.toUpperCase(Locale.ENGLISH)); } catch (IllegalArgumentException ex) { throw new IllegalArgumentException( MessageFormat.format("Invalid Operation [{0}]", str)); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StorageType.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StorageType.java index a26ed91d11..745e44b548 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StorageType.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StorageType.java @@ -21,6 +21,7 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; @@ -78,7 +79,7 @@ public static StorageType parseStorageType(int i) { } public static StorageType parseStorageType(String s) { - return StorageType.valueOf(s.toUpperCase()); + return StorageType.valueOf(s.toUpperCase(Locale.ENGLISH)); } private static List getNonTransientTypes() { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/XAttrHelper.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/XAttrHelper.java index 04364ccf7e..1b5b8eb978 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/XAttrHelper.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/XAttrHelper.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs; import java.util.List; +import java.util.Locale; import java.util.Map; import org.apache.hadoop.HadoopIllegalArgumentException; @@ -57,16 +58,22 @@ public static XAttr buildXAttr(String name, byte[] value) { } NameSpace ns; - final String prefix = name.substring(0, prefixIndex).toLowerCase(); - if (prefix.equals(NameSpace.USER.toString().toLowerCase())) { + final String prefix = name.substring(0, prefixIndex) + .toLowerCase(Locale.ENGLISH); + if (prefix.equals( + NameSpace.USER.toString().toLowerCase(Locale.ENGLISH))) { ns = NameSpace.USER; - } else if (prefix.equals(NameSpace.TRUSTED.toString().toLowerCase())) { + } else if (prefix.equals( + NameSpace.TRUSTED.toString().toLowerCase(Locale.ENGLISH))) { ns = NameSpace.TRUSTED; - } else if (prefix.equals(NameSpace.SYSTEM.toString().toLowerCase())) { + } else if (prefix.equals( + NameSpace.SYSTEM.toString().toLowerCase(Locale.ENGLISH))) { ns = NameSpace.SYSTEM; - } else if (prefix.equals(NameSpace.SECURITY.toString().toLowerCase())) { + } else if (prefix.equals( + NameSpace.SECURITY.toString().toLowerCase(Locale.ENGLISH))) { ns = NameSpace.SECURITY; - } else if (prefix.equals(NameSpace.RAW.toString().toLowerCase())) { + } else if (prefix.equals( + NameSpace.RAW.toString().toLowerCase(Locale.ENGLISH))) { ns = NameSpace.RAW; } else { throw new HadoopIllegalArgumentException("An XAttr name must be " + @@ -145,7 +152,7 @@ public static String getPrefixName(XAttr xAttr) { } String namespace = xAttr.getNameSpace().toString(); - return namespace.toLowerCase() + "." + xAttr.getName(); + return namespace.toLowerCase(Locale.ENGLISH) + "." + xAttr.getName(); } /** diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java index 54da8ebe8d..1769794953 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs.protocol; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.apache.hadoop.classification.InterfaceAudience; @@ -98,7 +99,7 @@ public static enum RollingUpgradeAction { /** Covert the given String to a RollingUpgradeAction. */ public static RollingUpgradeAction fromString(String s) { - return MAP.get(s.toUpperCase()); + return MAP.get(s.toUpperCase(Locale.ENGLISH)); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockStoragePolicySuite.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockStoragePolicySuite.java index ce87b06fc7..a0eddad985 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockStoragePolicySuite.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockStoragePolicySuite.java @@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory; import java.util.List; +import java.util.Locale; /** A collection of block storage policies. */ public class BlockStoragePolicySuite { @@ -131,7 +132,8 @@ public BlockStoragePolicy[] getAllPolicies() { } public static String buildXAttrName() { - return XAttrNS.toString().toLowerCase() + "." + STORAGE_POLICY_XATTR_NAME; + return XAttrNS.toString().toLowerCase(Locale.ENGLISH) + "." + + STORAGE_POLICY_XATTR_NAME; } public static XAttr buildXAttr(byte policyId) { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HdfsServerConstants.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HdfsServerConstants.java index 9bba2c950b..3674d2c574 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HdfsServerConstants.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HdfsServerConstants.java @@ -20,6 +20,7 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -53,7 +54,7 @@ public static enum RollingUpgradeStartupOption{ public String getOptionString() { return StartupOption.ROLLINGUPGRADE.getName() + " " - + name().toLowerCase(); + + name().toLowerCase(Locale.ENGLISH); } public boolean matches(StartupOption option) { @@ -76,7 +77,7 @@ static RollingUpgradeStartupOption fromString(String s) { public static String getAllOptionString() { final StringBuilder b = new StringBuilder("<"); for(RollingUpgradeStartupOption opt : VALUES) { - b.append(opt.name().toLowerCase()).append("|"); + b.append(opt.name().toLowerCase(Locale.ENGLISH)).append("|"); } b.setCharAt(b.length() - 1, '>'); return b.toString(); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/StorageLocation.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/StorageLocation.java index feb5ac9ac2..2b2da5c3da 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/StorageLocation.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/StorageLocation.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs.server.datanode; +import java.util.Locale; import java.util.regex.Pattern; import java.io.File; @@ -88,7 +89,8 @@ public static StorageLocation parse(String rawLocation) String classString = matcher.group(1); location = matcher.group(2); if (!classString.isEmpty()) { - storageType = StorageType.valueOf(classString.toUpperCase()); + storageType = StorageType.valueOf( + classString.toUpperCase(Locale.ENGLISH)); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.java index dab10d3cc5..3dcce5f034 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.java @@ -75,6 +75,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.EnumMap; +import java.util.Locale; import java.util.List; import java.util.zip.CheckedInputStream; import java.util.zip.Checksum; @@ -4348,7 +4349,7 @@ static class RollingUpgradeOp extends FSEditLogOp { // @Idempotent public RollingUpgradeOp(FSEditLogOpCodes code, String name) { super(code); - this.name = name.toUpperCase(); + this.name = name.toUpperCase(Locale.ENGLISH); } static RollingUpgradeOp getStartInstance(OpInstanceCache cache) { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/QuotaByStorageTypeEntry.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/QuotaByStorageTypeEntry.java index d115acc5f3..fe185f686c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/QuotaByStorageTypeEntry.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/QuotaByStorageTypeEntry.java @@ -19,6 +19,7 @@ import com.google.common.base.Objects; import org.apache.hadoop.hdfs.StorageType; +import java.util.Locale; public class QuotaByStorageTypeEntry { private StorageType type; @@ -53,7 +54,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); assert (type != null); - sb.append(type.toString().toLowerCase()); + sb.append(type.toString().toLowerCase(Locale.ENGLISH)); sb.append(':'); sb.append(quota); return sb.toString(); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java index 83e6426a30..1157bb89ba 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java @@ -587,7 +587,7 @@ private int processStartupCommand(CommandLineOpts opts) throws Exception { return 0; } - String cmd = opts.getCommand().toString().toLowerCase(); + String cmd = opts.getCommand().toString().toLowerCase(Locale.ENGLISH); int exitCode = 0; try { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/GetConf.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/GetConf.java index 92a16cd282..c380901a3d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/GetConf.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/GetConf.java @@ -24,6 +24,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.apache.hadoop.HadoopIllegalArgumentException; @@ -79,19 +80,19 @@ enum Command { private static final Map map; static { map = new HashMap(); - map.put(NAMENODE.getName().toLowerCase(), + map.put(NAMENODE.getName().toLowerCase(Locale.ENGLISH), new NameNodesCommandHandler()); - map.put(SECONDARY.getName().toLowerCase(), + map.put(SECONDARY.getName().toLowerCase(Locale.ENGLISH), new SecondaryNameNodesCommandHandler()); - map.put(BACKUP.getName().toLowerCase(), + map.put(BACKUP.getName().toLowerCase(Locale.ENGLISH), new BackupNodesCommandHandler()); - map.put(INCLUDE_FILE.getName().toLowerCase(), + map.put(INCLUDE_FILE.getName().toLowerCase(Locale.ENGLISH), new CommandHandler(DFSConfigKeys.DFS_HOSTS)); - map.put(EXCLUDE_FILE.getName().toLowerCase(), + map.put(EXCLUDE_FILE.getName().toLowerCase(Locale.ENGLISH), new CommandHandler(DFSConfigKeys.DFS_HOSTS_EXCLUDE)); - map.put(NNRPCADDRESSES.getName().toLowerCase(), + map.put(NNRPCADDRESSES.getName().toLowerCase(Locale.ENGLISH), new NNRpcAddressesCommandHandler()); - map.put(CONFKEY.getName().toLowerCase(), + map.put(CONFKEY.getName().toLowerCase(Locale.ENGLISH), new PrintConfKeyCommandHandler()); } @@ -116,7 +117,7 @@ public String getDescription() { } public static CommandHandler getHandler(String cmd) { - return map.get(cmd.toLowerCase()); + return map.get(cmd.toLowerCase(Locale.ENGLISH)); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/OfflineEditsVisitorFactory.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/OfflineEditsVisitorFactory.java index c4b8424571..aa542d3f25 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/OfflineEditsVisitorFactory.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/OfflineEditsVisitorFactory.java @@ -20,6 +20,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.util.Locale; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; @@ -43,7 +44,7 @@ public class OfflineEditsVisitorFactory { */ static public OfflineEditsVisitor getEditsVisitor(String filename, String processor, boolean printToScreen) throws IOException { - if(processor.toLowerCase().equals("binary")) { + if(processor.toLowerCase(Locale.ENGLISH).equals("binary")) { return new BinaryEditsVisitor(filename); } OfflineEditsVisitor vis; @@ -59,9 +60,9 @@ static public OfflineEditsVisitor getEditsVisitor(String filename, outs[1] = System.out; out = new TeeOutputStream(outs); } - if(processor.toLowerCase().equals("xml")) { + if(processor.toLowerCase(Locale.ENGLISH).equals("xml")) { vis = new XmlEditsVisitor(out); - } else if(processor.toLowerCase().equals("stats")) { + } else if(processor.toLowerCase(Locale.ENGLISH).equals("stats")) { vis = new StatisticsEditsVisitor(out); } else { throw new IOException("Unknown proccesor " + processor + diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java index 43fcd69a83..aa365162f5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java @@ -37,6 +37,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.util.List; +import java.util.Locale; import java.util.Map; import static io.netty.handler.codec.http.HttpHeaders.Names.CONNECTION; @@ -141,7 +142,7 @@ public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) private static String getOp(QueryStringDecoder decoder) { Map> parameters = decoder.parameters(); return parameters.containsKey("op") - ? parameters.get("op").get(0).toUpperCase() : null; + ? parameters.get("op").get(0).toUpperCase(Locale.ENGLISH) : null; } private static String getPath(QueryStringDecoder decoder) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/AuthFilter.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/AuthFilter.java index b6ff4b656d..1a0aaebedd 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/AuthFilter.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/AuthFilter.java @@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Properties; @@ -96,7 +97,7 @@ private static HttpServletRequest toLowerCase(final HttpServletRequest request) final Map> m = new HashMap>(); for(Map.Entry entry : original.entrySet()) { - final String key = entry.getKey().toLowerCase(); + final String key = entry.getKey().toLowerCase(Locale.ENGLISH); List strings = m.get(key); if (strings == null) { strings = new ArrayList(); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/ParamFilter.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/ParamFilter.java index 2ae3445691..6a18377d2c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/ParamFilter.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/ParamFilter.java @@ -19,6 +19,7 @@ import java.net.URI; import java.util.List; +import java.util.Locale; import java.util.Map; import javax.ws.rs.core.MultivaluedMap; @@ -75,7 +76,7 @@ private static URI rebuildQuery(final URI uri, final MultivaluedMap parameters) { UriBuilder b = UriBuilder.fromUri(uri).replaceQuery(""); for(Map.Entry> e : parameters.entrySet()) { - final String key = e.getKey().toLowerCase(); + final String key = e.getKey().toLowerCase(Locale.ENGLISH); for(String v : e.getValue()) { b = b.queryParam(key, v); } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java index 938f7c77f6..b1026c02e8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.EnumSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; @@ -1242,7 +1243,7 @@ static URL removeOffsetParam(final URL url) throws MalformedURLException { if (query == null) { return url; } - final String lower = query.toLowerCase(); + final String lower = query.toLowerCase(Locale.ENGLISH); if (!lower.startsWith(OFFSET_PARAM_PREFIX) && !lower.contains("&" + OFFSET_PARAM_PREFIX)) { return url; @@ -1253,7 +1254,7 @@ static URL removeOffsetParam(final URL url) throws MalformedURLException { for(final StringTokenizer st = new StringTokenizer(query, "&"); st.hasMoreTokens();) { final String token = st.nextToken(); - if (!token.toLowerCase().startsWith(OFFSET_PARAM_PREFIX)) { + if (!token.toLowerCase(Locale.ENGLISH).startsWith(OFFSET_PARAM_PREFIX)) { if (b == null) { b = new StringBuilder("?").append(token); } else { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumParam.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumParam.java index 1703e3b25d..6b4ec2ca5b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumParam.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs.web.resources; import java.util.Arrays; +import java.util.Locale; abstract class EnumParam> extends Param> { EnumParam(final Domain domain, final E value) { @@ -40,7 +41,7 @@ public final String getDomain() { @Override final E parse(final String str) { - return Enum.valueOf(enumClass, str.toUpperCase()); + return Enum.valueOf(enumClass, str.toUpperCase(Locale.ENGLISH)); } } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumSetParam.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumSetParam.java index 5adb5a6fc2..23ba16ce65 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumSetParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/EnumSetParam.java @@ -20,6 +20,7 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.Iterator; +import java.util.Locale; abstract class EnumSetParam> extends Param, EnumSetParam.Domain> { /** Convert an EnumSet to a string of comma separated values. */ @@ -82,7 +83,8 @@ final EnumSet parse(final String str) { i = j > 0 ? j + 1 : 0; j = str.indexOf(',', i); final String sub = j >= 0? str.substring(i, j): str.substring(i); - set.add(Enum.valueOf(enumClass, sub.trim().toUpperCase())); + set.add( + Enum.valueOf(enumClass, sub.trim().toUpperCase(Locale.ENGLISH))); } } return set; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java index ac6acf90b6..db8f2907a8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java @@ -25,6 +25,7 @@ import static org.mockito.Mockito.spy; import java.util.ArrayList; +import java.util.Locale; import org.apache.hadoop.hdfs.protocol.SnapshotException; import org.apache.hadoop.hdfs.server.namenode.FSDirectory; @@ -70,7 +71,7 @@ public void testSnapshotLimits() throws Exception { Assert.fail("Expected SnapshotException not thrown"); } catch (SnapshotException se) { Assert.assertTrue( - se.getMessage().toLowerCase().contains("rollover")); + se.getMessage().toLowerCase(Locale.ENGLISH).contains("rollover")); } // Delete a snapshot to free up a slot. @@ -86,7 +87,7 @@ public void testSnapshotLimits() throws Exception { Assert.fail("Expected SnapshotException not thrown"); } catch (SnapshotException se) { Assert.assertTrue( - se.getMessage().toLowerCase().contains("rollover")); + se.getMessage().toLowerCase(Locale.ENGLISH).contains("rollover")); } } } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java index aad63d3158..ca204a69e3 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java @@ -23,6 +23,7 @@ import java.util.EnumSet; import java.util.HashMap; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -711,7 +712,8 @@ public void processEventForJobSummary(HistoryEvent event, JobSummary summary, private void processEventForTimelineServer(HistoryEvent event, JobId jobId, long timestamp) { TimelineEvent tEvent = new TimelineEvent(); - tEvent.setEventType(event.getEventType().name().toUpperCase()); + tEvent.setEventType( + event.getEventType().name().toUpperCase(Locale.ENGLISH)); tEvent.setTimestamp(timestamp); TimelineEntity tEntity = new TimelineEntity(); diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/AppController.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/AppController.java index 53f21db12d..440ff490cb 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/AppController.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/AppController.java @@ -227,7 +227,7 @@ public void tasks() { try { String tt = $(TASK_TYPE); tt = tt.isEmpty() ? "All" : StringUtils.capitalize(MRApps.taskType(tt). - toString().toLowerCase(Locale.US)); + toString().toLowerCase(Locale.ENGLISH)); setTitle(join(tt, " Tasks for ", $(JOB_ID))); } catch (Exception e) { LOG.error("Failed to render tasks page with task type : " diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java index 553ba707a0..e0c4773dcd 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapred.JobPriority; @@ -314,7 +315,7 @@ public static org.apache.hadoop.mapreduce.QueueState fromYarn( QueueState state) { org.apache.hadoop.mapreduce.QueueState qState = org.apache.hadoop.mapreduce.QueueState.getState( - state.toString().toLowerCase()); + state.toString().toLowerCase(Locale.ENGLISH)); return qState; } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRApps.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRApps.java index 08b44f8617..37cfb7a91c 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRApps.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRApps.java @@ -30,6 +30,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import com.google.common.annotations.VisibleForTesting; @@ -303,7 +304,7 @@ private static void addToClasspathIfNotJar(Path[] paths, remoteFS.getWorkingDirectory())); String name = (null == u.getFragment()) ? p.getName() : u.getFragment(); - if (!name.toLowerCase().endsWith(".jar")) { + if (!name.toLowerCase(Locale.ENGLISH).endsWith(".jar")) { linkLookup.put(p, name); } } @@ -317,7 +318,7 @@ private static void addToClasspathIfNotJar(Path[] paths, if (name == null) { name = p.getName(); } - if(!name.toLowerCase().endsWith(".jar")) { + if(!name.toLowerCase(Locale.ENGLISH).endsWith(".jar")) { MRApps.addToEnvironment( environment, classpathEnvVar, diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java index cc42b9c220..d360811032 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapreduce.JobStatus.State; @@ -153,7 +154,8 @@ public void testFromYarnQueueInfo() { org.apache.hadoop.mapreduce.QueueInfo returned = TypeConverter.fromYarn(queueInfo, new Configuration()); Assert.assertEquals("queueInfo translation didn't work.", - returned.getState().toString(), queueInfo.getQueueState().toString().toLowerCase()); + returned.getState().toString(), + queueInfo.getQueueState().toString().toLowerCase(Locale.ENGLISH)); } /** diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Task.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Task.java index 5274438782..73dab4f27a 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Task.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Task.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.NoSuchElementException; import java.util.concurrent.atomic.AtomicBoolean; @@ -116,7 +117,7 @@ public static enum Counter { * BYTES_READ counter and second one is of the BYTES_WRITTEN counter. */ protected static String[] getFileSystemCounterNames(String uriScheme) { - String scheme = uriScheme.toUpperCase(); + String scheme = uriScheme.toUpperCase(Locale.ENGLISH); return new String[]{scheme+"_BYTES_READ", scheme+"_BYTES_WRITTEN"}; } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java index a53b76a3c4..e8d5d1de7f 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java @@ -227,7 +227,7 @@ else if (counters[ord] == null) { } private String checkScheme(String scheme) { - String fixed = scheme.toUpperCase(Locale.US); + String fixed = scheme.toUpperCase(Locale.ENGLISH); String interned = schemes.putIfAbsent(fixed, fixed); if (schemes.size() > MAX_NUM_SCHEMES) { // mistakes or abuses diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/filecache/DistributedCache.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/filecache/DistributedCache.java index eaa5af8672..ef9b0a485e 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/filecache/DistributedCache.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/filecache/DistributedCache.java @@ -473,7 +473,7 @@ public static boolean checkURIs(URI[] uriFiles, URI[] uriArchives) { if (fragment == null) { return false; } - String lowerCaseFragment = fragment.toLowerCase(); + String lowerCaseFragment = fragment.toLowerCase(Locale.ENGLISH); if (fragments.contains(lowerCaseFragment)) { return false; } @@ -488,7 +488,7 @@ public static boolean checkURIs(URI[] uriFiles, URI[] uriArchives) { if (fragment == null) { return false; } - String lowerCaseFragment = fragment.toLowerCase(); + String lowerCaseFragment = fragment.toLowerCase(Locale.ENGLISH); if (fragments.contains(lowerCaseFragment)) { return false; } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/db/DBInputFormat.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/db/DBInputFormat.java index 00fbeda09a..7faa736e40 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/db/DBInputFormat.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/db/DBInputFormat.java @@ -29,6 +29,7 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -162,7 +163,8 @@ public void setConf(Configuration conf) { this.connection = createConnection(); DatabaseMetaData dbMeta = connection.getMetaData(); - this.dbProductName = dbMeta.getDatabaseProductName().toUpperCase(); + this.dbProductName = + dbMeta.getDatabaseProductName().toUpperCase(Locale.ENGLISH); } catch (Exception ex) { throw new RuntimeException(ex); diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java index 37ba5b7119..6af815b41a 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java @@ -22,6 +22,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.HashSet; import java.util.Arrays; @@ -222,12 +223,12 @@ public int run(String[] argv) throws Exception { taskType = argv[2]; taskState = argv[3]; displayTasks = true; - if (!taskTypes.contains(taskType.toUpperCase())) { + if (!taskTypes.contains(taskType.toUpperCase(Locale.ENGLISH))) { System.out.println("Error: Invalid task-type: " + taskType); displayUsage(cmd); return exitCode; } - if (!taskStates.contains(taskState.toLowerCase())) { + if (!taskStates.contains(taskState.toLowerCase(Locale.ENGLISH))) { System.out.println("Error: Invalid task-state: " + taskState); displayUsage(cmd); return exitCode; @@ -593,7 +594,8 @@ protected void displayTasks(Job job, String type, String state) throws IOException, InterruptedException { TaskReport[] reports=null; - reports = job.getTaskReports(TaskType.valueOf(type.toUpperCase())); + reports = job.getTaskReports( + TaskType.valueOf(type.toUpperCase(Locale.ENGLISH))); for (TaskReport report : reports) { TIPStatus status = report.getCurrentStatus(); if ((state.equalsIgnoreCase("pending") && status ==TIPStatus.PENDING) || diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java index d9cd07ba05..94204977b9 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java @@ -29,6 +29,7 @@ import java.io.OutputStream; import java.io.PrintStream; import java.util.Date; +import java.util.Locale; import java.util.Random; import java.util.StringTokenizer; import org.apache.commons.logging.Log; @@ -154,16 +155,16 @@ long value() { static ByteMultiple parseString(String sMultiple) { if(sMultiple == null || sMultiple.isEmpty()) // MB by default return MB; - String sMU = sMultiple.toUpperCase(); - if(B.name().toUpperCase().endsWith(sMU)) + String sMU = sMultiple.toUpperCase(Locale.ENGLISH); + if(B.name().toUpperCase(Locale.ENGLISH).endsWith(sMU)) return B; - if(KB.name().toUpperCase().endsWith(sMU)) + if(KB.name().toUpperCase(Locale.ENGLISH).endsWith(sMU)) return KB; - if(MB.name().toUpperCase().endsWith(sMU)) + if(MB.name().toUpperCase(Locale.ENGLISH).endsWith(sMU)) return MB; - if(GB.name().toUpperCase().endsWith(sMU)) + if(GB.name().toUpperCase(Locale.ENGLISH).endsWith(sMU)) return GB; - if(TB.name().toUpperCase().endsWith(sMU)) + if(TB.name().toUpperCase(Locale.ENGLISH).endsWith(sMU)) return TB; throw new IllegalArgumentException("Unsupported ByteMultiple "+sMultiple); } @@ -736,7 +737,7 @@ public int run(String[] args) throws IOException { } for (int i = 0; i < args.length; i++) { // parse command line - if (args[i].toLowerCase().startsWith("-read")) { + if (args[i].toLowerCase(Locale.ENGLISH).startsWith("-read")) { testType = TestType.TEST_TYPE_READ; } else if (args[i].equalsIgnoreCase("-write")) { testType = TestType.TEST_TYPE_WRITE; @@ -755,9 +756,10 @@ public int run(String[] args) throws IOException { testType = TestType.TEST_TYPE_TRUNCATE; } else if (args[i].equalsIgnoreCase("-clean")) { testType = TestType.TEST_TYPE_CLEANUP; - } else if (args[i].toLowerCase().startsWith("-seq")) { + } else if (args[i].toLowerCase(Locale.ENGLISH).startsWith("-seq")) { isSequential = true; - } else if (args[i].toLowerCase().startsWith("-compression")) { + } else if ( + args[i].toLowerCase(Locale.ENGLISH).startsWith("-compression")) { compressionClass = args[++i]; } else if (args[i].equalsIgnoreCase("-nrfiles")) { nrFiles = Integer.parseInt(args[++i]); diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestFileSystem.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestFileSystem.java index 13e27cd9e1..e2b8985f0a 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestFileSystem.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestFileSystem.java @@ -24,6 +24,7 @@ import java.security.PrivilegedExceptionAction; import java.util.Arrays; import java.util.Collections; +import java.util.Locale; import java.util.Random; import java.util.List; import java.util.ArrayList; @@ -556,7 +557,10 @@ static void runTestCache(int port) throws Exception { static void checkPath(MiniDFSCluster cluster, FileSystem fileSys) throws IOException { InetSocketAddress add = cluster.getNameNode().getNameNodeAddress(); // Test upper/lower case - fileSys.checkPath(new Path("hdfs://" + add.getHostName().toUpperCase() + ":" + add.getPort())); + fileSys.checkPath( + new Path("hdfs://" + + add.getHostName().toUpperCase(Locale.ENGLISH) + + ":" + add.getPort())); } public void testFsClose() throws Exception { diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/Constants.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/Constants.java index 6f4f44213b..adf52709df 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/Constants.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/Constants.java @@ -18,6 +18,8 @@ package org.apache.hadoop.fs.slive; +import java.util.Locale; + /** * Constants used in various places in slive */ @@ -35,7 +37,7 @@ private Constants() { enum Distribution { BEG, END, UNIFORM, MID; String lowerName() { - return this.name().toLowerCase(); + return this.name().toLowerCase(Locale.ENGLISH); } } @@ -45,7 +47,7 @@ String lowerName() { enum OperationType { READ, APPEND, RENAME, LS, MKDIR, DELETE, CREATE; String lowerName() { - return this.name().toLowerCase(); + return this.name().toLowerCase(Locale.ENGLISH); } } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationData.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationData.java index b4c98f7f17..462db86b05 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationData.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationData.java @@ -18,6 +18,7 @@ package org.apache.hadoop.fs.slive; +import java.util.Locale; import org.apache.hadoop.fs.slive.Constants.Distribution; /** @@ -52,7 +53,8 @@ class OperationData { percent = (Double.parseDouble(pieces[0]) / 100.0d); } else if (pieces.length >= 2) { percent = (Double.parseDouble(pieces[0]) / 100.0d); - distribution = Distribution.valueOf(pieces[1].toUpperCase()); + distribution = + Distribution.valueOf(pieces[1].toUpperCase(Locale.ENGLISH)); } } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationOutput.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationOutput.java index 57ef0176a5..d60a607d39 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationOutput.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/OperationOutput.java @@ -18,6 +18,7 @@ package org.apache.hadoop.fs.slive; +import java.util.Locale; import org.apache.hadoop.io.Text; /** @@ -67,7 +68,8 @@ static enum OutputType { "Invalid key format - no type seperator - " + TYPE_SEP); } try { - dataType = OutputType.valueOf(key.substring(0, place).toUpperCase()); + dataType = OutputType.valueOf( + key.substring(0, place).toUpperCase(Locale.ENGLISH)); } catch (Exception e) { throw new IllegalArgumentException( "Invalid key format - invalid output type", e); diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/SliveTest.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/SliveTest.java index ce1837f3af..443089df3e 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/SliveTest.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/slive/SliveTest.java @@ -27,6 +27,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TreeMap; @@ -157,7 +158,7 @@ private boolean getBool(String val) { if (val == null) { return false; } - String cleanupOpt = val.toLowerCase().trim(); + String cleanupOpt = val.toLowerCase(Locale.ENGLISH).trim(); if (cleanupOpt.equals("true") || cleanupOpt.equals("1")) { return true; } else { diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/io/FileBench.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/io/FileBench.java index f155daef14..0830f373af 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/io/FileBench.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/io/FileBench.java @@ -23,6 +23,7 @@ import java.util.Date; import java.util.EnumSet; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.Random; @@ -214,23 +215,25 @@ public int run(String[] argv) throws IOException { if (!(fmt == Format.txt || cod == CCodec.pln)) { for (CType typ : ct) { String fn = - fmt.name().toUpperCase() + "_" + - cod.name().toUpperCase() + "_" + - typ.name().toUpperCase(); + fmt.name().toUpperCase(Locale.ENGLISH) + "_" + + cod.name().toUpperCase(Locale.ENGLISH) + "_" + + typ.name().toUpperCase(Locale.ENGLISH); typ.configure(job); - System.out.print(rwop.name().toUpperCase() + " " + fn + ": "); + System.out.print( + rwop.name().toUpperCase(Locale.ENGLISH) + " " + fn + ": "); System.out.println(rwop.exec(fn, job) / 1000 + " seconds"); } } else { String fn = - fmt.name().toUpperCase() + "_" + - cod.name().toUpperCase(); + fmt.name().toUpperCase(Locale.ENGLISH) + "_" + + cod.name().toUpperCase(Locale.ENGLISH); Path p = new Path(root, fn); if (rwop == RW.r && !fs.exists(p)) { fn += cod.getExt(); } - System.out.print(rwop.name().toUpperCase() + " " + fn + ": "); + System.out.print( + rwop.name().toUpperCase(Locale.ENGLISH) + " " + fn + ": "); System.out.println(rwop.exec(fn, job) / 1000 + " seconds"); } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestMapRed.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestMapRed.java index 02a083b4f0..b9bbd609ba 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestMapRed.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestMapRed.java @@ -28,6 +28,7 @@ import java.util.EnumSet; import java.util.HashSet; import java.util.Iterator; +import java.util.Locale; import java.util.Random; import org.apache.hadoop.conf.Configuration; @@ -280,7 +281,7 @@ public void configure(JobConf conf) { public void map(WritableComparable key, Text value, OutputCollector output, Reporter reporter) throws IOException { - String str = value.toString().toLowerCase(); + String str = value.toString().toLowerCase(Locale.ENGLISH); output.collect(new Text(str), value); } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/DBCountPageView.java b/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/DBCountPageView.java index 270ddc9a55..4379cd5edc 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/DBCountPageView.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/DBCountPageView.java @@ -27,6 +27,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.util.Locale; import java.util.Random; import org.apache.commons.logging.Log; @@ -102,7 +103,7 @@ private void startHsqldbServer() { private void createConnection(String driverClassName , String url) throws Exception { - if(driverClassName.toLowerCase().contains("oracle")) { + if(driverClassName.toLowerCase(Locale.ENGLISH).contains("oracle")) { isOracle = true; } Class.forName(driverClassName); diff --git a/hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/versioninfo/VersionInfoMojo.java b/hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/versioninfo/VersionInfoMojo.java index f342463370..f0ec59c376 100644 --- a/hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/versioninfo/VersionInfoMojo.java +++ b/hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/versioninfo/VersionInfoMojo.java @@ -35,6 +35,7 @@ import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.TimeZone; /** @@ -329,7 +330,8 @@ public int compare(File lhs, File rhs) { } private String normalizePath(File file) { - return file.getPath().toUpperCase().replaceAll("\\\\", "/"); + return file.getPath().toUpperCase(Locale.ENGLISH) + .replaceAll("\\\\", "/"); } }); byte[] md5 = computeMD5(files); diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java index 2412698490..bd8ca6ef5a 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java @@ -979,8 +979,8 @@ private static String trim(String s, String toTrim) { private String verifyAndConvertToStandardFormat(String rawDir) throws URISyntaxException { URI asUri = new URI(rawDir); if (asUri.getAuthority() == null - || asUri.getAuthority().toLowerCase(Locale.US).equalsIgnoreCase( - sessionUri.getAuthority().toLowerCase(Locale.US))) { + || asUri.getAuthority().toLowerCase(Locale.ENGLISH).equalsIgnoreCase( + sessionUri.getAuthority().toLowerCase(Locale.ENGLISH))) { // Applies to me. return trim(asUri.getPath(), "/"); } else { diff --git a/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java b/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java index 71e84a11cc..36873c7f94 100644 --- a/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java +++ b/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/util/DistCpUtils.java @@ -121,8 +121,9 @@ public static long getLong(Configuration configuration, String label) { */ public static Class getStrategy(Configuration conf, DistCpOptions options) { - String confLabel = "distcp." + - options.getCopyStrategy().toLowerCase(Locale.getDefault()) + ".strategy.impl"; + String confLabel = "distcp." + + options.getCopyStrategy().toLowerCase(Locale.ENGLISH) + + ".strategy.impl"; return conf.getClass(confLabel, UniformSizeInputFormat.class, InputFormat.class); } @@ -221,7 +222,8 @@ public static void preserve(FileSystem targetFS, Path path, final boolean preserveXAttrs = attributes.contains(FileAttribute.XATTR); if (preserveXAttrs || preserveRawXattrs) { - final String rawNS = XAttr.NameSpace.RAW.name().toLowerCase(); + final String rawNS = + XAttr.NameSpace.RAW.name().toLowerCase(Locale.ENGLISH); Map srcXAttrs = srcFileStatus.getXAttrs(); Map targetXAttrs = getXAttrs(targetFS, path); if (srcXAttrs != null && !srcXAttrs.equals(targetXAttrs)) { @@ -321,7 +323,8 @@ public static CopyListingFileStatus toCopyListingFileStatus( copyListingFileStatus.setXAttrs(srcXAttrs); } else { Map trgXAttrs = Maps.newHashMap(); - final String rawNS = XAttr.NameSpace.RAW.name().toLowerCase(); + final String rawNS = + XAttr.NameSpace.RAW.name().toLowerCase(Locale.ENGLISH); for (Map.Entry ent : srcXAttrs.entrySet()) { final String xattrName = ent.getKey(); if (xattrName.startsWith(rawNS)) { diff --git a/hadoop-tools/hadoop-extras/src/main/java/org/apache/hadoop/tools/DistCpV1.java b/hadoop-tools/hadoop-extras/src/main/java/org/apache/hadoop/tools/DistCpV1.java index f46c421607..1db17f76b7 100644 --- a/hadoop-tools/hadoop-extras/src/main/java/org/apache/hadoop/tools/DistCpV1.java +++ b/hadoop-tools/hadoop-extras/src/main/java/org/apache/hadoop/tools/DistCpV1.java @@ -31,6 +31,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Random; import java.util.Stack; import java.util.StringTokenizer; @@ -169,7 +170,9 @@ static enum FileAttribute { final char symbol; - private FileAttribute() {symbol = toString().toLowerCase().charAt(0);} + private FileAttribute() { + symbol = toString().toLowerCase(Locale.ENGLISH).charAt(0); + } static EnumSet parse(String s) { if (s == null || s.length() == 0) { diff --git a/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/GridmixJobSubmissionPolicy.java b/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/GridmixJobSubmissionPolicy.java index 83eb947c89..b010725420 100644 --- a/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/GridmixJobSubmissionPolicy.java +++ b/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/GridmixJobSubmissionPolicy.java @@ -24,6 +24,7 @@ import org.apache.hadoop.mapred.gridmix.Statistics.ClusterStats; import java.util.concurrent.CountDownLatch; +import java.util.Locale; import java.io.IOException; enum GridmixJobSubmissionPolicy { @@ -84,6 +85,6 @@ public int getPollingInterval() { public static GridmixJobSubmissionPolicy getPolicy( Configuration conf, GridmixJobSubmissionPolicy defaultPolicy) { String policy = conf.get(JOB_SUBMISSION_POLICY, defaultPolicy.name()); - return valueOf(policy.toUpperCase()); + return valueOf(policy.toUpperCase(Locale.ENGLISH)); } } diff --git a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/HadoopLogsAnalyzer.java b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/HadoopLogsAnalyzer.java index 47fdb1ad55..776391d03b 100644 --- a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/HadoopLogsAnalyzer.java +++ b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/HadoopLogsAnalyzer.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; import java.util.ArrayList; @@ -319,42 +320,43 @@ private int initializeHadoopLogsAnalyzer(String[] args) } for (int i = 0; i < args.length - (inputFilename == null ? 0 : 1); ++i) { - if ("-h".equals(args[i].toLowerCase()) - || "-help".equals(args[i].toLowerCase())) { + if ("-h".equals(args[i].toLowerCase(Locale.ENGLISH)) + || "-help".equals(args[i].toLowerCase(Locale.ENGLISH))) { usage(); return 0; } - if ("-c".equals(args[i].toLowerCase()) - || "-collect-prefixes".equals(args[i].toLowerCase())) { + if ("-c".equals(args[i].toLowerCase(Locale.ENGLISH)) + || "-collect-prefixes".equals(args[i].toLowerCase(Locale.ENGLISH))) { collecting = true; continue; } // these control the job digest - if ("-write-job-trace".equals(args[i].toLowerCase())) { + if ("-write-job-trace".equals(args[i].toLowerCase(Locale.ENGLISH))) { ++i; jobTraceFilename = new Path(args[i]); continue; } - if ("-single-line-job-traces".equals(args[i].toLowerCase())) { + if ("-single-line-job-traces".equals( + args[i].toLowerCase(Locale.ENGLISH))) { prettyprintTrace = false; continue; } - if ("-omit-task-details".equals(args[i].toLowerCase())) { + if ("-omit-task-details".equals(args[i].toLowerCase(Locale.ENGLISH))) { omitTaskDetails = true; continue; } - if ("-write-topology".equals(args[i].toLowerCase())) { + if ("-write-topology".equals(args[i].toLowerCase(Locale.ENGLISH))) { ++i; topologyFilename = new Path(args[i]); continue; } - if ("-job-digest-spectra".equals(args[i].toLowerCase())) { + if ("-job-digest-spectra".equals(args[i].toLowerCase(Locale.ENGLISH))) { ArrayList values = new ArrayList(); ++i; @@ -384,13 +386,13 @@ private int initializeHadoopLogsAnalyzer(String[] args) continue; } - if ("-d".equals(args[i].toLowerCase()) - || "-debug".equals(args[i].toLowerCase())) { + if ("-d".equals(args[i].toLowerCase(Locale.ENGLISH)) + || "-debug".equals(args[i].toLowerCase(Locale.ENGLISH))) { debug = true; continue; } - if ("-spreads".equals(args[i].toLowerCase())) { + if ("-spreads".equals(args[i].toLowerCase(Locale.ENGLISH))) { int min = Integer.parseInt(args[i + 1]); int max = Integer.parseInt(args[i + 2]); @@ -404,22 +406,22 @@ private int initializeHadoopLogsAnalyzer(String[] args) } // These control log-wide CDF outputs - if ("-delays".equals(args[i].toLowerCase())) { + if ("-delays".equals(args[i].toLowerCase(Locale.ENGLISH))) { delays = true; continue; } - if ("-runtimes".equals(args[i].toLowerCase())) { + if ("-runtimes".equals(args[i].toLowerCase(Locale.ENGLISH))) { runtimes = true; continue; } - if ("-tasktimes".equals(args[i].toLowerCase())) { + if ("-tasktimes".equals(args[i].toLowerCase(Locale.ENGLISH))) { collectTaskTimes = true; continue; } - if ("-v1".equals(args[i].toLowerCase())) { + if ("-v1".equals(args[i].toLowerCase(Locale.ENGLISH))) { version = 1; continue; } diff --git a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/JobBuilder.java b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/JobBuilder.java index eaa9547a96..4b512d27f6 100644 --- a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/JobBuilder.java +++ b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/JobBuilder.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.StringTokenizer; @@ -433,7 +434,7 @@ private static Values getPre21Value(String name) { return Values.SUCCESS; } - return Values.valueOf(name.toUpperCase()); + return Values.valueOf(name.toUpperCase(Locale.ENGLISH)); } private void processTaskUpdatedEvent(TaskUpdatedEvent event) { diff --git a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTask.java b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTask.java index 903d5fbcfb..068ac5bb7f 100644 --- a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTask.java +++ b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTask.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.TreeSet; @@ -243,7 +244,7 @@ public void incorporateCounters(JhCounters counters) { } private static String canonicalizeCounterName(String nonCanonicalName) { - String result = nonCanonicalName.toLowerCase(); + String result = nonCanonicalName.toLowerCase(Locale.ENGLISH); result = result.replace(' ', '|'); result = result.replace('-', '|'); diff --git a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTaskAttempt.java b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTaskAttempt.java index d1b365eb33..c7823c4287 100644 --- a/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTaskAttempt.java +++ b/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/LoggedTaskAttempt.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.TreeSet; @@ -611,7 +612,7 @@ void setResourceUsageMetrics(ResourceUsageMetrics metrics) { } private static String canonicalizeCounterName(String nonCanonicalName) { - String result = nonCanonicalName.toLowerCase(); + String result = nonCanonicalName.toLowerCase(Locale.ENGLISH); result = result.replace(' ', '|'); result = result.replace('-', '|'); diff --git a/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/streaming/Environment.java b/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/streaming/Environment.java index 98d8aa0306..72ff3b01f7 100644 --- a/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/streaming/Environment.java +++ b/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/streaming/Environment.java @@ -43,7 +43,7 @@ public Environment() throws IOException { // http://lopica.sourceforge.net/os.html String command = null; String OS = System.getProperty("os.name"); - String lowerOs = OS.toLowerCase(); + String lowerOs = OS.toLowerCase(Locale.ENGLISH); if (OS.indexOf("Windows") > -1) { command = "cmd /C set"; } else if (lowerOs.indexOf("ix") > -1 || lowerOs.indexOf("linux") > -1 diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ApplicationCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ApplicationCLI.java index de8f740253..1cb3e5884e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ApplicationCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ApplicationCLI.java @@ -26,6 +26,7 @@ import java.util.EnumSet; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import org.apache.commons.cli.CommandLine; @@ -173,7 +174,7 @@ public int run(String[] args) throws Exception { if (types != null) { for (String type : types) { if (!type.trim().isEmpty()) { - appTypes.add(type.toUpperCase().trim()); + appTypes.add(type.toUpperCase(Locale.ENGLISH).trim()); } } } @@ -192,7 +193,7 @@ public int run(String[] args) throws Exception { } try { appStates.add(YarnApplicationState.valueOf(state - .toUpperCase().trim())); + .toUpperCase(Locale.ENGLISH).trim())); } catch (IllegalArgumentException ex) { sysout.println("The application state " + state + " is invalid."); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java index 22c240f7e3..a6ed9b56d6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java @@ -27,6 +27,7 @@ import java.util.Date; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import org.apache.commons.cli.CommandLine; @@ -110,7 +111,8 @@ public int run(String[] args) throws Exception { if (types != null) { for (String type : types) { if (!type.trim().isEmpty()) { - nodeStates.add(NodeState.valueOf(type.trim().toUpperCase())); + nodeStates.add( + NodeState.valueOf(type.trim().toUpperCase(Locale.ENGLISH))); } } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsRequestPBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsRequestPBImpl.java index a8996f0298..0b39dfe7e7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsRequestPBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsRequestPBImpl.java @@ -21,6 +21,7 @@ import java.util.EnumSet; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import org.apache.commons.lang.math.LongRange; @@ -213,7 +214,7 @@ public void setApplicationTags(Set tags) { // Convert applicationTags to lower case and add this.applicationTags = new HashSet(); for (String tag : tags) { - this.applicationTags.add(tag.toLowerCase()); + this.applicationTags.add(tag.toLowerCase(Locale.ENGLISH)); } } @@ -258,7 +259,8 @@ public void setApplicationStates(EnumSet applicationStates public void setApplicationStates(Set applicationStates) { EnumSet appStates = null; for (YarnApplicationState state : YarnApplicationState.values()) { - if (applicationStates.contains(state.name().toLowerCase())) { + if (applicationStates.contains( + state.name().toLowerCase(Locale.ENGLISH))) { if (appStates == null) { appStates = EnumSet.of(state); } else { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java index 303b437160..fe89f81a49 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java @@ -19,6 +19,7 @@ package org.apache.hadoop.yarn.api.records.impl.pb; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import org.apache.hadoop.classification.InterfaceAudience.Private; @@ -291,7 +292,7 @@ public void setApplicationTags(Set tags) { // Convert applicationTags to lower case and add this.applicationTags = new HashSet(); for (String tag : tags) { - this.applicationTags.add(tag.toLowerCase()); + this.applicationTags.add(tag.toLowerCase(Locale.ENGLISH)); } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/hamlet/HamletGen.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/hamlet/HamletGen.java index c848828845..45d9b61cde 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/hamlet/HamletGen.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/hamlet/HamletGen.java @@ -241,7 +241,8 @@ void genFactoryMethod(String retName, String methodName, int indent) { puts(indent, "\n", "private ", retName, " ", methodName, "_(T e, boolean inline) {\n", - " return new ", retName, "(\"", retName.toLowerCase(Locale.US), + " return new ", retName, "(\"", + retName.toLowerCase(Locale.ENGLISH), "\", e, opt(", !endTagOptional.contains(retName), ", inline, ", retName.equals("PRE"), ")); }"); } @@ -258,7 +259,7 @@ void genNewElementMethod(String className, Method method, int indent) { puts(0, ") {"); puts(indent, topMode ? "" : " closeAttrs();\n", - " return ", retName.toLowerCase(Locale.US), "_(this, ", + " return ", retName.toLowerCase(Locale.ENGLISH), "_(this, ", isInline(className, retName), ");\n", "}"); } else if (params.length == 1) { puts(0, "String selector) {"); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java index 2040f57514..4140df469a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java @@ -19,6 +19,7 @@ package org.apache.hadoop.yarn.server.applicationhistoryservice.webapp; import java.util.Collections; +import java.util.Locale; import java.util.Set; import javax.servlet.http.HttpServletRequest; @@ -147,7 +148,8 @@ public ContainerInfo getContainer(@Context HttpServletRequest req, } Set appStates = parseQueries(statesQuery, true); for (String appState : appStates) { - switch (YarnApplicationState.valueOf(appState.toUpperCase())) { + switch (YarnApplicationState.valueOf( + appState.toUpperCase(Locale.ENGLISH))) { case FINISHED: case FAILED: case KILLED: diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/webapp/TimelineWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/webapp/TimelineWebServices.java index 0907f2c154..44ba2b9f0a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/webapp/TimelineWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/webapp/TimelineWebServices.java @@ -24,6 +24,7 @@ import java.util.EnumSet; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -417,7 +418,7 @@ private static EnumSet parseFieldsStr(String str, String delimiter) { String[] strs = str.split(delimiter); List fieldList = new ArrayList(); for (String s : strs) { - s = s.trim().toUpperCase(); + s = s.trim().toUpperCase(Locale.ENGLISH); if (s.equals("EVENTS")) { fieldList.add(Field.EVENTS); } else if (s.equals("LASTEVENTONLY")) { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/WebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/WebServices.java index 385d10ae8b..cc9000f8d6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/WebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/WebServices.java @@ -23,6 +23,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import javax.servlet.http.HttpServletRequest; @@ -164,7 +165,7 @@ public Collection run() throws Exception { if (checkAppStates && !appStates.contains(appReport.getYarnApplicationState().toString() - .toLowerCase())) { + .toLowerCase(Locale.ENGLISH))) { continue; } if (finalStatusQuery != null && !finalStatusQuery.isEmpty()) { @@ -186,7 +187,7 @@ public Collection run() throws Exception { } if (checkAppTypes && !appTypes.contains(appReport.getApplicationType().trim() - .toLowerCase())) { + .toLowerCase(Locale.ENGLISH))) { continue; } @@ -368,7 +369,8 @@ protected void init(HttpServletResponse response) { if (isState) { try { // enum string is in the uppercase - YarnApplicationState.valueOf(paramStr.trim().toUpperCase()); + YarnApplicationState.valueOf( + paramStr.trim().toUpperCase(Locale.ENGLISH)); } catch (RuntimeException e) { YarnApplicationState[] stateArray = YarnApplicationState.values(); @@ -378,7 +380,7 @@ protected void init(HttpServletResponse response) { + allAppStates); } } - params.add(paramStr.trim().toLowerCase()); + params.add(paramStr.trim().toLowerCase(Locale.ENGLISH)); } } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java index d3ccb91546..38f7b939f1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java @@ -29,6 +29,7 @@ import java.util.EnumSet; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; @@ -754,7 +755,7 @@ public void remove() { if (applicationTypes != null && !applicationTypes.isEmpty()) { String appTypeToMatch = caseSensitive ? application.getApplicationType() - : application.getApplicationType().toLowerCase(); + : application.getApplicationType().toLowerCase(Locale.ENGLISH); if (!applicationTypes.contains(appTypeToMatch)) { continue; } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/resource/ResourceWeights.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/resource/ResourceWeights.java index 230f9a9a58..e95b72503e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/resource/ResourceWeights.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/resource/ResourceWeights.java @@ -18,6 +18,7 @@ package org.apache.hadoop.yarn.server.resourcemanager.resource; +import java.util.Locale; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceStability.Evolving; @@ -61,7 +62,7 @@ public String toString() { sb.append(", "); } ResourceType resourceType = ResourceType.values()[i]; - sb.append(resourceType.name().toLowerCase()); + sb.append(resourceType.name().toLowerCase(Locale.ENGLISH)); sb.append(String.format(" weight=%.1f", getWeight(resourceType))); } sb.append(">"); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java index 3528c2d617..5e6d3ebfb1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.StringTokenizer; @@ -394,7 +395,8 @@ public void setUserLimitFactor(String queue, float userLimitFactor) { public QueueState getState(String queue) { String state = get(getQueuePrefix(queue) + STATE); return (state != null) ? - QueueState.valueOf(state.toUpperCase()) : QueueState.RUNNING; + QueueState.valueOf(state.toUpperCase(Locale.ENGLISH)) : + QueueState.RUNNING; } public void setAccessibleNodeLabels(String queue, Set labels) { @@ -490,7 +492,7 @@ public boolean getReservationContinueLook() { } private static String getAclKey(QueueACL acl) { - return "acl_" + acl.toString().toLowerCase(); + return "acl_" + acl.toString().toLowerCase(Locale.ENGLISH); } public AccessControlList getAcl(String queue, QueueACL acl) { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java index 32ef906a57..092209218d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java @@ -20,6 +20,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -241,7 +242,7 @@ public boolean getUsePortForNodeName() { public static Resource parseResourceConfigValue(String val) throws AllocationConfigurationException { try { - val = val.toLowerCase(); + val = val.toLowerCase(Locale.ENGLISH); int memory = findResource(val, "mb"); int vcores = findResource(val, "vcores"); return BuilderUtils.newResource(memory, vcores); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java index cc28afc1e4..23e7b810a3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair; +import java.util.Locale; import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Evolving; import org.apache.hadoop.util.ReflectionUtils; @@ -72,7 +73,7 @@ public static SchedulingPolicy parse(String policy) throws AllocationConfigurationException { @SuppressWarnings("rawtypes") Class clazz; - String text = policy.toLowerCase(); + String text = policy.toLowerCase(Locale.ENGLISH); if (text.equalsIgnoreCase(FairSharePolicy.NAME)) { clazz = FairSharePolicy.class; } else if (text.equalsIgnoreCase(FifoPolicy.NAME)) { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/NodesPage.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/NodesPage.java index f28a9a88bc..881ecb7834 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/NodesPage.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/NodesPage.java @@ -18,6 +18,7 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp; +import java.util.Locale; import static org.apache.hadoop.yarn.webapp.YarnWebParams.NODE_STATE; import static org.apache.hadoop.yarn.webapp.YarnWebParams.NODE_LABEL; import static org.apache.hadoop.yarn.webapp.view.JQueryUI.DATATABLES; @@ -77,7 +78,7 @@ protected void render(Block html) { .th(".nodeManagerVersion", "Version")._()._().tbody(); NodeState stateFilter = null; if (type != null && !type.isEmpty()) { - stateFilter = NodeState.valueOf(type.toUpperCase()); + stateFilter = NodeState.valueOf(type.toUpperCase(Locale.ENGLISH)); } Collection rmNodes = this.rm.getRMContext().getRMNodes().values(); boolean isInactive = false; diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java index 1834b6a1a7..fb400542e6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java @@ -30,6 +30,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentMap; @@ -257,7 +258,8 @@ public NodesInfo getNodes(@QueryParam("states") String states) { } else { acceptedStates = EnumSet.noneOf(NodeState.class); for (String stateStr : states.split(",")) { - acceptedStates.add(NodeState.valueOf(stateStr.toUpperCase())); + acceptedStates.add(NodeState.valueOf( + stateStr.toUpperCase(Locale.ENGLISH))); } } @@ -506,7 +508,7 @@ public ApplicationStatisticsInfo getAppStatistics( // if no states, returns the counts of all RMAppStates if (states.size() == 0) { for (YarnApplicationState state : YarnApplicationState.values()) { - states.add(state.toString().toLowerCase()); + states.add(state.toString().toLowerCase(Locale.ENGLISH)); } } // in case we extend to multiple applicationTypes in the future @@ -518,8 +520,9 @@ public ApplicationStatisticsInfo getAppStatistics( ConcurrentMap apps = rm.getRMContext().getRMApps(); for (RMApp rmapp : apps.values()) { YarnApplicationState state = rmapp.createApplicationState(); - String type = rmapp.getApplicationType().trim().toLowerCase(); - if (states.contains(state.toString().toLowerCase())) { + String type = + rmapp.getApplicationType().trim().toLowerCase(Locale.ENGLISH); + if (states.contains(state.toString().toLowerCase(Locale.ENGLISH))) { if (types.contains(ANY)) { countApp(scoreboard, state, ANY); } else if (types.contains(type)) { @@ -554,7 +557,8 @@ private static Set parseQueries( if (isState) { try { // enum string is in the uppercase - YarnApplicationState.valueOf(paramStr.trim().toUpperCase()); + YarnApplicationState.valueOf( + paramStr.trim().toUpperCase(Locale.ENGLISH)); } catch (RuntimeException e) { YarnApplicationState[] stateArray = YarnApplicationState.values(); @@ -564,7 +568,7 @@ private static Set parseQueries( + " specified. It should be one of " + allAppStates); } } - params.add(paramStr.trim().toLowerCase()); + params.add(paramStr.trim().toLowerCase(Locale.ENGLISH)); } } } @@ -582,7 +586,8 @@ private static Map> buildScoreboard( for (String state : states) { Map partScoreboard = new HashMap(); scoreboard.put( - YarnApplicationState.valueOf(state.toUpperCase()), partScoreboard); + YarnApplicationState.valueOf( + state.toUpperCase(Locale.ENGLISH)), partScoreboard); // types is verified no to be empty for (String type : types) { partScoreboard.put(type, 0L);