annotate src/treecms/tree/cassandra/v1/ClientWrapper.java @ 7:fc19e38b669b

added concurrent access client for cassandr
author shoshi
date Thu, 17 Mar 2011 23:24:08 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
1 package treecms.tree.cassandra.v1;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
2
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
3 import java.util.List;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
4 import java.util.Map;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
5 import org.apache.cassandra.thrift.Cassandra;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
6 import org.apache.cassandra.thrift.ColumnOrSuperColumn;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
7 import org.apache.cassandra.thrift.ColumnParent;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
8 import org.apache.cassandra.thrift.ColumnPath;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
9 import org.apache.cassandra.thrift.ConsistencyLevel;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
10 import org.apache.cassandra.thrift.InvalidRequestException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
11 import org.apache.cassandra.thrift.KeyRange;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
12 import org.apache.cassandra.thrift.KeySlice;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
13 import org.apache.cassandra.thrift.Mutation;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
14 import org.apache.cassandra.thrift.NotFoundException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
15 import org.apache.cassandra.thrift.SlicePredicate;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
16 import org.apache.cassandra.thrift.TimedOutException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
17 import org.apache.cassandra.thrift.UnavailableException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
18 import org.apache.thrift.TException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
19 import org.apache.thrift.protocol.TBinaryProtocol;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
20 import org.apache.thrift.transport.TSocket;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
21 import org.apache.thrift.transport.TTransport;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
22 import org.apache.thrift.transport.TTransportException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
23
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
24 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
25 * Cassandra.Clientのラッパークラスです。Cassandra.Clientを使いやすくするための機能を提供します。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
26 * 接続済みのCassandra.Clientの接続が切断されたときに再接続を行います。このクラスはスレッドセーフでは有りません。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
27 *
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
28 * このラッパークラスはCassandra 0.6.xのAPIをベースに作成します。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
29 * @author shoshi
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
30 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
31 final class ClientWrapper
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
32 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
33 private String m_host;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
34 private int m_port;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
35 private int m_retryCount;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
36
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
37 private TTransport m_tr;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
38 private Cassandra.Client m_client;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
39
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
40 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
41 * コンストラクタです。初期化して接続します。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
42 * @param _host Cassandraのホスト名
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
43 * @param _port Cassandraのポート番号
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
44 * @param _retryCount リクエストが失敗した場合リトライする回数
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
45 * @throws TTransportException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
46 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
47 public ClientWrapper(String _host,int _port,int _retryCount) throws TTransportException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
48 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
49 m_host = _host;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
50 m_port = _port;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
51 m_retryCount = _retryCount;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
52
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
53 connect();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
54 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
55
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
56 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
57 * Cassandraに接続します。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
58 * @throws TTransportException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
59 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
60 private void connect() throws TTransportException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
61 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
62 Cassandra.Client client;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
63 TTransport tr = new TSocket(m_host,m_port);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
64 client = new Cassandra.Client(new TBinaryProtocol(tr));
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
65
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
66 tr.open();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
67
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
68 m_tr = tr;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
69 m_client = client;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
70 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
71
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
72 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
73 * Cassandraへの接続を切ります。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
74 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
75 private void disconnect()
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
76 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
77 m_tr.close();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
78 m_client = null;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
79 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
80
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
81 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
82 * Cassandraへ再接続を行います。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
83 * @return 再接続が成功した場合true
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
84 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
85 private boolean reconnect()
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
86 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
87 disconnect();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
88 try {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
89 connect();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
90 }catch(TTransportException _e){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
91 _e.printStackTrace();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
92 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
93 return true;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
94 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
95
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
96 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
97 * ここで共通する例外処理(再接続など)を行う
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
98 * @param _e 例外
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
99 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
100 private void exceptionHandler(Exception _e)
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
101 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
102 _e.printStackTrace();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
103 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
104
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
105 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
106 * Cassandra.Client.getのラッパーメソッド
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
107 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
108 public ColumnOrSuperColumn get(String _ks,String _key,ColumnPath _path,ConsistencyLevel _level) throws InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
109 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
110 for(int i = 0;i < m_retryCount;i ++){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
111 if(m_client == null){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
112 throw new IllegalStateException("Cassandra.Client is disconnected. "+m_host+":"+m_port);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
113 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
114
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
115 try {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
116 ColumnOrSuperColumn cors = m_client.get(_ks,_key,_path,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
117 return cors;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
118 }catch(Exception _e){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
119 exceptionHandler(_e);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
120 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
121 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
122 return m_client.get(_ks,_key,_path,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
123 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
124
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
125 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
126 * Cassandra.Client.get_sliceのラッパーメソッド
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
127 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
128 public List<ColumnOrSuperColumn> get_slice(String _ks,String _key,ColumnParent _parent,SlicePredicate _predicate,ConsistencyLevel _level) throws InvalidRequestException, UnavailableException, TimedOutException, TException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
129 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
130 for(int i = 0;i < m_retryCount;i ++){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
131 if(m_client == null){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
132 throw new IllegalStateException("Cassandra.Client is disconnected. "+m_host+":"+m_port);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
133 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
134
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
135 try {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
136 List<ColumnOrSuperColumn> list = m_client.get_slice(_ks,_key,_parent,_predicate,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
137 return list;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
138 }catch(Exception _e){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
139 exceptionHandler(_e);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
140 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
141 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
142 return m_client.get_slice(_ks,_key,_parent,_predicate,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
143 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
144
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
145 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
146 * Cassandra.Client.get_range_slicesのラッパーメソッド
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
147 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
148 public List<KeySlice> get_range_slices(String _ks,ColumnParent _parent,SlicePredicate _predicate,KeyRange _range,ConsistencyLevel _level) throws InvalidRequestException, UnavailableException, TimedOutException, TException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
149 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
150 for(int i = 0;i < m_retryCount;i ++){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
151 if(m_client == null){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
152 throw new IllegalStateException("Cassandra.Client is disconnected. "+m_host+":"+m_port);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
153 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
154
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
155 try {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
156 return m_client.get_range_slices(_ks,_parent,_predicate,_range,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
157 }catch(Exception _e){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
158 exceptionHandler(_e);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
159 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
160 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
161 return m_client.get_range_slices(_ks,_parent,_predicate,_range,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
162 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
163
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
164 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
165 * Cassandra.Client.insertのラッパーメソッド
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
166 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
167 public void insert(String _ks,String _key,ColumnPath _path,byte[] _value,long _timestamp,ConsistencyLevel _level) throws InvalidRequestException, UnavailableException, TimedOutException, TException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
168 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
169 for(int i = 1;i < m_retryCount;i ++){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
170 if(m_client == null){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
171 throw new IllegalStateException("Cassandra.Client is disconnected. "+m_host+":"+m_port);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
172 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
173
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
174 try{
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
175 m_client.insert(_ks,_key,_path,_value,_timestamp,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
176 }catch(Exception _e){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
177 exceptionHandler(_e);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
178 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
179 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
180 m_client.insert(_ks,_key,_path,_value,_timestamp,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
181 return;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
182 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
183
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
184 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
185 * Cassandra.Client.batch_mutateのラッパーメソッド
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
186 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
187 public void batch_mutate(String _ks,Map<String,Map<String,List<Mutation>>> _mutation_map,ConsistencyLevel _level) throws InvalidRequestException, UnavailableException, TimedOutException, TException
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
188 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
189 for(int i = 1;i < m_retryCount;i ++){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
190 if(m_client == null){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
191 throw new IllegalStateException("Cassandra.Client is disconnected. "+m_host+":"+m_port);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
192 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
193
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
194 try{
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
195 m_client.batch_mutate(_ks,_mutation_map,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
196 }catch(Exception _e){
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
197 exceptionHandler(_e);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
198 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
199 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
200 m_client.batch_mutate(_ks,_mutation_map,_level);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
201 return;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
202 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
203 }