I\'m doing a student project involving building and querying a Cassandra data cluster.
When my cluster load was light ( around 30GB ) my queries ran without a probl
To change the client timeout limit in Apache Cassandra, there are two techniques:
Technique 1: This is a good technique:
1. Navigate to the following hidden directory under the home folder: (Create the hidden directory if not available)
$ pwd
~/.cassandra
2. Modify the file cqlshrc in it to an appropriate time in seconds: (Create the file if not available)
Original Setting:
$ more cqlshrc
[connection]
client_timeout = 10
# Can also be set to None to disable:
# client_timeout = None
$
New Setting:
$ vi cqlshrc
$ more cqlshrc
[connection]
client_timeout = 3600
# Can also be set to None to disable:
# client_timeout = None
$
Note: Here time is in seconds. Since, we wanted to increase the timeout to one hour. Hence, we have set it to 3600 seconds.
Technique 2: This is not a good technique since, you are changing the setting in the client program (cqlsh) itself. Note: If you have already changed using technique 1 - then it will override the time specified using technique 2. Since, profile settings have highest priority.
1. Navigate to the path where cqlsh program is located. This you can find using the which command:
$ which cqlsh
/opt/apache-cassandra-2.1.9/bin/cqlsh
$ pwd
/opt/apache-cassandra-2.1.9/bin
$ ls -lrt cqlsh
-rwxr-xr-x 1 abc abc 93002 Nov 5 12:54 cqlsh
2. Open the program cqlsh and modify the time specified using the client_timeout variable. Note that time is specified in seconds.
$ vi cqlsh
In __init__ function:
def __init__(self, hostname, port, color=False,
username=None, password=None, encoding=None, stdin=None, tty=True,
completekey=DEFAULT_COMPLETEKEY, use_conn=None,
cqlver=DEFAULT_CQLVER, keyspace=None,
tracing_enabled=False, expand_enabled=False,
display_time_format=DEFAULT_TIME_FORMAT,
display_float_precision=DEFAULT_FLOAT_PRECISION,
max_trace_wait=DEFAULT_MAX_TRACE_WAIT,
ssl=False,
single_statement=None,
client_timeout=10,
connect_timeout=DEFAULT_CONNECT_TIMEOUT_SECONDS):
In options.client_timeout setting:
options.client_timeout = option_with_default(configs.get, 'connection', 'client_timeout', '10')
You can modify at both these places. The second line picks up client_timeout information from the cqlshrc file.