我有这段代码:
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出现以下错误: 在序列化数据中找不到必填字段'reverse'!
怎么了?
答案 0 :(得分:0)
您似乎遇到了基础生成的Thrift代码的问题。除非您有特定的理由这样做,否则不建议直接使用Thrift访问Cassandra。有许多client libraries可供您抽象使用。
话虽如此,我过去曾使用Thrift生成的C#代码编写自己的库,并没有遇到过这个问题。也许你的问题与你使用VB有关?如果你有理由直接使用Thrift,你可以在C#中尝试相同的代码,看看是否能解决问题。如果没有,请确保您拥有正确版本的Cassandra和Thrift,因为不兼容可能会导致此类问题。