mirror of https://github.com/apache/cassandra
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:
parent
2d9b4ba3cc
commit
cdb07b193f
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ package org.apache.cassandra.db.marshal;
|
|||
*/
|
||||
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package org.apache.cassandra.utils;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue