卡桑德拉与c#

时间:2016-03-01 07:24:40

标签: c# cassandra

我在使用asp.net csharp查询cassandra列族时遇到以下错误。我的cassandra版本是1.2.1

  

“Cassandra.ProtocolErrorException”类型的未处理异常   发生在Cassandra.dll

     

附加信息:一致性级别的未知代码10

请提出解决方案。

2 个答案:

答案 0 :(得分:2)

我认为您需要在创建群集实例时将协议版本明确指定为1。 C#驱动程序的v3是相当新的,而cassandra服务器的v1.2.1非常老。有关详细信息,请查看此官方文档: http://docs.datastax.com/en/developer/csharp-driver/3.0/common/drivers/introduction/driverDependencies_r.html?scroll=reference_ds_a1z_m5f_5j__build-environment-dependencies-section

答案 1 :(得分:1)

问题可能是默认情况下C#驱动程序使用的是LOCAL_ONE一致性级别,正如Teddy Ma所说,1.2.1是一个不支持它的旧版本。

Cassandra 1.2.12是第一个支持LOCAL_ONE(0x10 CL)的C *版本。

最近在python列表上进行了更多讨论:CASSANDRA-6347

  

我很好奇,因为我认为C * 1.2支持LOCAL_ONE。事实证明,在Cassandra 1.2.11之前没有添加LOCAL_ONE,并且它添加了错误的代码(0x8而不是0x10)。这在{1.2}中由QueryOptions修正。

您可以通过在{{3}}上明确设置一致性级别,或升级到较新版本的cassandra(如果您必须保持在1.2,使用1.2.19)来解决此问题。