Explicitly set locale for string validation

Patch by Amit Deshpande; Reviewed by Jeff Jirsa for CASSANDRA-12541,CASSANDRA-12542,CASSANDRA-12543,CASSANDRA-12545
This commit is contained in:
Amit Deshpande 2016-10-19 15:16:54 -05:00 committed by Jeff Jirsa
parent 55568c17d6
commit 9b35640957
5 changed files with 7 additions and 4 deletions

View File

@ -20,6 +20,7 @@
* Backport CASSANDRA-10756 (race condition in NativeTransportService shutdown) (CASSANDRA-12472)
* If CF has no clustering columns, any row cache is full partition cache (CASSANDRA-12499)
* Correct log message for statistics of offheap memtable flush (CASSANDRA-12776)
* Explicitly set locale for string comparisons (CASSANDRA-12541,CASSANDRA-12542,CASSANDRA-12543)
Merged from 2.2:
* Clean up permissions when a UDA is dropped (CASSANDRA-12720)
* Limit colUpdateTimeDelta histogram updates to reasonable deltas (CASSANDRA-11117)

View File

@ -125,7 +125,7 @@ class CqlRecordWriter extends RecordWriter<Map<String, ByteBuffer>, List<ByteBuf
partitionKeyColumns = tableMetadata.getPartitionKey();
String cqlQuery = CqlConfigHelper.getOutputCql(conf).trim();
if (cqlQuery.toLowerCase().startsWith("insert"))
if (cqlQuery.toLowerCase(Locale.ENGLISH).startsWith("insert"))
throw new UnsupportedOperationException("INSERT with CqlRecordWriter is not supported, please use UPDATE/DELETE statement");
cql = appendKeyWhereClauses(cqlQuery);
}

View File

@ -19,6 +19,7 @@ package org.apache.cassandra.schema;
import java.text.DecimalFormat;
import java.util.concurrent.TimeUnit;
import java.util.Locale;
import com.google.common.base.Objects;
@ -88,7 +89,7 @@ public final class SpeculativeRetryParam
public static SpeculativeRetryParam fromString(String value)
{
if (value.toLowerCase().endsWith("ms"))
if (value.toLowerCase(Locale.ENGLISH).endsWith("ms"))
{
try
{

View File

@ -194,7 +194,7 @@ public class ThriftConversion
private static boolean isSuper(String thriftColumnType)
throws org.apache.cassandra.exceptions.InvalidRequestException
{
switch (thriftColumnType.toLowerCase())
switch (thriftColumnType.toLowerCase(Locale.ENGLISH))
{
case "standard": return false;
case "super": return true;

View File

@ -32,6 +32,7 @@ import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
import java.util.Locale;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
@ -499,7 +500,7 @@ public class CoalescingStrategies
String displayName)
{
String classname = null;
String strategyCleaned = strategy.trim().toUpperCase();
String strategyCleaned = strategy.trim().toUpperCase(Locale.ENGLISH);
switch(strategyCleaned)
{
case "MOVINGAVERAGE":