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),
 


Reply via email to