Author: jbellis
Date: Thu Aug 27 20:07:12 2009
New Revision: 808589
URL: http://svn.apache.org/viewvc?rev=808589&view=rev
Log:
Update AsyncResult to know when it started waiting so you can get() multiple
Results in serial but have them wait in parallel. Use this to implement
multiget methods. Remove unused MultiAsyncResult code and StorageProxy methods
using it.
Patch by Chris Goffinet; reviewed by jbellis for CASSANDRA-70
Removed:
incubator/cassandra/trunk/src/java/org/apache/cassandra/net/MultiAsyncResult.java
Modified:
incubator/cassandra/trunk/interface/cassandra.thrift
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/net/AsyncResult.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/net/IAsyncResult.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/net/IMessagingService.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/QuorumResponseHandler.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
incubator/cassandra/trunk/test/system/test_server.py
Modified: incubator/cassandra/trunk/interface/cassandra.thrift
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/cassandra.thrift?rev=808589&r1=808588&r2=808589&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/cassandra.thrift (original)
+++ incubator/cassandra/trunk/interface/cassandra.thrift Thu Aug 27 20:07:12
2009
@@ -117,12 +117,21 @@
list<ColumnOrSuperColumn> get_slice(1:string keyspace, 2:string key,
3:ColumnParent column_parent, 4:SlicePredicate predicate, 5:ConsistencyLevel
consistency_level=1)
throws (1: InvalidRequestException ire, 2: NotFoundException nfe),
+ map<string,list<ColumnOrSuperColumn>> multiget_slice(1:string keyspace,
2:list<string> keys, 3:ColumnParent column_parent, 4:SlicePredicate predicate,
5:ConsistencyLevel consistency_level=1)
+ throws (1: InvalidRequestException ire),
+
ColumnOrSuperColumn get(1:string keyspace, 2:string key, 3:ColumnPath
column_path, 4:ConsistencyLevel consistency_level=1)
throws (1: InvalidRequestException ire, 2: NotFoundException nfe),
+ map<string,ColumnOrSuperColumn> multiget(1:string keyspace, 2:list<string>
keys, 3:ColumnPath column_path, 4:ConsistencyLevel consistency_level=1)
+ throws (1: InvalidRequestException ire),
+
i32 get_count(1:string keyspace, 2:string key, 3:ColumnParent column_parent,
5:ConsistencyLevel consistency_level=1)
throws (1: InvalidRequestException ire),
+ map<string,i32> multiget_count(1:string keyspace, 2:list<string> keys,
3:ColumnParent column_parent, 5:ConsistencyLevel consistency_level=1)
+ throws (1: InvalidRequestException ire),
+
void insert(1:string keyspace, 2:string key, 3:ColumnPath column_path,
4:binary value, 5:i64 timestamp, 6:ConsistencyLevel consistency_level=0)
throws (1: InvalidRequestException ire, 2: UnavailableException ue),