Datastax cassandra cpp_driver连接到节点时挂起

问题描述 投票:1回答:1

我在Debian 9.6机器上设置了一个ScyllDB。当我运行cqlsh时,我可以连接到它并创建表,进行查询等。现在,我尝试使用Datstax驱动程序用C ++写一个简单的程序,它无法连接。尝试连接时,它始终会阻塞。

我安装的scylla软件包是:

scylla | 3.0.11-0.20191126.3c91bad0d-1~stretch

cpp_driver是来自github的当前母版:https://github.com/datastax/cpp-driver

现在,我尝试运行驱动程序中包含的examples/simple项目,因此我认为它应该可以工作,但是它显示了相同的问题。我没有任何错误,它只是阻止

CassCluster* cluster = cass_cluster_new();
CassSession* session = cass_session_new();
char* hosts = "127.0.0.1";
cass_cluster_set_contact_points(cluster, hosts);
cass_cluster_set_protocol_version(cluster, CASS_PROTOCOL_VERSION_V4);
connect_future = cass_session_connect(session, cluster);

// here it blocks now forever...
er = cass_future_error_code(connect_future);

我也尝试在Ubuntu 16.04上运行它,但它显示了相同的问题。由于连接正常,因此使用cqlsh我认为应该不是配置问题,而是cpp_driver的问题。

[我也跟踪了TCP连接,并且我可以看到cpp_driver与服务器对话,这看起来与cqlsh对话类似。

datastax scylla
1个回答
0
投票

我终于找到了解决此问题的方法。我们使用的cpp_driver 2.15.1显然根据其发行说明在偶数处理方面进行了一些更改。当我降级到2.15.0时,问题消失了,可以成功建立连接。

© www.soinside.com 2019 - 2024. All rights reserved.