Merge branch 'cassandra-2.1' into cassandra-2.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e865e396 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e865e396 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e865e396 Branch: refs/heads/cassandra-2.2 Commit: e865e396cdd6281f7eaac9cde8b5528547cb8e98 Parents: 60997c2 4389c9c Author: Tyler Hobbs <tylerlho...@gmail.com> Authored: Wed Apr 20 13:55:28 2016 -0500 Committer: Tyler Hobbs <tylerlho...@gmail.com> Committed: Wed Apr 20 13:55:28 2016 -0500 ---------------------------------------------------------------------- CHANGES.txt | 3 + pylib/cqlshlib/copyutil.py | 171 +++++++++++++++++++++------------------- 2 files changed, 92 insertions(+), 82 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e396/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index baaf227,4a91a58..cf07e80 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,58 -1,12 +1,61 @@@ -2.1.14 +2.2.7 + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553) ++Merged from 2.1: + * (cqlsh) Fix potential COPY deadlock when parent process is terminating child + processes (CASSANDRA-11505) - * Replace sstables on DataTracker before marking them as non-compacting during anti-compaction (CASSANDRA-11548) + + +2.2.6 + * Allow only DISTINCT queries with partition keys restrictions (CASSANDRA-11339) + * CqlConfigHelper no longer requires both a keystore and truststore to work (CASSANDRA-11532) + * Make deprecated repair methods backward-compatible with previous notification service (CASSANDRA-11430) + * IncomingStreamingConnection version check message wrong (CASSANDRA-11462) + * DatabaseDescriptor should log stacktrace in case of Eception during seed provider creation (CASSANDRA-11312) + * Use canonical path for directory in SSTable descriptor (CASSANDRA-10587) + * Add cassandra-stress keystore option (CASSANDRA-9325) + * Fix out-of-space error treatment in memtable flushing (CASSANDRA-11448). + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) + * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) + * Notify when sstables change after cancelling compaction (CASSANDRA-11373) + * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) + * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809) + * Fix UTF8Validator.validate() for modified UTF-8 (CASSANDRA-10748) + * Clarify that now() function is calculated on the coordinator node in CQL documentation (CASSANDRA-10900) + * Fix bloom filter sizing with LCS (CASSANDRA-11344) + * (cqlsh) Fix error when result is 0 rows with EXPAND ON (CASSANDRA-11092) + * Fix intra-node serialization issue for multicolumn-restrictions (CASSANDRA-11196) + * Non-obsoleting compaction operations over compressed files can impose rate limit on normal reads (CASSANDRA-11301) + * Add missing newline at end of bin/cqlsh (CASSANDRA-11325) + * Fix AE in nodetool cfstats (backport CASSANDRA-10859) (CASSANDRA-11297) + * Unresolved hostname leads to replace being ignored (CASSANDRA-11210) + * Fix filtering on non-primary key columns for thrift static column families + (CASSANDRA-6377) + * Only log yaml config once, at startup (CASSANDRA-11217) + * Preserve order for preferred SSL cipher suites (CASSANDRA-11164) + * Reference leak with parallel repairs on the same table (CASSANDRA-11215) + * Range.compareTo() violates the contract of Comparable (CASSANDRA-11216) + * Avoid NPE when serializing ErrorMessage with null message (CASSANDRA-11167) + * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840) + * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037) + * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793) + * Protect from keyspace dropped during repair (CASSANDRA-11065) + * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146) + * Better error message for cleanup (CASSANDRA-10991) + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123) + * Use cloned TokenMetadata in size estimates to avoid race against membership check + (CASSANDRA-10736) + * Always persist upsampled index summaries (CASSANDRA-10512) + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733) + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048) + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281) + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030) + * Fix paging on DISTINCT queries repeats result when first row in partition changes + (CASSANDRA-10010) +Merged from 2.1: * Checking if an unlogged batch is local is inefficient (CASSANDRA-11529) * Fix paging for COMPACT tables without clustering columns (CASSANDRA-11467) - * Fix out-of-space error treatment in memtable flushing (CASSANDRA-11448) - * Backport CASSANDRA-10859 (CASSANDRA-11415) - * COPY FROM fails when importing blob (CASSANDRA-11375) + * Add a -j parameter to scrub/cleanup/upgradesstables to state how + many threads to use (CASSANDRA-11179) * Backport CASSANDRA-10679 (CASSANDRA-9598) * Don't do defragmentation if reading from repaired sstables (CASSANDRA-10342) * Fix streaming_socket_timeout_in_ms not enforced (CASSANDRA-11286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e396/pylib/cqlshlib/copyutil.py ---------------------------------------------------------------------- diff --cc pylib/cqlshlib/copyutil.py index 23eb69b,12239d8..8140c93 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -2308,9 -2295,9 +2315,9 @@@ class ImportProcess(ChildProcess) errback=self.err_callback, errback_args=(batch, chunk, replicas)) def report_error(self, err, chunk, rows=None, attempts=1, final=True): - if self.debug: - traceback.print_exc(err) + if self.debug and sys.exc_info()[1] == err: + traceback.print_exc() - self.outmsg.send(ImportTaskError(err.__class__.__name__, str(err), rows, attempts, final)) + self.outmsg.send(ImportTaskError(err.__class__.__name__, err.message, rows, attempts, final)) if final: self.update_chunk(rows, chunk)