fasar created CASSANDRA-21023:
---------------------------------

             Summary: sstableloader time-out on Cassandra 4.1.x with SSL 
Configuration
                 Key: CASSANDRA-21023
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21023
             Project: Apache Cassandra
          Issue Type: Bug
          Components: Tool/bulk load
            Reporter: fasar


Hello Community !!!


I am trying to use _sstableloader_ to restore a snapshot.
Cassandra is configured with {color:#00875a}_internode_encryption_{color} and 
{color:#00875a}_client_encryption_{color} enabled.
I have a test cluster with 3 nodes and a recovery cluster with 42 nodes ({_}3 
racks{_} in each environment).
Both clusters have Cassandra _4.1.4_ installed.
 
When I try sstableloader, it terminates the connection with the error: 
`{_}{color:#4c9aff}Operation timed out{color}{_}`.
I test with Cassandra _4.1.10_ and it is the same output.
 
Below is the command and the trace output of the sstableloader run:
 
```bash
/var/opt/cassandra/apache-cassandra-4.1.4/bin/sstableloader -d 
cassandra-test-rack1-01,cassandra-test-rack2-01,cassandra-test-rack3-01 -f 
/var/opt/cassandra/apache-cassandra-4.1.4/conf/cassandra.yaml  -u user1 -pw 
password /data/cassandra-snap/test/testtable
```
 
```log
EBUG 13:55:45,457 Loaded default ResourceLeakDetector: 
com.datastax.shaded.netty.util.ResourceLeakDetector@3c7175ae
DEBUG 13:55:45,555 [id: 0x446e44c3, L:/10.10.10.214:52930 - 
R:cassandra-test-rack1-01/10.10.10.214:9042] HANDSHAKEN: TLS_AES_256_GCM_SHA384
DEBUG 13:55:57,532 Defuncting 
Connection[cassandra-test-rack1-01/10.10.10.214:9042-1, inFlight=0, 
closed=false] because: [cassandra-test-rack1-01/10.10.10.214:9042] Operation 
timed out
DEBUG 13:55:57,533 [cassandra-test-rack1-01/10.10.10.214:9042] preventing new 
connections for the next 1000 ms
DEBUG 13:55:57,533 [cassandra-test-rack1-01/10.10.10.214:9042] 
Connection[cassandra-test-rack1-01/10.10.10.214:9042-1, inFlight=0, 
closed=false] failed, remaining = 0
DEBUG 13:55:57,533 Connection[cassandra-test-rack1-01/10.10.10.214:9042-1, 
inFlight=0, closed=true] closing connection
DEBUG 13:55:57,533 Not terminating 
Connection[cassandra-test-rack1-01/10.10.10.214:9042-1, inFlight=0, 
closed=true]: there are still pending requests
DEBUG 13:55:57,534 [Control connection] error on 
cassandra-test-rack1-01/10.10.10.214:9042 connection, trying next host
com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack1-01/10.10.10.214:9042] Operation timed out
        at 
com.datastax.driver.core.Connection$Future.onTimeout(Connection.java:1557)
        at 
com.datastax.driver.core.Connection$ResponseHandler$1.run(Connection.java:1636)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
        at 
com.datastax.shaded.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)
DEBUG 13:55:57,534 [cassandra-test-rack2-01/10.10.10.213:9042] preparing to 
open 1 new connections, total = 1
DEBUG 13:55:57,535 Connection[cassandra-test-rack1-01/10.10.10.214:9042-1, 
inFlight=0, closed=true], stream 0, Error writing request STARTUP 
\{CQL_VERSION=3.0.0, DRIVER_VERSION=3.11.0, DRIVER_NAME=DataStax Java Driver}
DEBUG 13:55:57,536 Connection[cassandra-test-rack2-01/10.10.10.213:9042-1, 
inFlight=0, closed=false] Connection established, initializing transport
DEBUG 13:55:57,574 [id: 0x870adc85, L:/10.10.10.214:59728 - 
R:cassandra-test-rack2-01/10.10.10.213:9042] HANDSHAKEN: TLS_AES_256_GCM_SHA384
DEBUG 13:56:09,631 Defuncting 
Connection[cassandra-test-rack2-01/10.10.10.213:9042-1, inFlight=0, 
closed=false] because: [cassandra-test-rack2-01/10.10.10.213:9042] Operation 
timed out
DEBUG 13:56:09,632 [cassandra-test-rack2-01/10.10.10.213:9042] preventing new 
connections for the next 1000 ms
DEBUG 13:56:09,632 [cassandra-test-rack2-01/10.10.10.213:9042] 
Connection[cassandra-test-rack2-01/10.10.10.213:9042-1, inFlight=0, 
closed=false] failed, remaining = 0
DEBUG 13:56:09,632 Connection[cassandra-test-rack2-01/10.10.10.213:9042-1, 
inFlight=0, closed=true] closing connection
DEBUG 13:56:09,632 Not terminating 
Connection[cassandra-test-rack2-01/10.10.10.213:9042-1, inFlight=0, 
closed=true]: there are still pending requests
DEBUG 13:56:09,633 [Control connection] error on 
cassandra-test-rack2-01/10.10.10.213:9042 connection, trying next host
com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack2-01/10.10.10.213:9042] Operation timed out
        at 
com.datastax.driver.core.Connection$Future.onTimeout(Connection.java:1557)
        at 
com.datastax.driver.core.Connection$ResponseHandler$1.run(Connection.java:1636)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
        at 
com.datastax.shaded.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)
DEBUG 13:56:09,633 [cassandra-test-rack3-01/10.10.10.215:9042] preparing to 
open 1 new connections, total = 1
DEBUG 13:56:09,633 Connection[cassandra-test-rack2-01/10.10.10.213:9042-1, 
inFlight=0, closed=true], stream 0, Error writing request STARTUP 
\{CQL_VERSION=3.0.0, DRIVER_VERSION=3.11.0, DRIVER_NAME=DataStax Java Driver}
DEBUG 13:56:09,634 Connection[cassandra-test-rack3-01/10.10.10.215:9042-1, 
inFlight=0, closed=false] Connection established, initializing transport
DEBUG 13:56:09,661 [id: 0x08eded5b, L:/10.10.10.214:45150 - 
R:cassandra-test-rack3-01/10.10.10.215:9042] HANDSHAKEN: TLS_AES_256_GCM_SHA384
DEBUG 13:56:21,731 Defuncting 
Connection[cassandra-test-rack3-01/10.10.10.215:9042-1, inFlight=0, 
closed=false] because: [cassandra-test-rack3-01/10.10.10.215:9042] Operation 
timed out
DEBUG 13:56:21,732 [cassandra-test-rack3-01/10.10.10.215:9042] preventing new 
connections for the next 1000 ms
DEBUG 13:56:21,732 [cassandra-test-rack3-01/10.10.10.215:9042] 
Connection[cassandra-test-rack3-01/10.10.10.215:9042-1, inFlight=0, 
closed=false] failed, remaining = 0
DEBUG 13:56:21,732 Connection[cassandra-test-rack3-01/10.10.10.215:9042-1, 
inFlight=0, closed=true] closing connection
DEBUG 13:56:21,732 Not terminating 
Connection[cassandra-test-rack3-01/10.10.10.215:9042-1, inFlight=0, 
closed=true]: there are still pending requests
DEBUG 13:56:21,732 [Control connection] error on 
cassandra-test-rack3-01/10.10.10.215:9042 connection, no more host to try
com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack3-01/10.10.10.215:9042] Operation timed out
        at 
com.datastax.driver.core.Connection$Future.onTimeout(Connection.java:1557)
        at 
com.datastax.driver.core.Connection$ResponseHandler$1.run(Connection.java:1636)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
        at 
com.datastax.shaded.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
        at 
com.datastax.shaded.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)
DEBUG 13:56:21,732 Connection[cassandra-test-rack3-01/10.10.10.215:9042-1, 
inFlight=0, closed=true], stream 0, Error writing request STARTUP 
\{CQL_VERSION=3.0.0, DRIVER_VERSION=3.11.0, DRIVER_NAME=DataStax Java Driver}
DEBUG 13:56:21,733 Shutting down
DEBUG 13:56:21,740 Freed 12 thread-local buffer(s) from thread: 
cluster1-nio-worker-0
DEBUG 13:56:21,740 Freed 12 thread-local buffer(s) from thread: 
cluster1-nio-worker-1
DEBUG 13:56:23,943 Freed 12 thread-local buffer(s) from thread: 
cluster1-nio-worker-2
DEBUG 13:56:23,950 Connection[cassandra-test-rack1-01/10.10.10.214:9042-1, 
inFlight=0, closed=true] has already terminated
Unable to initialise org.apache.cassandra.utils.NativeSSTableLoaderClient
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried 
for query failed (tried: cassandra-test-rack2-01/10.10.10.213:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack2-01/10.10.10.213:9042] Operation timed out), 
cassandra-test-rack3-01/10.10.10.215:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack3-01/10.10.10.215:9042] Operation timed out), 
cassandra-test-rack1-01/10.10.10.214:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack1-01/10.10.10.214:9042] Operation timed out))
java.lang.RuntimeException: Unable to initialise 
org.apache.cassandra.utils.NativeSSTableLoaderClient
        at 
org.apache.cassandra.utils.NativeSSTableLoaderClient.init(NativeSSTableLoaderClient.java:102)
        at 
org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:167)
        at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:91)
        at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:58)
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All 
host(s) tried for query failed (tried: 
cassandra-test-rack2-01/10.10.10.213:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack2-01/10.10.10.213:9042] Operation timed out), 
cassandra-test-rack3-01/10.10.10.215:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack3-01/10.10.10.215:9042] Operation timed out), 
cassandra-test-rack1-01/10.10.10.214:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack1-01/10.10.10.214:9042] Operation timed out))
        at 
com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:270)
        at 
com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:109)
        at 
com.datastax.driver.core.Cluster$Manager.negotiateProtocolVersionAndConnect(Cluster.java:1813)
        at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1726)
        at com.datastax.driver.core.Cluster.init(Cluster.java:214)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:387)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:366)
        at com.datastax.driver.core.Cluster.connect(Cluster.java:311)
        at 
org.apache.cassandra.utils.NativeSSTableLoaderClient.init(NativeSSTableLoaderClient.java:70)
        ... 3 more
Exception in thread "main" org.apache.cassandra.tools.BulkLoadException: 
java.lang.RuntimeException: Unable to initialise 
org.apache.cassandra.utils.NativeSSTableLoaderClient
        at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:104)
        at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:58)
Caused by: java.lang.RuntimeException: Unable to initialise 
org.apache.cassandra.utils.NativeSSTableLoaderClient
        at 
org.apache.cassandra.utils.NativeSSTableLoaderClient.init(NativeSSTableLoaderClient.java:102)
        at 
org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:167)
        at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:91)
        ... 1 more
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All 
host(s) tried for query failed (tried: 
cassandra-test-rack2-01/10.10.10.213:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack2-01/10.10.10.213:9042] Operation timed out), 
cassandra-test-rack3-01/10.10.10.215:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack3-01/10.10.10.215:9042] Operation timed out), 
cassandra-test-rack1-01/10.10.10.214:9042 
(com.datastax.driver.core.exceptions.OperationTimedOutException: 
[cassandra-test-rack1-01/10.10.10.214:9042] Operation timed out))
        at 
com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:270)
        at 
com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:109)
        at 
com.datastax.driver.core.Cluster$Manager.negotiateProtocolVersionAndConnect(Cluster.java:1813)
        at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1726)
        at com.datastax.driver.core.Cluster.init(Cluster.java:214)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:387)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:366)
        at com.datastax.driver.core.Cluster.connect(Cluster.java:311)
        at 
org.apache.cassandra.utils.NativeSSTableLoaderClient.init(NativeSSTableLoaderClient.java:70)
```



However, using the *sstableloader from Cassandra _5.0.6_* to load sstables on 
the Cassandra Cluster 4.1.4 {*}works as expected{*}.
 
Based on my initial investigation, the {*}cassandra-driver-core versions 3.11.0 
and 3.11.1 seem to be incompatible with my Cassandra 4.1.x configuration{*}.
Starting from cassandra-driver-core version 3.11.2, the issue is resolved.
 
To verify this, I created a Java project based on an example I found in the 
cassandra-java-driver version 3.11.1.
(Reference: ReadTopologyAndSchemaMetadata.java)
I simply added .ssl() to the cluster constructor in the example code.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to