Cassandra with c#

本文关键字:with Cassandra | 更新日期: 2023-09-27 18:37:00

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

类型为"Cassandra.ProtocolErrorException"的未处理异常 发生在卡桑德拉.dll

其他信息:一致性级别的未知代码 10

请提出解决方案。

Cassandra with c#

我认为您需要在创建集群实例时将协议版本显式指定为 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

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

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

最近关于python列表的更多讨论:https://groups.google.com/a/lists.datastax.com/forum/#!topic/python-driver-user/iBT4W-Ne2y4

我对此很好奇,因为我认为 C* 1.2 支持LOCAL_ONE。 事实证明LOCAL_ONE直到 Cassandra 1.2.11 才添加它,并且它是用错误的代码添加的(0x8 而不是 0x10)。 此问题由 CASSANDRA-6347 在 1.2.12 中修复。

您可以通过在 QueryOptions 上显式设置一致性级别或升级到较新版本的 cassandra 来解决此问题(如果您必须保留在 1.2 上,请使用 1.2.19)。