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/10154272
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/10154272
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/10154272

Branch: refs/heads/trunk
Commit: 10154272ede9b520ee12414aca9e150fa0f250b5
Parents: 6f9610d e11f750
Author: Jeff Jirsa <[email protected]>
Authored: Thu Mar 2 21:24:45 2017 -0800
Committer: Jeff Jirsa <[email protected]>
Committed: Thu Mar 2 21:26:34 2017 -0800

----------------------------------------------------------------------
 CHANGES.txt                                      | 1 +
 NEWS.txt                                         | 5 +++++
 src/java/org/apache/cassandra/config/Config.java | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/10154272/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index eeb2215,1c3869f..5de9ece
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,16 -1,6 +1,17 @@@
 -3.0.12
 +3.11.0
 + * Fix equality comparisons of columns using the duration type 
(CASSANDRA-13174)
 + * 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)
++ * Address message coalescing regression (CASSANDRA-12676)
 +Merged from 3.0:
   * Cqlsh copy-from should error out when csv contains invalid data for 
collections (CASSANDRA-13071)
 - * Update c.yaml doc for offheap memtables (CASSANDRA-13179)
 + * Fix "multiple versions of ant detected..." when running ant test 
(CASSANDRA-13232)
 + * Coalescing strategy sleeps too much (CASSANDRA-13090)
   * Faster StreamingHistogram (CASSANDRA-13038)
   * Legacy deserializer can create unexpected boundary range tombstones 
(CASSANDRA-13237)
   * Remove unnecessary assertion from AntiCompactionTest (CASSANDRA-13070)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10154272/NEWS.txt
----------------------------------------------------------------------
diff --cc NEWS.txt
index fc27526,faba342..4c2e217
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -19,139 -29,32 +19,144 @@@ using the provided 'sstableupgrade' too
  
  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).
++   - In 2.1, the default for otc_coalescing_strategy was 'DISABLED'.
++     In 2.2 and 3.0, it was changed to 'TIMEHORIZON', but that value was shown
++     to be a performance regression. The default for 3.11.0 and newer has
++     been reverted to 'DISABLED'. Users upgrading from Cassandra 2.2 or 3.0 
should
++     be aware that the default has changed.
  
 -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/10154272/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/Config.java
index 6ff9e51,9aaf7ae..f43f816
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@@ -295,7 -286,7 +295,7 @@@ public class Confi
       * Can be fixed, movingaverage, timehorizon, disabled. Setting is case 
and leading/trailing
       * whitespace insensitive. You can also specify a subclass of 
CoalescingStrategies.CoalescingStrategy by name.
       */
--    public String otc_coalescing_strategy = "TIMEHORIZON";
++    public String otc_coalescing_strategy = "DISABLED";
  
      /*
       * How many microseconds to wait for coalescing. For fixed strategy this 
is the amount of time after the first

Reply via email to