update CassandraBulkLoader for Thrift 0.5; replace UnsupportedEncodingException catches w/ Charsets.UTF_8. patch by jbellis

git-svn-id: https://svn.apache.org/repos/asf/cassandra/trunk@1026380 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jonathan Ellis 2010-10-22 15:46:49 +00:00
parent 2d9b4ba3cc
commit cdb07b193f
9 changed files with 139 additions and 187 deletions

View File

@ -51,6 +51,7 @@ import java.io.IOException;
import java.net.InetAddress;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
@ -58,6 +59,8 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import com.google.common.base.Charsets;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.db.Column;
@ -70,6 +73,7 @@ import org.apache.cassandra.net.IAsyncResult;
import org.apache.cassandra.net.Message;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.hadoop.filecache.DistributedCache;
import org.apache.hadoop.fs.Path;
@ -170,7 +174,11 @@ public class CassandraBulkLoader {
String ColumnName = fields[2];
String ColumnValue = fields[3];
int timestamp = 0;
columnFamily.addColumn(new QueryPath(cfName, SuperColumnName.getBytes("UTF-8"), ColumnName.getBytes("UTF-8")), ColumnValue.getBytes(), timestamp);
columnFamily.addColumn(new QueryPath(cfName,
ByteBuffer.wrap(SuperColumnName.getBytes(Charsets.UTF_8)),
ByteBuffer.wrap(ColumnName.getBytes(Charsets.UTF_8))),
ByteBuffer.wrap(ColumnValue.getBytes()),
timestamp);
}
columnFamilies.add(columnFamily);
@ -178,7 +186,7 @@ public class CassandraBulkLoader {
/* Get serialized message to send to cluster */
message = createMessage(keyspace, key.getBytes(), cfName, columnFamilies);
List<IAsyncResult> results = new ArrayList<IAsyncResult>();
for (InetAddress endpoint: StorageService.instance.getNaturalEndpoints(keyspace, key.getBytes()))
for (InetAddress endpoint: StorageService.instance.getNaturalEndpoints(keyspace, ByteBuffer.wrap(key.getBytes())))
{
/* Send message to end point */
results.add(MessagingService.instance.sendRR(message, endpoint));
@ -239,7 +247,7 @@ public class CassandraBulkLoader {
}
}
public static Message createMessage(String Keyspace, byte[] Key, String CFName, List<ColumnFamily> ColumnFamiles)
public static Message createMessage(String keyspace, byte[] key, String columnFamily, List<ColumnFamily> columnFamilies)
{
ColumnFamily baseColumnFamily;
DataOutputBuffer bufOut = new DataOutputBuffer();
@ -249,20 +257,20 @@ public class CassandraBulkLoader {
/* Get the first column family from list, this is just to get past validation */
baseColumnFamily = new ColumnFamily(ColumnFamilyType.Standard,
DatabaseDescriptor.getComparator(Keyspace, CFName),
DatabaseDescriptor.getSubComparator(Keyspace, CFName),
CFMetaData.getId(Keyspace, CFName));
DatabaseDescriptor.getComparator(keyspace, columnFamily),
DatabaseDescriptor.getSubComparator(keyspace, columnFamily),
CFMetaData.getId(keyspace, columnFamily));
for(ColumnFamily cf : ColumnFamiles) {
for(ColumnFamily cf : columnFamilies) {
bufOut.reset();
ColumnFamily.serializer().serializeWithIndexes(cf, bufOut);
byte[] data = new byte[bufOut.getLength()];
System.arraycopy(bufOut.getData(), 0, data, 0, bufOut.getLength());
column = new Column(FBUtilities.toByteBuffer(cf.id()), data, 0);
column = new Column(FBUtilities.toByteBuffer(cf.id()), ByteBuffer.wrap(data), 0);
baseColumnFamily.addColumn(column);
}
rm = new RowMutation(Keyspace, Key);
rm = new RowMutation(keyspace, ByteBuffer.wrap(key));
rm.add(baseColumnFamily);
try

View File

@ -17,11 +17,12 @@
*/
package org.apache.cassandra.cli;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.util.*;
import com.google.common.base.Charsets;
import org.antlr.runtime.tree.CommonTree;
import org.antlr.runtime.tree.Tree;
import org.apache.cassandra.auth.SimpleAuthenticator;
@ -151,83 +152,76 @@ public class CliClient
{
CommonTree ast = CliCompiler.compileQuery(stmt);
try
switch (ast.getType())
{
switch (ast.getType())
{
case CliParser.NODE_EXIT:
cleanupAndExit();
break;
case CliParser.NODE_THRIFT_GET:
executeGet(ast);
break;
case CliParser.NODE_THRIFT_GET_WITH_CONDITIONS:
executeGetWithConditions(ast);
break;
case CliParser.NODE_HELP:
printCmdHelp(ast);
break;
case CliParser.NODE_THRIFT_SET:
executeSet(ast);
break;
case CliParser.NODE_THRIFT_DEL:
executeDelete(ast);
break;
case CliParser.NODE_THRIFT_COUNT:
executeCount(ast);
break;
case CliParser.NODE_ADD_KEYSPACE:
executeAddKeyspace(ast.getChild(0));
break;
case CliParser.NODE_ADD_COLUMN_FAMILY:
executeAddColumnFamily(ast.getChild(0));
break;
case CliParser.NODE_UPDATE_KEYSPACE:
executeUpdateKeyspace(ast.getChild(0));
break;
case CliParser.NODE_UPDATE_COLUMN_FAMILY:
executeUpdateColumnFamily(ast.getChild(0));
break;
case CliParser.NODE_DEL_COLUMN_FAMILY:
executeDelColumnFamily(ast);
break;
case CliParser.NODE_DEL_KEYSPACE:
executeDelKeyspace(ast);
break;
case CliParser.NODE_SHOW_CLUSTER_NAME:
executeShowClusterName();
break;
case CliParser.NODE_SHOW_VERSION:
executeShowVersion();
break;
case CliParser.NODE_SHOW_TABLES:
executeShowTables();
break;
case CliParser.NODE_DESCRIBE_TABLE:
executeDescribeTable(ast);
break;
case CliParser.NODE_USE_TABLE:
executeUseTable(ast);
break;
case CliParser.NODE_CONNECT:
executeConnect(ast);
break;
case CliParser.NODE_LIST:
executeList(ast);
break;
case CliParser.NODE_NO_OP:
// comment lines come here; they are treated as no ops.
break;
default:
css_.err.println("Invalid Statement (Type: " + ast.getType() + ")");
if (css_.batch)
System.exit(2);
break;
}
}
catch (UnsupportedEncodingException e)
{
throw new RuntimeException("Unable to encode string as UTF-8", e);
case CliParser.NODE_EXIT:
cleanupAndExit();
break;
case CliParser.NODE_THRIFT_GET:
executeGet(ast);
break;
case CliParser.NODE_THRIFT_GET_WITH_CONDITIONS:
executeGetWithConditions(ast);
break;
case CliParser.NODE_HELP:
printCmdHelp(ast);
break;
case CliParser.NODE_THRIFT_SET:
executeSet(ast);
break;
case CliParser.NODE_THRIFT_DEL:
executeDelete(ast);
break;
case CliParser.NODE_THRIFT_COUNT:
executeCount(ast);
break;
case CliParser.NODE_ADD_KEYSPACE:
executeAddKeyspace(ast.getChild(0));
break;
case CliParser.NODE_ADD_COLUMN_FAMILY:
executeAddColumnFamily(ast.getChild(0));
break;
case CliParser.NODE_UPDATE_KEYSPACE:
executeUpdateKeyspace(ast.getChild(0));
break;
case CliParser.NODE_UPDATE_COLUMN_FAMILY:
executeUpdateColumnFamily(ast.getChild(0));
break;
case CliParser.NODE_DEL_COLUMN_FAMILY:
executeDelColumnFamily(ast);
break;
case CliParser.NODE_DEL_KEYSPACE:
executeDelKeyspace(ast);
break;
case CliParser.NODE_SHOW_CLUSTER_NAME:
executeShowClusterName();
break;
case CliParser.NODE_SHOW_VERSION:
executeShowVersion();
break;
case CliParser.NODE_SHOW_TABLES:
executeShowTables();
break;
case CliParser.NODE_DESCRIBE_TABLE:
executeDescribeTable(ast);
break;
case CliParser.NODE_USE_TABLE:
executeUseTable(ast);
break;
case CliParser.NODE_CONNECT:
executeConnect(ast);
break;
case CliParser.NODE_LIST:
executeList(ast);
break;
case CliParser.NODE_NO_OP:
// comment lines come here; they are treated as no ops.
break;
default:
css_.err.println("Invalid Statement (Type: " + ast.getType() + ")");
if (css_.batch)
System.exit(2);
break;
}
}
@ -508,7 +502,7 @@ public class CliClient
return keyspacesMap.get(keyspace);
}
private void executeCount(CommonTree ast) throws TException, InvalidRequestException, UnavailableException, TimedOutException, UnsupportedEncodingException
private void executeCount(CommonTree ast) throws TException, InvalidRequestException, UnavailableException, TimedOutException
{
if (!CliMain.isConnected() || !hasKeySpace())
return;
@ -532,17 +526,17 @@ public class CliClient
else
{
assert (columnSpecCnt == 1);
colParent = new ColumnParent(columnFamily).setSuper_column(CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8"));
colParent = new ColumnParent(columnFamily).setSuper_column(CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8));
}
SliceRange range = new SliceRange(FBUtilities.EMPTY_BYTE_BUFFER, FBUtilities.EMPTY_BYTE_BUFFER, false, Integer.MAX_VALUE);
SlicePredicate predicate = new SlicePredicate().setColumn_names(null).setSlice_range(range);
int count = thriftClient_.get_count(ByteBuffer.wrap(key.getBytes("UTF-8")), colParent, predicate, ConsistencyLevel.ONE);
int count = thriftClient_.get_count(ByteBuffer.wrap(key.getBytes(Charsets.UTF_8)), colParent, predicate, ConsistencyLevel.ONE);
css_.out.printf("%d columns\n", count);
}
private void executeDelete(CommonTree ast) throws TException, InvalidRequestException, UnavailableException, TimedOutException, UnsupportedEncodingException
private void executeDelete(CommonTree ast) throws TException, InvalidRequestException, UnavailableException, TimedOutException
{
if (!CliMain.isConnected() || !hasKeySpace())
return;
@ -585,15 +579,15 @@ public class CliClient
{
// table.cf['key']['column']
if (isSuper)
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8");
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8);
else
columnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8");
columnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8);
}
else if (columnSpecCnt == 2)
{
// table.cf['key']['column']['column']
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8");
columnName = CliCompiler.getColumn(columnFamilySpec, 1).getBytes("UTF-8");
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8);
columnName = CliCompiler.getColumn(columnFamilySpec, 1).getBytes(Charsets.UTF_8);
}
ColumnPath path = new ColumnPath(columnFamily);
@ -603,13 +597,13 @@ public class CliClient
if(columnName != null)
path.setColumn(columnName);
thriftClient_.remove(ByteBuffer.wrap(key.getBytes("UTF-8")), path,
thriftClient_.remove(ByteBuffer.wrap(key.getBytes(Charsets.UTF_8)), path,
FBUtilities.timestampMicros(), ConsistencyLevel.ONE);
css_.out.println(String.format("%s removed.", (columnSpecCnt == 0) ? "row" : "column"));
}
private void doSlice(String keyspace, String key, String columnFamily, byte[] superColumnName)
throws InvalidRequestException, UnavailableException, TimedOutException, TException, UnsupportedEncodingException, IllegalAccessException, NotFoundException, InstantiationException, NoSuchFieldException
throws InvalidRequestException, UnavailableException, TimedOutException, TException, IllegalAccessException, NotFoundException, InstantiationException, NoSuchFieldException
{
ColumnParent parent = new ColumnParent(columnFamily);
@ -617,7 +611,7 @@ public class CliClient
parent.setSuper_column(superColumnName);
SliceRange range = new SliceRange(FBUtilities.EMPTY_BYTE_BUFFER, FBUtilities.EMPTY_BYTE_BUFFER, true, 1000000);
List<ColumnOrSuperColumn> columns = thriftClient_.get_slice(ByteBuffer.wrap(key.getBytes("UTF-8")),parent,
List<ColumnOrSuperColumn> columns = thriftClient_.get_slice(ByteBuffer.wrap(key.getBytes(Charsets.UTF_8)),parent,
new SlicePredicate().setColumn_names(null).setSlice_range(range), ConsistencyLevel.ONE);
int size = columns.size();
@ -693,7 +687,7 @@ public class CliClient
}
// Execute GET statement
private void executeGet(CommonTree ast) throws TException, NotFoundException, InvalidRequestException, UnavailableException, TimedOutException, UnsupportedEncodingException, IllegalAccessException, InstantiationException, ClassNotFoundException, NoSuchFieldException
private void executeGet(CommonTree ast) throws TException, NotFoundException, InvalidRequestException, UnavailableException, TimedOutException, IllegalAccessException, InstantiationException, ClassNotFoundException, NoSuchFieldException
{
if (!CliMain.isConnected() || !hasKeySpace())
return;
@ -721,7 +715,7 @@ public class CliClient
{
if (isSuper)
{
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8");
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8);
doSlice(keySpace, key, columnFamily, superColumnName);
return;
}
@ -733,7 +727,7 @@ public class CliClient
// table.cf['key']['column']['column'] -- get of a sub-column
else if (columnSpecCnt == 2)
{
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8");
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8);
columnName = CliCompiler.getColumn(columnFamilySpec, 1);
}
// The parser groks an arbitrary number of these so it is possible to get here.
@ -750,7 +744,7 @@ public class CliClient
ColumnPath path = new ColumnPath(columnFamily);
if(superColumnName != null) path.setSuper_column(superColumnName);
if(columnNameInBytes != null) path.setColumn(columnNameInBytes);
Column column = thriftClient_.get(ByteBuffer.wrap(key.getBytes("UTF-8")), path, ConsistencyLevel.ONE).column;
Column column = thriftClient_.get(ByteBuffer.wrap(key.getBytes(Charsets.UTF_8)), path, ConsistencyLevel.ONE).column;
byte[] columnValue = column.getValue();
String valueAsString;
@ -774,7 +768,7 @@ public class CliClient
}
else
{
valueAsString = (validator == null) ? new String(columnValue, "UTF-8") : validator.getString(ByteBuffer.wrap(columnValue));
valueAsString = (validator == null) ? new String(columnValue, Charsets.UTF_8) : validator.getString(ByteBuffer.wrap(columnValue));
}
// print results
@ -878,7 +872,7 @@ public class CliClient
// Execute SET statement
private void executeSet(CommonTree ast)
throws TException, InvalidRequestException, UnavailableException, TimedOutException, UnsupportedEncodingException, NoSuchFieldException, InstantiationException, IllegalAccessException
throws TException, InvalidRequestException, UnavailableException, TimedOutException, NoSuchFieldException, InstantiationException, IllegalAccessException
{
if (!CliMain.isConnected() || !hasKeySpace())
return;
@ -913,7 +907,7 @@ public class CliClient
assert (columnSpecCnt == 2) : "serious parsing error (this is a bug).";
// get the super column and column names
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8");
superColumnName = CliCompiler.getColumn(columnFamilySpec, 0).getBytes(Charsets.UTF_8);
columnName = CliCompiler.getColumn(columnFamilySpec, 1);
}
@ -935,7 +929,7 @@ public class CliClient
parent.setSuper_column(superColumnName);
// do the insert
thriftClient_.insert(ByteBuffer.wrap(key.getBytes("UTF-8")), parent,
thriftClient_.insert(ByteBuffer.wrap(key.getBytes(Charsets.UTF_8)), parent,
new Column(columnNameInBytes, columnValueInBytes, FBUtilities.timestampMicros()), ConsistencyLevel.ONE);
css_.out.println("Value inserted.");
@ -1231,7 +1225,7 @@ public class CliClient
}
private void executeList(CommonTree ast)
throws TException, InvalidRequestException, NotFoundException, IllegalAccessException, InstantiationException, NoSuchFieldException, UnavailableException, TimedOutException, UnsupportedEncodingException
throws TException, InvalidRequestException, NotFoundException, IllegalAccessException, InstantiationException, NoSuchFieldException, UnavailableException, TimedOutException
{
if (!CliMain.isConnected())
return;
@ -1608,14 +1602,7 @@ public class CliClient
if (metaKey.equals("column_name"))
{
try
{
columnDefinition.setName(metaVal.getBytes("UTF-8"));
}
catch (UnsupportedEncodingException e)
{
throw new RuntimeException(e.getMessage(), e);
}
columnDefinition.setName(metaVal.getBytes(Charsets.UTF_8));
}
else if (metaKey.equals("validation_class"))
{
@ -1678,9 +1665,8 @@ public class CliClient
* @param object - object to covert into byte array
* @param comparator - comparator used to convert object
* @return byte[] - object in the byte array representation
* @throws UnsupportedEncodingException - raised but String.getBytes(encoding)
*/
private ByteBuffer getBytesAccordingToType(String object, AbstractType comparator) throws UnsupportedEncodingException
private ByteBuffer getBytesAccordingToType(String object, AbstractType comparator)
{
if (comparator instanceof LongType)
{
@ -1722,11 +1708,11 @@ public class CliClient
}
else if (comparator instanceof AsciiType)
{
return ByteBuffer.wrap(object.getBytes("US-ASCII"));
return ByteBuffer.wrap(object.getBytes(Charsets.US_ASCII));
}
else
{
return ByteBuffer.wrap(object.getBytes("UTF-8"));
return ByteBuffer.wrap(object.getBytes(Charsets.UTF_8));
}
}
@ -1738,9 +1724,8 @@ public class CliClient
* @throws NoSuchFieldException - raised from getFormatTypeForColumn call
* @throws InstantiationException - raised from getFormatTypeForColumn call
* @throws IllegalAccessException - raised from getFormatTypeForColumn call
* @throws UnsupportedEncodingException - raised from getBytes() calls
*/
private ByteBuffer columnNameAsBytes(String column, String columnFamily) throws NoSuchFieldException, InstantiationException, IllegalAccessException, UnsupportedEncodingException
private ByteBuffer columnNameAsBytes(String column, String columnFamily) throws NoSuchFieldException, InstantiationException, IllegalAccessException
{
CfDef columnFamilyDef = getCfDef(columnFamily);
String comparatorClass = columnFamilyDef.comparator_type;
@ -1949,7 +1934,6 @@ public class CliClient
* Prints out KeySlice list
* @param columnFamilyDef - column family definition
* @param slices - list of the KeySlice's to print out
* @throws UnsupportedEncodingException - when trying to covert key
* @throws NotFoundException - column not found
* @throws TException - transfer is broken
* @throws IllegalAccessException - can't do operation
@ -1957,7 +1941,7 @@ public class CliClient
* @throws NoSuchFieldException - column not found
*/
private void printSliceList(CfDef columnFamilyDef, List<KeySlice> slices)
throws UnsupportedEncodingException, NotFoundException, TException, IllegalAccessException, InstantiationException, NoSuchFieldException
throws NotFoundException, TException, IllegalAccessException, InstantiationException, NoSuchFieldException
{
AbstractType validator;
String columnFamilyName = columnFamilyDef.getName();
@ -1965,7 +1949,7 @@ public class CliClient
for (KeySlice ks : slices)
{
css_.out.printf("-------------------\n");
css_.out.printf("RowKey: %s\n", new String(ks.key.array(),ks.key.position(),ks.key.remaining(), "UTF-8"));
css_.out.printf("RowKey: %s\n", new String(ks.key.array(),ks.key.position(),ks.key.remaining(), Charsets.UTF_8));
Iterator<ColumnOrSuperColumn> iterator = ks.getColumnsIterator();

View File

@ -18,27 +18,17 @@
package org.apache.cassandra.config;
import java.io.File;
import java.io.FileFilter;
import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.io.*;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.UUID;
import java.util.*;
import com.google.common.base.Charsets;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.auth.AllowAllAuthenticator;
import org.apache.cassandra.auth.AllowAllAuthority;
@ -54,18 +44,12 @@ import org.apache.cassandra.db.migration.Migration;
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.locator.AbstractReplicationStrategy;
import org.apache.cassandra.locator.DynamicEndpointSnitch;
import org.apache.cassandra.locator.EndpointSnitchInfo;
import org.apache.cassandra.locator.IEndpointSnitch;
import org.apache.cassandra.locator.LocalStrategy;
import org.apache.cassandra.locator.*;
import org.apache.cassandra.scheduler.IRequestScheduler;
import org.apache.cassandra.scheduler.NoScheduler;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.Loader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
@ -595,15 +579,8 @@ public class DatabaseDescriptor
for (RawColumnDefinition rcd : cf.column_metadata)
{
try
{
ByteBuffer columnName = ByteBuffer.wrap(rcd.name.getBytes("UTF-8"));
metadata.put(columnName, new ColumnDefinition(columnName, rcd.validator_class, rcd.index_type, rcd.index_name));
}
catch (UnsupportedEncodingException e)
{
throw new AssertionError(e);
}
ByteBuffer columnName = ByteBuffer.wrap(rcd.name.getBytes(Charsets.UTF_8));
metadata.put(columnName, new ColumnDefinition(columnName, rcd.validator_class, rcd.index_type, rcd.index_name));
}
cfDefs[j++] = new CFMetaData(keyspace.name,

View File

@ -21,7 +21,6 @@ package org.apache.cassandra.db.marshal;
*/
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import com.google.common.base.Charsets;

View File

@ -19,12 +19,12 @@
package org.apache.cassandra.dht;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
import java.util.*;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.CountDownLatch;
import com.google.common.base.Charsets;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
@ -253,15 +253,7 @@ public class BootStrapper
{
StorageService ss = StorageService.instance;
String tokenString = StorageService.getPartitioner().getTokenFactory().toString(ss.getBootstrapToken());
Message response;
try
{
response = message.getReply(FBUtilities.getLocalAddress(), tokenString.getBytes("UTF-8"));
}
catch (UnsupportedEncodingException e)
{
throw new AssertionError();
}
Message response = message.getReply(FBUtilities.getLocalAddress(), tokenString.getBytes(Charsets.UTF_8));
MessagingService.instance.sendOneWay(response, message.getFrom());
}
}
@ -286,14 +278,7 @@ public class BootStrapper
public void response(Message msg)
{
try
{
token = StorageService.getPartitioner().getTokenFactory().fromString(new String(msg.getMessageBody(), "UTF-8"));
}
catch (UnsupportedEncodingException e)
{
throw new AssertionError();
}
token = StorageService.getPartitioner().getTokenFactory().fromString(new String(msg.getMessageBody(), Charsets.UTF_8));
condition.signalAll();
}
}

View File

@ -18,7 +18,6 @@
package org.apache.cassandra.dht;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.charset.CharacterCodingException;

View File

@ -18,7 +18,6 @@
*/
package org.apache.cassandra.utils;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;

View File

@ -27,6 +27,8 @@ import java.util.Arrays;
import java.util.Random;
import java.util.UUID;
import com.google.common.base.Charsets;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.junit.Test;
@ -60,15 +62,15 @@ public class TypeCompareTest
}
@Test
public void testUTF8() throws UnsupportedEncodingException
public void testUTF8()
{
UTF8Type comparator = new UTF8Type();
assert comparator.compare(FBUtilities.EMPTY_BYTE_BUFFER, ByteBuffer.wrap("asdf".getBytes())) < 0;
assert comparator.compare(ByteBuffer.wrap("asdf".getBytes()), FBUtilities.EMPTY_BYTE_BUFFER) > 0;
assert comparator.compare(FBUtilities.EMPTY_BYTE_BUFFER, FBUtilities.EMPTY_BYTE_BUFFER) == 0;
assert comparator.compare(ByteBuffer.wrap("z".getBytes("UTF-8")), ByteBuffer.wrap("a".getBytes("UTF-8"))) > 0;
assert comparator.compare(ByteBuffer.wrap("z".getBytes("UTF-8")), ByteBuffer.wrap("z".getBytes("UTF-8"))) == 0;
assert comparator.compare(ByteBuffer.wrap("a".getBytes("UTF-8")), ByteBuffer.wrap("z".getBytes("UTF-8"))) < 0;
assert comparator.compare(ByteBuffer.wrap("z".getBytes(Charsets.UTF_8)), ByteBuffer.wrap("a".getBytes(Charsets.UTF_8))) > 0;
assert comparator.compare(ByteBuffer.wrap("z".getBytes(Charsets.UTF_8)), ByteBuffer.wrap("z".getBytes(Charsets.UTF_8))) == 0;
assert comparator.compare(ByteBuffer.wrap("a".getBytes(Charsets.UTF_8)), ByteBuffer.wrap("z".getBytes(Charsets.UTF_8))) < 0;
}
@Test

View File

@ -19,9 +19,9 @@
package org.apache.cassandra.service;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import com.google.common.base.Charsets;
import org.junit.BeforeClass;
import org.junit.Test;
@ -84,8 +84,7 @@ public class EmbeddedCassandraServiceTest
@Test
public void testEmbeddedCassandraService() throws AuthenticationException, AuthorizationException,
UnsupportedEncodingException, InvalidRequestException,
UnavailableException, TimedOutException, TException, NotFoundException
InvalidRequestException, UnavailableException, TimedOutException, TException, NotFoundException
{
Cassandra.Client client = getClient();
client.set_keyspace("Keyspace1");
@ -95,18 +94,18 @@ public class EmbeddedCassandraServiceTest
long timestamp = System.currentTimeMillis();
ColumnPath cp = new ColumnPath("Standard1");
ColumnParent par = new ColumnParent("Standard1");
cp.column = ByteBuffer.wrap("name".getBytes("utf-8"));
cp.column = ByteBuffer.wrap("name".getBytes(Charsets.UTF_8));
// insert
client.insert(key_user_id, par, new Column(ByteBuffer.wrap("name".getBytes("utf-8")),
ByteBuffer.wrap( "Ran".getBytes("UTF-8")), timestamp), ConsistencyLevel.ONE);
client.insert(key_user_id, par, new Column(ByteBuffer.wrap("name".getBytes(Charsets.UTF_8)),
ByteBuffer.wrap( "Ran".getBytes(Charsets.UTF_8)), timestamp), ConsistencyLevel.ONE);
// read
ColumnOrSuperColumn got = client.get(key_user_id, cp, ConsistencyLevel.ONE);
// assert
assertNotNull("Got a null ColumnOrSuperColumn", got);
assertEquals("Ran", new String(got.getColumn().getValue(), "utf-8"));
assertEquals("Ran", new String(got.getColumn().getValue(), Charsets.UTF_8));
}
/**