Devanshu Misra
Devanshu Misra

Reputation: 813

Protocol error when executing cpp-driver datastax

I am currently workinig on datastax cpp-driver in C and was working around some examples when I came across a very trivial problem. While trying to execute the Basic Authentication Script here, I found this error showing up and the code execution getting stuck.

The Error:

1587040775.210 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.3 because of the following error: Underlying connection error: Connect error 'connection refused'
1587040775.210 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.2 because of the following error: Underlying connection error: Connect error 'connection refused'
1587040775.211 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.1 because of the following error: Underlying connection error: Received error response 'Invalid or unsupported protocol version (66); supported versions are (3/v3, 4/v4, 5/v5-beta)' (0x0200000A)
1587040775.211 [WARN] (cluster_connector.cpp:289:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Host 127.0.0.1 does not support protocol version DSEv2. Trying protocol version DSEv1...
1587040775.212 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.1 because of the following error: Underlying connection error: Received error response 'Invalid or unsupported protocol version (65); supported versions are (3/v3, 4/v4, 5/v5-beta)' (0x0200000A)
1587040775.212 [WARN] (cluster_connector.cpp:289:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Host 127.0.0.1 does not support protocol version DSEv1. Trying protocol version v4...

What could be these protocols that are not supported by my machine? Also, after it comes to the last warning, which is trying protocol v4 it gets stuck. I'm using Casssandra 3.10+, Cpp-driver 2.13.

Anybody with a workaround or a solution would be of much help. Thanks in advance

Upvotes: 5

Views: 2319

Answers (1)

David Ritter
David Ritter

Reputation: 138

I've looked around a bunch to find some documentation to back this up but I can't find any, so this part is conjecture. It appears that server version 3 uses protocol V3. It looks like server version 4 (still in beta) will use protocol V4. I suspect V5 is a future iteration that is being planned and still not written in stone yet (and why it's tagged as beta in the warning).

This part isn't conjecture. If you add this to your code before you connect to the cluster:

cass_cluster_set_protocol_version(cluster, CASS_PROTOCOL_VERSION_V3);

All the warnings about downgrading to different protocols should go away.

Upvotes: 3

Related Questions