Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 9DA46200C1C for ; Wed, 15 Feb 2017 13:54:13 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 9C434160B46; Wed, 15 Feb 2017 12:54:13 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 98839160B5E for ; Wed, 15 Feb 2017 13:54:12 +0100 (CET) Received: (qmail 58370 invoked by uid 500); 15 Feb 2017 12:54:11 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 57709 invoked by uid 99); 15 Feb 2017 12:54:10 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Feb 2017 12:54:10 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6FAD0E0BBB; Wed, 15 Feb 2017 12:54:10 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: paulo@apache.org To: commits@cassandra.apache.org Date: Wed, 15 Feb 2017 12:54:17 -0000 Message-Id: <48b2a7887561495b871cbfaaca158b4f@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [8/9] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11 archived-at: Wed, 15 Feb 2017 12:54:13 -0000 Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ef9df6e0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ef9df6e0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ef9df6e0 Branch: refs/heads/trunk Commit: ef9df6e053f6d094f8f031a80612c1a63482d351 Parents: 515e4a2 f02f154 Author: Paulo Motta Authored: Wed Feb 15 10:48:22 2017 -0200 Committer: Paulo Motta Committed: Wed Feb 15 10:48:22 2017 -0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + NEWS.txt | 4 +- .../cassandra/db/SizeEstimatesRecorder.java | 54 ++++++++++---------- .../cassandra/service/ActiveRepairService.java | 5 +- 4 files changed, 34 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef9df6e0/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 8164a52,732e14b..ee5a5cb --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,14 -1,7 +1,15 @@@ -3.0.11 +3.11.0 + * Obfuscate password in stress-graphs (CASSANDRA-12233) + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034) + * nodetool stopdaemon errors out (CASSANDRA-13030) + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954) + * Fix primary index calculation for SASI (CASSANDRA-12910) + * More fixes to the TokenAllocator (CASSANDRA-12990) + * NoReplicationTokenAllocator should work with zero replication factor (CASSANDRA-12983) +Merged from 3.0: + * Use keyspace replication settings on system.size_estimates table (CASSANDRA-9639) * Add vm.max_map_count StartupCheck (CASSANDRA-13008) - * Hint related logging should include the IP address of the destination in addition to + * Hint related logging should include the IP address of the destination in addition to host ID (CASSANDRA-13205) * Reloading logback.xml does not work (CASSANDRA-13173) * Lightweight transactions temporarily fail after upgrade from 2.1 to 3.0 (CASSANDRA-13109) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef9df6e0/NEWS.txt ---------------------------------------------------------------------- diff --cc NEWS.txt index 35ef9a5,a5ee496..fc27526 --- a/NEWS.txt +++ b/NEWS.txt @@@ -19,139 -18,32 +19,139 @@@ using the provided 'sstableupgrade' too Upgrading --------- - - Nothing specific to this release, but please read all notes back to your - current version if you are upgrading. - - Support for alter types of already defined tables and of UDTs fields has been disabled. - If it is necessary to return a different type, please use casting instead. See - CASSANDRA-12443 for more details. - - Specifying the default_time_to_live option when creating or altering a - materialized view was erroneously accepted (and ignored). It is now - properly rejected. - - Only Java and JavaScript are now supported UDF languages. - The sandbox in 3.0 already prevented the use of script languages except Java - and JavaScript. - - Compaction now correctly drops sstables out of CompactionTask when there - isn't enough disk space to perform the full compaction. This should reduce - pending compaction tasks on systems with little remaining disk space. + - Primary ranges in the system.size_estimates table are now based on the keyspace + replication settings and adjacent ranges are no longer merged (CASSANDRA-9639). -3.0.10 -===== +3.10 +==== -Upgrading ---------- - - memtable_allocation_type: offheap_buffers is no longer allowed to be specified in the 3.0 series. - This was an oversight that can cause segfaults. Offheap was re-introduced in 3.4 see CASSANDRA-11039 - and CASSANDRA-9472 for details. +New features +------------ + - New `DurationType` (cql duration). See CASSANDRA-11873 + - Runtime modification of concurrent_compactors is now available via nodetool + - Support for the assignment operators +=/-= has been added for update queries. + - An Index implementation may now provide a task which runs prior to joining + the ring. See CASSANDRA-12039 + - Filtering on partition key columns is now also supported for queries without + secondary indexes. + - A slow query log has been added: slow queries will be logged at DEBUG level. + For more details refer to CASSANDRA-12403 and slow_query_log_timeout_in_ms + in cassandra.yaml. + - Support for GROUP BY queries has been added. + - A new compaction-stress tool has been added to test the throughput of compaction + for any cassandra-stress user schema. see compaction-stress help for how to use. + - Compaction can now take into account overlapping tables that don't take part + in the compaction to look for deleted or overwritten data in the compacted tables. + Then such data is found, it can be safely discarded, which in turn should enable + the removal of tombstones over that data. + + The behavior can be engaged in two ways: + - as a "nodetool garbagecollect -g CELL/ROW" operation, which applies + single-table compaction on all sstables to discard deleted data in one step. + - as a "provide_overlapping_tombstones:CELL/ROW/NONE" compaction strategy flag, + which uses overlapping tables as a source of deletions/overwrites during all + compactions. + The argument specifies the granularity at which deleted data is to be found: + - If ROW is specified, only whole deleted rows (or sets of rows) will be + discarded. + - If CELL is specified, any columns whose value is overwritten or deleted + will also be discarded. + - NONE (default) specifies the old behavior, overlapping tables are not used to + decide when to discard data. + Which option to use depends on your workload, both ROW and CELL increase the + disk load on compaction (especially with the size-tiered compaction strategy), + with CELL being more resource-intensive. Both should lead to better read + performance if deleting rows (resp. overwriting or deleting cells) is common. + - Prepared statements are now persisted in the table prepared_statements in + the system keyspace. Upon startup, this table is used to preload all + previously prepared statements - i.e. in many cases clients do not need to + re-prepare statements against restarted nodes. + - cqlsh can now connect to older Cassandra versions by downgrading the native + protocol version. Please note that this is currently not part of our release + testing and, as a consequence, it is not guaranteed to work in all cases. + See CASSANDRA-12150 for more details. + - Snapshots that are automatically taken before a table is dropped or truncated + will have a "dropped" or "truncated" prefix on their snapshot tag name. + - Metrics are exposed for successful and failed authentication attempts. + These can be located using the object names org.apache.cassandra.metrics:type=Client,name=AuthSuccess + and org.apache.cassandra.metrics:type=Client,name=AuthFailure respectively. + - Add support to "unset" JSON fields in prepared statements by specifying DEFAULT UNSET. + See CASSANDRA-11424 for details + - Allow TTL with null value on insert and update. It will be treated as equivalent to inserting a 0. + - Removed outboundBindAny configuration property. See CASSANDRA-12673 for details. + +Upgrading +--------- + - Support for alter types of already defined tables and of UDTs fields has been disabled. + If it is necessary to return a different type, please use casting instead. See + CASSANDRA-12443 for more details. + - Specifying the default_time_to_live option when creating or altering a + materialized view was erroneously accepted (and ignored). It is now + properly rejected. + - Only Java and JavaScript are now supported UDF languages. + The sandbox in 3.0 already prevented the use of script languages except Java + and JavaScript. + - Compaction now correctly drops sstables out of CompactionTask when there + isn't enough disk space to perform the full compaction. This should reduce + pending compaction tasks on systems with little remaining disk space. + - Request timeouts in cassandra.yaml (read_request_timeout_in_ms, etc) now apply to the + "full" request time on the coordinator. Previously, they only covered the time from + when the coordinator sent a message to a replica until the time that the replica + responded. Additionally, the previous behavior was to reset the timeout when performing + a read repair, making a second read to fix a short read, and when subranges were read + as part of a range scan or secondary index query. In 3.10 and higher, the timeout + is no longer reset for these "subqueries". The entire request must complete within + the specified timeout. As a consequence, your timeouts may need to be adjusted + to account for this. See CASSANDRA-12256 for more details. + - Logs written to stdout are now consistent with logs written to files. + Time is now local (it was UTC on the console and local in files). Date, thread, file + and line info where added to stdout. (see CASSANDRA-12004) + - The 'clientutil' jar, which has been somewhat broken on the 3.x branch, is not longer provided. + The features provided by that jar are provided by any good java driver and we advise relying on drivers rather on + that jar, but if you need that jar for backward compatiblity until you do so, you should use the version provided + on previous Cassandra branch, like the 3.0 branch (by design, the functionality provided by that jar are stable + accross versions so using the 3.0 jar for a client connecting to 3.x should work without issues). + - (Tools development) DatabaseDescriptor no longer implicitly startups components/services like + commit log replay. This may break existing 3rd party tools and clients. In order to startup + a standalone tool or client application, use the DatabaseDescriptor.toolInitialization() or + DatabaseDescriptor.clientInitialization() methods. Tool initialization sets up partitioner, + snitch, encryption context. Client initialization just applies the configuration but does not + setup anything. Instead of using Config.setClientMode() or Config.isClientMode(), which are + deprecated now, use one of the appropiate new methods in DatabaseDescriptor. + - Application layer keep-alives were added to the streaming protocol to prevent idle incoming connections from + timing out and failing the stream session (CASSANDRA-11839). This effectively deprecates the streaming_socket_timeout_in_ms + property in favor of streaming_keep_alive_period_in_secs. See cassandra.yaml for more details about this property. + - Duration litterals support the ISO 8601 format. By consequence, identifiers matching that format + (e.g P2Y or P1MT6H) will not be supported anymore (CASSANDRA-11873). + +3.8 +=== -3.0.9 -===== +New features +------------ + - Shared pool threads are now named according to the stage they are executing + tasks for. Thread names mentioned in traced queries change accordingly. + - A new option has been added to cassandra-stress "-rate fixed={number}/s" + that forces a scheduled rate of operations/sec over time. Using this, stress can + accurately account for coordinated ommission from the stress process. + - The cassandra-stress "-rate limit=" option has been renamed to "-rate throttle=" + - hdr histograms have been added to stress runs, it's output can be saved to disk using: + "-log hdrfile=" option. This histogram includes response/service/wait times when used with the + fixed or throttle rate options. The histogram file can be plotted on + http://hdrhistogram.github.io/HdrHistogram/plotFiles.html + - TimeWindowCompactionStrategy has been added. This has proven to be a better approach + to time series compaction and new tables should use this instead of DTCS. See + CASSANDRA-9666 for details. + - Change-Data-Capture is now available. See cassandra.yaml and for cdc-specific flags and + a brief explanation of on-disk locations for archived data in CommitLog form. This can + be enabled via ALTER TABLE ... WITH cdc=true. + Upon flush, CommitLogSegments containing data for CDC-enabled tables are moved to + the data/cdc_raw directory until removed by the user and writes to CDC-enabled tables + will be rejected with a WriteTimeoutException once cdc_total_space_in_mb is reached + between unflushed CommitLogSegments and cdc_raw. + NOTE: CDC is disabled by default in the .yaml file. Do not enable CDC on a mixed-version + cluster as it will lead to exceptions which can interrupt traffic. Once all nodes + have been upgraded to 3.8 it is safe to enable this feature and restart the cluster. Upgrading --------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef9df6e0/src/java/org/apache/cassandra/service/ActiveRepairService.java ----------------------------------------------------------------------