コードに次のカウンター クエリがあります。
private CounterSlice<String> queryLastCounts(Long key, String columnFamily,
int maxLength) {
SliceCounterQuery<Long, String> query =
HFactory.createCounterSliceQuery(cassandra.getKeyspace(),
LONG_S, STRING_S);
query
.setColumnFamily(columnFamily)
.setKey(key)
.setRange("", "", true, maxLength);
return query.execute().get();
}
私の単体テストでは、コードは完全に機能します。しかし、適切なアプリケーションを実行すると(私はそのためにストームを使用しています)、次のエラーが発生します。
Caused by: InvalidRequestException(why:String didn't validate.)
at org.apache.cassandra.thrift.Cassandra$get_slice_result.read(Cassandra.java:7756)
at org.apache.cassandra.thrift.Cassandra$Client.recv_get_slice(Cassandra.java:570)
at org.apache.cassandra.thrift.Cassandra$Client.get_slice(Cassandra.java:542)
at me.prettyprint.cassandra.service.KeyspaceServiceImpl$8.execute(KeyspaceServiceImpl.java:308)
... 25 more
また、Cassandra へのアクセスには Hector を使用しています。