cassandra.OperationTimedOut

Hi there,

I am currently playing with YB and I try to import a larger JSON dataset into YB using Python/yb-cassandra driver. My target table consists of an int primary key and one JSONB column.

Some of the JSON files are large. An insert with a 10 MB JSON file fails with a timeout.

I am running a local 3 node cluster through Docker (standard configuration from the docs).

Any idea?

Traceback (most recent call last):
  File "test.py", line 39, in <module>
    """)
  File "cassandra/cluster.py", line 2141, in cassandra.cluster.Session.execute
  File "cassandra/cluster.py", line 4033, in cassandra.cluster.ResponseFuture.result
cassandra.OperationTimedOut: errors={'172.19.0.6': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=172.19.0.6

You most likely need to increase the request_timeout parameter in your Cluster constructor. Since YugaByteDB operates with STRONG consistency, at least 2 nodes (for RF=3) need to receive the write in order for it to be complete. The default value for request_timeout is 10 seconds, so I would try increasing it to 30-60 seconds.

Hope this helps.
–Alan

Not completely true for the yb-cassandra-driver: you need to create an ExecutionProfile instance and pass it to the execute() statement.