2

我有这个代码:

sliceRange.Start = UTF8StringToBytes(strStart)
sliceRange.Finish = UTF8StringToBytes(strFinish)
sliceRange.Reversed = True
sliceRange.Count = intCount
predicate.Slice_range = sliceRange
Dim results As List(Of ColumnOrSuperColumn) = client.get_slice(UTF8StringToBytes(rowKey), columnFamily, predicate, ConsistencyLevel.ONE)

当我使用此代码时,这会导致 cassandra / thrift 出现以下错误:在序列化数据中找不到必填字段 'reversed'!

怎么了?

4

1 回答 1

0

您似乎对底层生成的 Thrift 代码有疑问。除非您有特定的理由这样做,否则不建议直接使用 Thrift 访问 Cassandra。有许多可用的客户端库可以为您抽象出来。

话虽如此,我过去曾使用 Thrift 生成的 C# 代码编写自己的库,并没有遇到这个问题。也许您的问题与您使用VB有关?如果您有某些理由直接使用 Thrift,您可以在 C# 中尝试相同的代码,看看是否能解决问题。如果没有,请确保您拥有正确版本的 Cassandra 和 Thrift,因为不兼容可能会导致此类问题。

于 2012-11-20T14:51:23.380 回答