org.apache.cassandra.thrift
Class CassandraServer

java.lang.Object
  extended by org.apache.cassandra.thrift.CassandraServer
All Implemented Interfaces:
Cassandra.Iface

public class CassandraServer
extends java.lang.Object
implements Cassandra.Iface


Field Summary
 java.lang.ThreadLocal<ClientState> clientState
           
 
Constructor Summary
CassandraServer()
           
 
Method Summary
 void batch_mutate(java.util.Map<java.nio.ByteBuffer,java.util.Map<java.lang.String,java.util.List<Mutation>>> mutation_map, ConsistencyLevel consistency_level)
          Mutate many columns or super columns for many row keys.
 java.lang.String describe_cluster_name()
          get the cluster name
 KsDef describe_keyspace(java.lang.String table)
          describe specified keyspace
 java.util.List<KsDef> describe_keyspaces()
          list the defined keyspaces in this cluster
 java.lang.String describe_partitioner()
          returns the partitioner used by this cluster
 java.util.List<TokenRange> describe_ring(java.lang.String keyspace)
          get the token ring: a map of ranges to host addresses, represented as a set of TokenRange instead of a map from range to list of endpoints, because you can't use Thrift structs as map keys: https://issues.apache.org/jira/browse/THRIFT-162 for the same reason, we can't return a set here, even though order is neither important nor predictable.
 java.util.Map<java.lang.String,java.util.List<java.lang.String>> describe_schema_versions()
          for each schema version present in the cluster, returns a list of nodes at that version.
 java.lang.String describe_snitch()
          returns the snitch used by this cluster
 java.util.List<java.lang.String> describe_splits(java.lang.String cfName, java.lang.String start_token, java.lang.String end_token, int keys_per_split)
          experimental API for hadoop/parallel query support.
 java.lang.String describe_version()
          get the thrift api version
 int get_count(java.nio.ByteBuffer key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
          returns the number of columns matching predicate for a particular key, ColumnFamily and optionally SuperColumn.
 java.util.List<KeySlice> get_indexed_slices(ColumnParent column_parent, IndexClause index_clause, SlicePredicate column_predicate, ConsistencyLevel consistency_level)
          Returns the subset of columns specified in SlicePredicate for the rows matching the IndexClause
 java.util.List<KeySlice> get_range_slices(ColumnParent column_parent, SlicePredicate predicate, KeyRange range, ConsistencyLevel consistency_level)
          returns a subset of columns for a contiguous range of keys.
 java.util.List<ColumnOrSuperColumn> get_slice(java.nio.ByteBuffer key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
          Get the group of columns contained by column_parent (either a ColumnFamily name or a ColumnFamily/SuperColumn name pair) specified by the given SlicePredicate.
 ColumnOrSuperColumn get(java.nio.ByteBuffer key, ColumnPath column_path, ConsistencyLevel consistency_level)
          Get the Column or SuperColumn at the given column_path.
 void insert(java.nio.ByteBuffer key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level)
          Insert a Column at the given column_parent.column_family and optional column_parent.super_column.
 void login(AuthenticationRequest auth_request)
           
 java.util.Map<java.nio.ByteBuffer,java.lang.Integer> multiget_count(java.util.List<java.nio.ByteBuffer> keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
          Perform a get_count in parallel on the given list keys.
 java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnOrSuperColumn>> multiget_slice(java.util.List<java.nio.ByteBuffer> keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
          Performs a get_slice for column_parent and predicate for the given keys in parallel.
protected  java.util.Map<DecoratedKey,ColumnFamily> readColumnFamily(java.util.List<ReadCommand> commands, ConsistencyLevel consistency_level)
           
 void remove(java.nio.ByteBuffer key, ColumnPath column_path, long timestamp, ConsistencyLevel consistency_level)
          Remove data from the row specified by key at the granularity specified by column_path, and the given timestamp.
 void set_keyspace(java.lang.String keyspace)
           
 ClientState state()
           
 java.lang.String system_add_column_family(CfDef cf_def)
          adds a column family.
 java.lang.String system_add_keyspace(KsDef ks_def)
          adds a keyspace and any column families that are part of it.
 java.lang.String system_drop_column_family(java.lang.String column_family)
          drops a column family.
 java.lang.String system_drop_keyspace(java.lang.String keyspace)
          drops a keyspace and any column families that are part of it.
 java.lang.String system_update_column_family(CfDef cf_def)
          updates properties of a column family.
 java.lang.String system_update_keyspace(KsDef ks_def)
          update an existing keyspace, but do not allow column family modifications.
 java.util.List<ColumnOrSuperColumn> thriftifyColumns(java.util.Collection<IColumn> columns, boolean reverseOrder)
           
 java.util.List<Column> thriftifySubColumns(java.util.Collection<IColumn> columns)
           
 void truncate(java.lang.String cfname)
          Truncate will mark and entire column family as deleted.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

clientState

public final java.lang.ThreadLocal<ClientState> clientState
Constructor Detail

CassandraServer

public CassandraServer()
Method Detail

state

public ClientState state()

readColumnFamily

protected java.util.Map<DecoratedKey,ColumnFamily> readColumnFamily(java.util.List<ReadCommand> commands,
                                                                    ConsistencyLevel consistency_level)
                                                             throws InvalidRequestException,
                                                                    UnavailableException,
                                                                    TimedOutException
Throws:
InvalidRequestException
UnavailableException
TimedOutException

thriftifySubColumns

public java.util.List<Column> thriftifySubColumns(java.util.Collection<IColumn> columns)

thriftifyColumns

public java.util.List<ColumnOrSuperColumn> thriftifyColumns(java.util.Collection<IColumn> columns,
                                                            boolean reverseOrder)

get_slice

public java.util.List<ColumnOrSuperColumn> get_slice(java.nio.ByteBuffer key,
                                                     ColumnParent column_parent,
                                                     SlicePredicate predicate,
                                                     ConsistencyLevel consistency_level)
                                              throws InvalidRequestException,
                                                     UnavailableException,
                                                     TimedOutException
Description copied from interface: Cassandra.Iface
Get the group of columns contained by column_parent (either a ColumnFamily name or a ColumnFamily/SuperColumn name pair) specified by the given SlicePredicate. If no matching values are found, an empty list is returned.

Specified by:
get_slice in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

multiget_slice

public java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnOrSuperColumn>> multiget_slice(java.util.List<java.nio.ByteBuffer> keys,
                                                                                             ColumnParent column_parent,
                                                                                             SlicePredicate predicate,
                                                                                             ConsistencyLevel consistency_level)
                                                                                      throws InvalidRequestException,
                                                                                             UnavailableException,
                                                                                             TimedOutException
Description copied from interface: Cassandra.Iface
Performs a get_slice for column_parent and predicate for the given keys in parallel.

Specified by:
multiget_slice in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

get

public ColumnOrSuperColumn get(java.nio.ByteBuffer key,
                               ColumnPath column_path,
                               ConsistencyLevel consistency_level)
                        throws InvalidRequestException,
                               NotFoundException,
                               UnavailableException,
                               TimedOutException
Description copied from interface: Cassandra.Iface
Get the Column or SuperColumn at the given column_path. If no value is present, NotFoundException is thrown. (This is the only method that can throw an exception under non-failure conditions.)

Specified by:
get in interface Cassandra.Iface
Throws:
InvalidRequestException
NotFoundException
UnavailableException
TimedOutException

get_count

public int get_count(java.nio.ByteBuffer key,
                     ColumnParent column_parent,
                     SlicePredicate predicate,
                     ConsistencyLevel consistency_level)
              throws InvalidRequestException,
                     UnavailableException,
                     TimedOutException
Description copied from interface: Cassandra.Iface
returns the number of columns matching predicate for a particular key, ColumnFamily and optionally SuperColumn.

Specified by:
get_count in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

multiget_count

public java.util.Map<java.nio.ByteBuffer,java.lang.Integer> multiget_count(java.util.List<java.nio.ByteBuffer> keys,
                                                                           ColumnParent column_parent,
                                                                           SlicePredicate predicate,
                                                                           ConsistencyLevel consistency_level)
                                                                    throws InvalidRequestException,
                                                                           UnavailableException,
                                                                           TimedOutException
Description copied from interface: Cassandra.Iface
Perform a get_count in parallel on the given list keys. The return value maps keys to the count found.

Specified by:
multiget_count in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

insert

public void insert(java.nio.ByteBuffer key,
                   ColumnParent column_parent,
                   Column column,
                   ConsistencyLevel consistency_level)
            throws InvalidRequestException,
                   UnavailableException,
                   TimedOutException
Description copied from interface: Cassandra.Iface
Insert a Column at the given column_parent.column_family and optional column_parent.super_column.

Specified by:
insert in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

batch_mutate

public void batch_mutate(java.util.Map<java.nio.ByteBuffer,java.util.Map<java.lang.String,java.util.List<Mutation>>> mutation_map,
                         ConsistencyLevel consistency_level)
                  throws InvalidRequestException,
                         UnavailableException,
                         TimedOutException
Description copied from interface: Cassandra.Iface
Mutate many columns or super columns for many row keys. See also: Mutation. mutation_map maps key to column family to a list of Mutation objects to take place at that scope. *

Specified by:
batch_mutate in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

remove

public void remove(java.nio.ByteBuffer key,
                   ColumnPath column_path,
                   long timestamp,
                   ConsistencyLevel consistency_level)
            throws InvalidRequestException,
                   UnavailableException,
                   TimedOutException
Description copied from interface: Cassandra.Iface
Remove data from the row specified by key at the granularity specified by column_path, and the given timestamp. Note that all the values in column_path besides column_path.column_family are truly optional: you can remove the entire row by just specifying the ColumnFamily, or you can remove a SuperColumn or a single Column by specifying those levels too.

Specified by:
remove in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException

describe_keyspace

public KsDef describe_keyspace(java.lang.String table)
                        throws NotFoundException,
                               InvalidRequestException
Description copied from interface: Cassandra.Iface
describe specified keyspace

Specified by:
describe_keyspace in interface Cassandra.Iface
Throws:
NotFoundException
InvalidRequestException

get_range_slices

public java.util.List<KeySlice> get_range_slices(ColumnParent column_parent,
                                                 SlicePredicate predicate,
                                                 KeyRange range,
                                                 ConsistencyLevel consistency_level)
                                          throws InvalidRequestException,
                                                 UnavailableException,
                                                 org.apache.thrift.TException,
                                                 TimedOutException
Description copied from interface: Cassandra.Iface
returns a subset of columns for a contiguous range of keys.

Specified by:
get_range_slices in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
org.apache.thrift.TException
TimedOutException

get_indexed_slices

public java.util.List<KeySlice> get_indexed_slices(ColumnParent column_parent,
                                                   IndexClause index_clause,
                                                   SlicePredicate column_predicate,
                                                   ConsistencyLevel consistency_level)
                                            throws InvalidRequestException,
                                                   UnavailableException,
                                                   TimedOutException,
                                                   org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
Returns the subset of columns specified in SlicePredicate for the rows matching the IndexClause

Specified by:
get_indexed_slices in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
TimedOutException
org.apache.thrift.TException

describe_keyspaces

public java.util.List<KsDef> describe_keyspaces()
                                         throws org.apache.thrift.TException,
                                                InvalidRequestException
Description copied from interface: Cassandra.Iface
list the defined keyspaces in this cluster

Specified by:
describe_keyspaces in interface Cassandra.Iface
Throws:
org.apache.thrift.TException
InvalidRequestException

describe_cluster_name

public java.lang.String describe_cluster_name()
                                       throws org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
get the cluster name

Specified by:
describe_cluster_name in interface Cassandra.Iface
Throws:
org.apache.thrift.TException

describe_version

public java.lang.String describe_version()
                                  throws org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
get the thrift api version

Specified by:
describe_version in interface Cassandra.Iface
Throws:
org.apache.thrift.TException

describe_ring

public java.util.List<TokenRange> describe_ring(java.lang.String keyspace)
                                         throws InvalidRequestException
Description copied from interface: Cassandra.Iface
get the token ring: a map of ranges to host addresses, represented as a set of TokenRange instead of a map from range to list of endpoints, because you can't use Thrift structs as map keys: https://issues.apache.org/jira/browse/THRIFT-162 for the same reason, we can't return a set here, even though order is neither important nor predictable.

Specified by:
describe_ring in interface Cassandra.Iface
Throws:
InvalidRequestException

describe_partitioner

public java.lang.String describe_partitioner()
                                      throws org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
returns the partitioner used by this cluster

Specified by:
describe_partitioner in interface Cassandra.Iface
Throws:
org.apache.thrift.TException

describe_snitch

public java.lang.String describe_snitch()
                                 throws org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
returns the snitch used by this cluster

Specified by:
describe_snitch in interface Cassandra.Iface
Throws:
org.apache.thrift.TException

describe_splits

public java.util.List<java.lang.String> describe_splits(java.lang.String cfName,
                                                        java.lang.String start_token,
                                                        java.lang.String end_token,
                                                        int keys_per_split)
                                                 throws org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
experimental API for hadoop/parallel query support. may change violently and without warning. returns list of token strings such that first subrange is (list[0], list[1]], next is (list[1], list[2]], etc.

Specified by:
describe_splits in interface Cassandra.Iface
Throws:
org.apache.thrift.TException

login

public void login(AuthenticationRequest auth_request)
           throws AuthenticationException,
                  AuthorizationException,
                  org.apache.thrift.TException
Specified by:
login in interface Cassandra.Iface
Throws:
AuthenticationException
AuthorizationException
org.apache.thrift.TException

system_add_column_family

public java.lang.String system_add_column_family(CfDef cf_def)
                                          throws InvalidRequestException,
                                                 org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
adds a column family. returns the new schema id.

Specified by:
system_add_column_family in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

system_drop_column_family

public java.lang.String system_drop_column_family(java.lang.String column_family)
                                           throws InvalidRequestException,
                                                  org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
drops a column family. returns the new schema id.

Specified by:
system_drop_column_family in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

system_add_keyspace

public java.lang.String system_add_keyspace(KsDef ks_def)
                                     throws InvalidRequestException,
                                            org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
adds a keyspace and any column families that are part of it. returns the new schema id.

Specified by:
system_add_keyspace in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

system_drop_keyspace

public java.lang.String system_drop_keyspace(java.lang.String keyspace)
                                      throws InvalidRequestException,
                                             org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
drops a keyspace and any column families that are part of it. returns the new schema id.

Specified by:
system_drop_keyspace in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

system_update_keyspace

public java.lang.String system_update_keyspace(KsDef ks_def)
                                        throws InvalidRequestException,
                                               org.apache.thrift.TException
update an existing keyspace, but do not allow column family modifications.

Specified by:
system_update_keyspace in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

system_update_column_family

public java.lang.String system_update_column_family(CfDef cf_def)
                                             throws InvalidRequestException,
                                                    org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
updates properties of a column family. returns the new schema id.

Specified by:
system_update_column_family in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

truncate

public void truncate(java.lang.String cfname)
              throws InvalidRequestException,
                     UnavailableException,
                     org.apache.thrift.TException
Description copied from interface: Cassandra.Iface
Truncate will mark and entire column family as deleted. From the user's perspective a successful call to truncate will result complete data deletion from cfname. Internally, however, disk space will not be immediatily released, as with all deletes in cassandra, this one only marks the data as deleted. The operation succeeds only if all hosts in the cluster at available and will throw an UnavailableException if some hosts are down.

Specified by:
truncate in interface Cassandra.Iface
Throws:
InvalidRequestException
UnavailableException
org.apache.thrift.TException

set_keyspace

public void set_keyspace(java.lang.String keyspace)
                  throws InvalidRequestException,
                         org.apache.thrift.TException
Specified by:
set_keyspace in interface Cassandra.Iface
Throws:
InvalidRequestException
org.apache.thrift.TException

describe_schema_versions

public java.util.Map<java.lang.String,java.util.List<java.lang.String>> describe_schema_versions()
                                                                                          throws org.apache.thrift.TException,
                                                                                                 InvalidRequestException
Description copied from interface: Cassandra.Iface
for each schema version present in the cluster, returns a list of nodes at that version. hosts that do not respond will be under the key DatabaseDescriptor.INITIAL_VERSION. the cluster is all on the same version if the size of the map is 1.

Specified by:
describe_schema_versions in interface Cassandra.Iface
Throws:
org.apache.thrift.TException
InvalidRequestException


Copyright © 2011 The Apache Software Foundation