You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2016/05/05 16:38:57 UTC
[1/4] cassandra git commit: cqlsh: Handle non-ascii chars in error
messages
Repository: cassandra
Updated Branches:
refs/heads/trunk 1e92ce43a -> b57b047e5
cqlsh: Handle non-ascii chars in error messages
Patch by Tyler Hobbs; reviewed by Paulo Motta for CASSANDRA-11626
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5de9de1f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5de9de1f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5de9de1f
Branch: refs/heads/trunk
Commit: 5de9de1f5832f2a0e92783e2f4412874423e6e15
Parents: 93c5bc6
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Thu May 5 11:33:35 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Thu May 5 11:33:35 2016 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
bin/cqlsh.py | 20 ++++++++++++++------
pylib/cqlshlib/copyutil.py | 16 ++++++++++------
3 files changed, 25 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5de9de1f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0d9d3e9..a46aa56 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.7
+ * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
* Exit JVM if JMX server fails to startup (CASSANDRA-11540)
* Produce a heap dump when exiting on OOM (CASSANDRA-9861)
* Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5de9de1f/bin/cqlsh.py
----------------------------------------------------------------------
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index d135317..85605ae 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -36,7 +36,6 @@ import codecs
import ConfigParser
import csv
import getpass
-import locale
import optparse
import os
import platform
@@ -883,7 +882,7 @@ class Shell(cmd.Cmd):
if ksname is None:
ksname = self.current_keyspace
layout = self.get_table_meta(ksname, cfname)
- return [str(col) for col in layout.columns]
+ return [unicode(col) for col in layout.columns]
def get_usertype_names(self, ksname=None):
if ksname is None:
@@ -1110,7 +1109,7 @@ class Shell(cmd.Cmd):
except EOFError:
self.handle_eof()
except CQL_ERRORS, cqlerr:
- self.printerr(str(cqlerr))
+ self.printerr(unicode(cqlerr))
except KeyboardInterrupt:
self.reset_statement()
print
@@ -1257,10 +1256,10 @@ class Shell(cmd.Cmd):
break
except cassandra.OperationTimedOut, err:
self.refresh_schema_metadata_best_effort()
- self.printerr(str(err.__class__.__name__) + ": " + str(err))
+ self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err))
return False, None
except CQL_ERRORS, err:
- self.printerr(str(err.__class__.__name__) + ": " + str(err))
+ self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err))
return False, None
except Exception, err:
import traceback
@@ -2237,7 +2236,16 @@ class Shell(cmd.Cmd):
def writeresult(self, text, color=None, newline=True, out=None):
if out is None:
out = self.query_out
- out.write(self.applycolor(str(text), color) + ('\n' if newline else ''))
+
+ # convert Exceptions, etc to text
+ if not isinstance(text, (unicode, str)):
+ text = unicode(text)
+
+ if isinstance(text, unicode):
+ text = text.encode(self.encoding)
+
+ to_write = self.applycolor(text, color) + ('\n' if newline else '')
+ out.write(to_write)
def flush_output(self):
self.query_out.flush()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5de9de1f/pylib/cqlshlib/copyutil.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index a7a6671..ea49692 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -76,8 +76,9 @@ def printdebugmsg(msg):
printmsg(msg)
-def printmsg(msg, eol='\n'):
- sys.stdout.write(msg + eol)
+def printmsg(msg, eol='\n', encoding='utf8'):
+ sys.stdout.write(msg.encode(encoding))
+ sys.stdout.write(eol)
sys.stdout.flush()
@@ -219,6 +220,7 @@ class CopyTask(object):
self.options = self.parse_options(opts, direction)
self.num_processes = self.options.copy['numprocesses']
+ self.encoding = self.options.copy['encoding']
self.printmsg('Using %d child processes' % (self.num_processes,))
if direction == 'from':
@@ -595,7 +597,8 @@ class ExportTask(CopyTask):
if not self.writer.open():
return 0
- self.printmsg("\nStarting copy of %s.%s with columns %s." % (self.ks, self.table, self.columns))
+ columns = u"[" + u", ".join(self.columns) + u"]"
+ self.printmsg(u"\nStarting copy of %s.%s with columns %s." % (self.ks, self.table, columns), encoding=self.encoding)
params = self.make_params()
for i in xrange(self.num_processes):
@@ -1087,7 +1090,8 @@ class ImportTask(CopyTask):
if not self.validate_columns():
return 0
- self.printmsg("\nStarting copy of %s.%s with columns %s." % (self.ks, self.table, self.valid_columns))
+ columns = u"[" + u", ".join(self.valid_columns) + u"]"
+ self.printmsg(u"\nStarting copy of %s.%s with columns %s." % (self.ks, self.table, columns), encoding=self.encoding)
try:
params = self.make_params()
@@ -1109,7 +1113,7 @@ class ImportTask(CopyTask):
profile_off(pr, file_name='parent_profile_%d.txt' % (os.getpid(),))
except Exception, exc:
- shell.printerr(str(exc))
+ shell.printerr(unicode(exc))
if shell.debug:
traceback.print_exc()
return 0
@@ -1452,7 +1456,7 @@ class ExportProcess(ChildProcess):
if print_traceback and sys.exc_info()[1] == err:
traceback.print_exc()
else:
- msg = str(err)
+ msg = unicode(err)
return msg
def report_error(self, err, token_range):
[2/4] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by ty...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Conflicts:
CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d689da36
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d689da36
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d689da36
Branch: refs/heads/trunk
Commit: d689da3677f20160c077e96028b83e69fe0206f9
Parents: 5980b33 5de9de1
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Thu May 5 11:34:56 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Thu May 5 11:34:56 2016 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
bin/cqlsh.py | 20 ++++++++++++++------
pylib/cqlshlib/copyutil.py | 16 ++++++++++------
3 files changed, 25 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d689da36/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 860a4c2,a46aa56..0679e11
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,26 -1,8 +1,27 @@@
-2.2.7
+3.0.6
+ * Disallow creating view with a static column (CASSANDRA-11602)
+ * Reduce the amount of object allocations caused by the getFunctions methods (CASSANDRA-11593)
+ * Potential error replaying commitlog with smallint/tinyint/date/time types (CASSANDRA-11618)
+ * Fix queries with filtering on counter columns (CASSANDRA-11629)
+ * Improve tombstone printing in sstabledump (CASSANDRA-11655)
+ * Fix paging for range queries where all clustering columns are specified (CASSANDRA-11669)
+ * Don't require HEAP_NEW_SIZE to be set when using G1 (CASSANDRA-11600)
+ * Fix sstabledump not showing cells after tombstone marker (CASSANDRA-11654)
+ * Ignore all LocalStrategy keyspaces for streaming and other related
+ operations (CASSANDRA-11627)
+ * Ensure columnfilter covers indexed columns for thrift 2i queries (CASSANDRA-11523)
+ * Only open one sstable scanner per sstable (CASSANDRA-11412)
+ * Option to specify ProtocolVersion in cassandra-stress (CASSANDRA-11410)
+ * ArithmeticException in avgFunctionForDecimal (CASSANDRA-11485)
+ * LogAwareFileLister should only use OLD sstable files in current folder to determine disk consistency (CASSANDRA-11470)
+ * Notify indexers of expired rows during compaction (CASSANDRA-11329)
+ * Properly respond with ProtocolError when a v1/v2 native protocol
+ header is received (CASSANDRA-11464)
+ * Validate that num_tokens and initial_token are consistent with one another (CASSANDRA-10120)
+Merged from 2.2:
+ * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
* Exit JVM if JMX server fails to startup (CASSANDRA-11540)
* Produce a heap dump when exiting on OOM (CASSANDRA-9861)
- * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427)
* Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510)
* JSON datetime formatting needs timezone (CASSANDRA-11137)
* Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d689da36/bin/cqlsh.py
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d689da36/pylib/cqlshlib/copyutil.py
----------------------------------------------------------------------
[3/4] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.7
Posted by ty...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.7
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/58d3b9a9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/58d3b9a9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/58d3b9a9
Branch: refs/heads/trunk
Commit: 58d3b9a90461806d44dd85bf4aa928e575d5fb6c
Parents: 68580c7 d689da3
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Thu May 5 11:36:29 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Thu May 5 11:36:29 2016 -0500
----------------------------------------------------------------------
CHANGES.txt | 2 ++
bin/cqlsh.py | 19 ++++++++++++++-----
pylib/cqlshlib/copyutil.py | 16 ++++++++++------
3 files changed, 26 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/58d3b9a9/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 705a32f,0679e11..882be7c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,72 -1,4 +1,74 @@@
-3.0.6
+3.7
++Merged from 2.2:
++ * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
+
+3.6
+ * Enhanced Compaction Logging (CASSANDRA-10805)
+ * Make prepared statement cache size configurable (CASSANDRA-11555)
+ * Integrated JMX authentication and authorization (CASSANDRA-10091)
+ * Add units to stress ouput (CASSANDRA-11352)
+ * Fix PER PARTITION LIMIT for single and multi partitions queries (CASSANDRA-11603)
+ * Add uncompressed chunk cache for RandomAccessReader (CASSANDRA-5863)
+ * Clarify ClusteringPrefix hierarchy (CASSANDRA-11213)
+ * Always perform collision check before joining ring (CASSANDRA-10134)
+ * SSTableWriter output discrepancy (CASSANDRA-11646)
+ * Fix potential timeout in NativeTransportService.testConcurrentDestroys (CASSANDRA-10756)
+ * Support large partitions on the 3.0 sstable format (CASSANDRA-11206)
+ * Add support to rebuild from specific range (CASSANDRA-10406)
+ * Optimize the overlapping lookup by calculating all the
+ bounds in advance (CASSANDRA-11571)
+ * Support json/yaml output in noetool tablestats (CASSANDRA-5977)
+ * (stress) Add datacenter option to -node options (CASSANDRA-11591)
+ * Fix handling of empty slices (CASSANDRA-11513)
+ * Make number of cores used by cqlsh COPY visible to testing code (CASSANDRA-11437)
+ * Allow filtering on clustering columns for queries without secondary indexes (CASSANDRA-11310)
+ * Refactor Restriction hierarchy (CASSANDRA-11354)
+ * Eliminate allocations in R/W path (CASSANDRA-11421)
+ * Update Netty to 4.0.36 (CASSANDRA-11567)
+ * Fix PER PARTITION LIMIT for queries requiring post-query ordering (CASSANDRA-11556)
+ * Allow instantiation of UDTs and tuples in UDFs (CASSANDRA-10818)
+ * Support UDT in CQLSSTableWriter (CASSANDRA-10624)
+ * Support for non-frozen user-defined types, updating
+ individual fields of user-defined types (CASSANDRA-7423)
+ * Make LZ4 compression level configurable (CASSANDRA-11051)
+ * Allow per-partition LIMIT clause in CQL (CASSANDRA-7017)
+ * Make custom filtering more extensible with UserExpression (CASSANDRA-11295)
+ * Improve field-checking and error reporting in cassandra.yaml (CASSANDRA-10649)
+ * Print CAS stats in nodetool proxyhistograms (CASSANDRA-11507)
+ * More user friendly error when providing an invalid token to nodetool (CASSANDRA-9348)
+ * Add static column support to SASI index (CASSANDRA-11183)
+ * Support EQ/PREFIX queries in SASI CONTAINS mode without tokenization (CASSANDRA-11434)
+ * Support LIKE operator in prepared statements (CASSANDRA-11456)
+ * Add a command to see if a Materialized View has finished building (CASSANDRA-9967)
+ * Log endpoint and port associated with streaming operation (CASSANDRA-8777)
+ * Print sensible units for all log messages (CASSANDRA-9692)
+ * Upgrade Netty to version 4.0.34 (CASSANDRA-11096)
+ * Break the CQL grammar into separate Parser and Lexer (CASSANDRA-11372)
+ * Compress only inter-dc traffic by default (CASSANDRA-8888)
+ * Add metrics to track write amplification (CASSANDRA-11420)
+ * cassandra-stress: cannot handle "value-less" tables (CASSANDRA-7739)
+ * Add/drop multiple columns in one ALTER TABLE statement (CASSANDRA-10411)
+ * Add require_endpoint_verification opt for internode encryption (CASSANDRA-9220)
+ * Add auto import java.util for UDF code block (CASSANDRA-11392)
+ * Add --hex-format option to nodetool getsstables (CASSANDRA-11337)
+ * sstablemetadata should print sstable min/max token (CASSANDRA-7159)
+ * Do not wrap CassandraException in TriggerExecutor (CASSANDRA-9421)
+ * COPY TO should have higher double precision (CASSANDRA-11255)
+ * Stress should exit with non-zero status after failure (CASSANDRA-10340)
+ * Add client to cqlsh SHOW_SESSION (CASSANDRA-8958)
+ * Fix nodetool tablestats keyspace level metrics (CASSANDRA-11226)
+ * Store repair options in parent_repair_history (CASSANDRA-11244)
+ * Print current leveling in sstableofflinerelevel (CASSANDRA-9588)
+ * Change repair message for keyspaces with RF 1 (CASSANDRA-11203)
+ * Remove hard-coded SSL cipher suites and protocols (CASSANDRA-10508)
+ * Improve concurrency in CompactionStrategyManager (CASSANDRA-10099)
+ * (cqlsh) interpret CQL type for formatting blobs (CASSANDRA-11274)
+ * Refuse to start and print txn log information in case of disk
+ corruption (CASSANDRA-10112)
+ * Resolve some eclipse-warnings (CASSANDRA-11086)
+ * (cqlsh) Show static columns in a different color (CASSANDRA-11059)
+ * Allow to remove TTLs on table with default_time_to_live (CASSANDRA-11207)
+Merged from 3.0:
* Disallow creating view with a static column (CASSANDRA-11602)
* Reduce the amount of object allocations caused by the getFunctions methods (CASSANDRA-11593)
* Potential error replaying commitlog with smallint/tinyint/date/time types (CASSANDRA-11618)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/58d3b9a9/bin/cqlsh.py
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/58d3b9a9/pylib/cqlshlib/copyutil.py
----------------------------------------------------------------------
[4/4] cassandra git commit: Merge branch 'cassandra-3.7' into trunk
Posted by ty...@apache.org.
Merge branch 'cassandra-3.7' into trunk
Conflicts:
CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b57b047e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b57b047e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b57b047e
Branch: refs/heads/trunk
Commit: b57b047e54fff01d904893ae68f0a607c7fda2e7
Parents: 1e92ce4 58d3b9a
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Thu May 5 11:37:17 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Thu May 5 11:37:17 2016 -0500
----------------------------------------------------------------------
CHANGES.txt | 6 ++++++
bin/cqlsh.py | 19 ++++++++++++++-----
pylib/cqlshlib/copyutil.py | 16 ++++++++++------
3 files changed, 30 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b57b047e/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index c2165db,882be7c..45d9fb1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,6 -1,7 +1,12 @@@
+3.8
+ * Faster streaming (CASSANDRA-9766)
+
++
+ 3.7
+ Merged from 2.2:
+ * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
+
++
3.6
* Enhanced Compaction Logging (CASSANDRA-10805)
* Make prepared statement cache size configurable (CASSANDRA-11555)