Protocol error when executing cpp-driver datastax - c

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

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.

Related

Error connecting Robot Framework to MS SQL Server database

I am somewhat experienced with Robot Framework, but new to the idea of connecting it to databases. I am trying to create a basic database test in my organization using Robot Framework in the PyCharm IDE. I've written the test using pymssql. It gives an unusual error message when it fails. I've read that I might need to install FreeTDS to do this, but I would prefer not to if I don't absolutely have to. I have seen several answers to this kind of question from Python developers, but I've not seen any who are using Robot Framework specifically.
Versions:
PyCharm 2020.1
Python 3.8.
Pymssql version 2.1.5.
Here is my code and the error messages I am getting.
*** Settings ***
Documentation DB Suite
Library Zoomba.GUILibrary
Library DatabaseLibrary
Resource ../../Pages/xxx/resource.robot
*** Variables ***
${DBName} DBxxx
${DBUser} USER xxx
${DBPass} PASS xxx
${DBHost} localhost
${DBPort} 1433
*** Test Cases ***
TC 001 Database Check
Connect To Database pymssql ${DBName} ${DBUser} ${DBPass} ${DBHost} ${DBPort}
${output}= Execute SQL String select * from dbo.xxx;
Log To Console ${output}
Disconnect From Database
And here is the error message:
OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (localhost)\nNet-Lib error during Unknown error (10061)\nDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (localhost)\nNet-Lib error during Unknown error (10061)\n')
I have read elsewhere that this error means that my Pymssql just can't find the server, but I've seen Pymssql not throw these errors before in other tutorials. It just connects right away. Anybody got any ideas on this one? I'd really appreciate the help.

Tomcat instance fails to start: ERROR: transport error 202: bind failed: Address already in use

I have two tomcat instances with shared tomcat installation on a ubuntu box.
Each server has its own shutdown port and own listener port.
When i start the second server (either one) I get the following error:
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197):
No transports initialized [../../../src/share/back/debugInit.c:750]
FATAL ERROR in native method:
JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
I am not trying to run these servers in debug mode. Have no additional startup options supplied.
I have checked other threads here but none of the solutions work for me. I've done netstat on the concerned port and there is nothing.

Connect to cassandra on Google Cloud Compute

I deployed a Cassandra cluster through their launcher: https://cloud.google.com/launcher/explore?q=cassandra
I can connect to the VM fine, through SSH/PuTTY.
Then when I try to connect with for example DBeaver I get:
com.datastax.driver.core.exceptions.NoHostAvailableExeption: All host(s) tried for query failed(tried: /x.x.x.x:9160)
com.datastax.driver.core.ConnectionExption:[/x.x.x.x:9160] Unexpected error during transport initialization. Connection has been closed
Or with cassandra-driver (nodejs), I get:
All host(s) tried for query failed. First host tried, x.x.x.x:9160: Error: read ECONNRESET. See innerErrors.
InnerErrors: { 'x.x.x.x:9160': { [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' } }
Info: Represents an error when a query cannot be performed because no host is available or could be reached by the driver.
I've forwarded the 9160 port in the google developer console and it seems to work because when I stop the cassandra server on the VM it gives a different error, indicating connection is refused:
All host(s) tried for query failed. First host tried, x.x.x.x:9160: Error: connect ECONNREFUSED. See innerErrors.
InnerErrors: { 'x.x.x.x:9160':
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' } }
Info: Represents an error when a query cannot be performed because no host is available or could be reached by the driver.
Now, I've tried editing the cassandra.yaml rcp_adress to the actual external address instead of 0.0.0.0.
I've also tried the internal serverfarm address.
I've not changed the default authentication (but also tried with auth):
authenticator: AllowAllAuthenticator
# authenticator: PasswordAuthenticator
authorizer: AllowAllAuthorizer
# authorizer: CassandraAuthorizer
I'm at a loss, the connection seems to work, but cassandra seems to not allow a login or reset the connection?
You are trying to connect on the thrift port (9160). You should be using the native protocol port (9042).

Beanstalkd Source Error

I am trying to queue a task using beanstalkd plugin in cakephp. However,
I am getting this error:
BeanstalkdSource - Could not connect. Error given was '111: Connection refused'. in [/var/www/*/app/plugins/queue/models/datasources/beanstalkd_source.php, line 72]
Can you tell me how can I solve this.
Have you installed Beanstalkd and set it running? If you can connect to it OK (run telnet 127.0.0.1 11300 from the command line, and type stats to confirm), then post the connection details, there may be an issue with the PHP side of the connection.

Open ssl unkown protocol

I wrote a code that worked for me great, I don't remember modifying it..
I compiled it today and tried to run it, but I got this error:
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
I also tried to connect to the host name with the openssl client, but I've got and error says: Linked closed ping timeout..
I also tried to Install openssl again, and even install an older version but it didn't work..
Any solutions?
I also tried to connect to the host name with the openssl client, but I've got and error says: Linked closed..
It sounds like the remote host is not available. If you can't connect to the remote host using command line tools, then there's nothing you can do with your code to make it work. Verify that the remote host is responding correctly first.

Resources