diff --git a/CHANGES.txt b/CHANGES.txt index b916fa66ae..3ec5346691 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,6 +15,8 @@ * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes (CASSANDRA-10837) * Fix sstableloader not working with upper case keyspace name (CASSANDRA-10806) Merged from 2.2: + * (cqlsh) Also apply --connect-timeout to control connection + timeout (CASSANDRA-10959) * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975) * Enable GC logging by default (CASSANDRA-10140) * Optimize pending range computation (CASSANDRA-9258) diff --git a/bin/cqlsh.py b/bin/cqlsh.py index 2f53cc1fbb..60ac1a2fe6 100644 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@ -142,7 +142,6 @@ from cassandra.cluster import Cluster from cassandra.metadata import (ColumnMetadata, KeyspaceMetadata, TableMetadata, protect_name, protect_names) from cassandra.policies import WhiteListRoundRobinPolicy -from cassandra.protocol import ResultMessage from cassandra.query import SimpleStatement, ordered_dict_factory, TraceUnavailable # cqlsh should run correctly when run out of a Cassandra source tree, @@ -689,6 +688,7 @@ class Shell(cmd.Cmd): auth_provider=self.auth_provider, ssl_options=sslhandling.ssl_settings(hostname, CONFIG_FILE) if ssl else None, load_balancing_policy=WhiteListRoundRobinPolicy([self.hostname]), + control_connection_timeout=connect_timeout, connect_timeout=connect_timeout) self.owns_connection = not use_conn self.set_expanded_cql_version(cqlver) @@ -1239,7 +1239,7 @@ class Shell(cmd.Cmd): def perform_simple_statement(self, statement): if not statement: return False, None - rows = None + while True: try: future = self.session.execute_async(statement, trace=self.tracing_enabled) @@ -2117,6 +2117,7 @@ class Shell(cmd.Cmd): auth_provider=auth_provider, ssl_options=self.conn.ssl_options, load_balancing_policy=WhiteListRoundRobinPolicy([self.hostname]), + control_connection_timeout=self.conn.connect_timeout, connect_timeout=self.conn.connect_timeout) if self.current_keyspace: