You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by mi...@apache.org on 2014/08/15 00:17:43 UTC
[05/13] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1
Conflicts:
CHANGES.txt
bin/cqlsh
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7a1b6b40
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7a1b6b40
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7a1b6b40
Branch: refs/heads/trunk
Commit: 7a1b6b40f704e06a7475898e8b857cd4587b08ec
Parents: 7a0f496 e756660
Author: Mikhail Stepura <mi...@apache.org>
Authored: Thu Aug 14 15:14:02 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Thu Aug 14 15:14:02 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 2 ++
bin/cqlsh | 5 +++++
2 files changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a1b6b40/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e48117a,04902ad..99fb988
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,18 -1,6 +1,20 @@@
-2.0.10
+2.1.1
+ * (cqlsh) Error when tracing query (CASSANDRA-7613)
+ * Avoid IOOBE when building SyntaxError message snippet (CASSANDRA-7569)
+ * SSTableExport uses correct validator to create string representation of partition
+ keys (CASSANDRA-7498)
+ * Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
+ * Add support for custom 2i validation (CASSANDRA-7575)
+ * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
+ * Add listen_interface and rpc_interface options (CASSANDRA-7417)
+ * Improve schema merge performance (CASSANDRA-7444)
+ * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
+ * Optimise NativeCell comparisons (CASSANDRA-6755)
+ * Configurable client timeout for cqlsh (CASSANDRA-7516)
+ * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
+Merged from 2.0:
+ * (cqlsh) cqlsh should automatically disable tracing when selecting
+ from system_traces (CASSANDRA-7641)
* (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
* Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
* (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a1b6b40/bin/cqlsh
----------------------------------------------------------------------
diff --cc bin/cqlsh
index 1a2df86,6aa397e..622fd07
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@@ -887,33 -889,53 +887,38 @@@ class Shell(cmd.Cmd)
self.current_keyspace = ksname.lower()
def do_select(self, parsed):
- ksname = parsed.get_binding('ksname')
- if ksname is not None:
- ksname = self.cql_unprotect_name(ksname)
- cfname = self.cql_unprotect_name(parsed.get_binding('cfname'))
+ tracing_was_enabled = self.tracing_enabled
++ ksname = parsed.get_binding('ksname')
+ stop_tracing = ksname == 'system_traces' or (ksname is None and self.current_keyspace == 'system_traces')
+ self.tracing_enabled = self.tracing_enabled and not stop_tracing
statement = parsed.extract_orig()
with_default_limit = parsed.get_binding('limit') is None
if with_default_limit:
statement = "%s LIMIT %d;" % (statement[:-1], DEFAULT_SELECT_LIMIT)
- self.perform_statement(statement,
- decoder=ErrorHandlingSchemaDecoder,
- with_default_limit=with_default_limit)
+ self.perform_statement(statement, with_default_limit=with_default_limit)
+ self.tracing_enabled = tracing_was_enabled
- def perform_statement(self, statement, decoder=None, with_default_limit=False):
+ def perform_statement(self, statement, with_default_limit=False):
+ stmt = SimpleStatement(statement, consistency_level=self.consistency_level)
+ result = self.perform_simple_statement(stmt,
+ with_default_limit=with_default_limit)
if self.tracing_enabled:
- session_id = UUID(bytes=self.trace_next_query())
- result = self.perform_statement_untraced(statement,
- decoder=decoder,
- with_default_limit=with_default_limit)
- time.sleep(0.5) # trace writes are async so we wait a little.
- print_trace_session(self, self.cursor, session_id)
- return result
- else:
- return self.perform_statement_untraced(statement,
- decoder=decoder,
- with_default_limit=with_default_limit)
+ if stmt.trace:
+ print_trace(self, stmt.trace)
+ else:
+ msg = "Statement trace did not complete within %d seconds" % (self.session.max_trace_wait)
+ self.writeresult(msg, color=RED)
- def perform_statement_untraced(self, statement, decoder=None, with_default_limit=False):
+ return result
+
+ def perform_simple_statement(self, statement, with_default_limit=False):
if not statement:
return False
- trynum = 1
+ rows = None
while True:
try:
- self.cursor.execute(statement, decoder=decoder)
+ rows = self.session.execute(statement, trace=self.tracing_enabled)
break
- except cql.IntegrityError, err:
- self.printerr("Attempt #%d: %s" % (trynum, str(err)))
- trynum += 1
- if trynum > self.num_retries:
- return False
- time.sleep(1*trynum)
- except cql.ProgrammingError, err:
- self.printerr(str(err))
- return False
except CQL_ERRORS, err:
self.printerr(str(err))
return False