gpt4 book ai didi

cassandra thrift 长插入 - InvalidRequestException(为什么是 :(String didn't validate.)

转载 作者:行者123 更新时间:2023-12-04 17:19:21 29 4
gpt4 key购买 nike

我在 Cassandra 2.0.7 中使用 thrift Api 创建动态列族并插入长值。但它的抛出错误仅适用于 long 类型。其他类型,如 string 、 int 和 byte 正在工作。

InvalidRequestException(why:(String didn't validate.) [Monitor][Groups][since] failed validation)                                                                                           
at org.apache.cassandra.thrift.Cassandra$batch_mutate_result$batch_mutate_resultStandardScheme.read(Cassandra.java:28232)
at org.apache.cassandra.thrift.Cassandra$batch_mutate_result$batch_mutate_resultStandardScheme.read(Cassandra.java:28218)
at org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:28152)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:1069)
at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:1055)
at com.sify.beacon.cf.TestGroups.insertColumns(TestGroups.java:588)



CREATE COLUMN FAMILY Groups
WITH comparator = UTF8Type
AND key_validation_class=UTF8Type
AND default_validation_class = UTF8Type;

代码:

公共(public) ColumnOrSuperColumn createColumnOrSuperColumn(字符串名称, 长值,长时间戳)抛出 UnsupportedEncodingException {

ByteBuffer buffer = ByteBuffer.allocate(Long.SIZE);
buffer.putLong(value);

Column column = new Column(ByteBuffer.wrap(name.getBytes("utf-8")));
column.setValue(ByteBuffer.wrap(buffer.array()));
column.setTimestamp(timestamp);

ColumnOrSuperColumn c = new ColumnOrSuperColumn();
c.setColumn(column);
return c;

我需要做任何其他转换来解决这个问题吗?

如果有人有想法,请告诉我。

最佳答案

我在创建键空间时删除了 default_validation_class。然后插入包括长值。

感谢您的支持

关于cassandra thrift 长插入 - InvalidRequestException(为什么是 :(String didn't validate.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23830775/

29 4 0
文章推荐: jquery-ui - jQuery UI 自动完成 - 类似于标准