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/eecfb07d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eecfb07d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eecfb07d Branch: refs/heads/cassandra-2.2 Commit: eecfb07d46f4bd2e89e6fff748519413e286a1fe Parents: 6dcc89f 4e3555c Author: blerer <[email protected]> Authored: Thu Sep 17 22:12:50 2015 +0200 Committer: blerer <[email protected]> Committed: Thu Sep 17 22:13:49 2015 +0200 ---------------------------------------------------------------------- NEWS.txt | 9 +++- bin/cqlsh.py | 2 +- doc/cql3/CQL.textile | 10 +++- pylib/cqlshlib/cql3handling.py | 2 +- src/java/org/apache/cassandra/cql3/Cql.g | 2 +- .../apache/cassandra/cql3/QueryProcessor.java | 2 +- .../validation/operations/TruncateTest.java | 48 ++++++++++++++++++++ 7 files changed, 68 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/eecfb07d/NEWS.txt ---------------------------------------------------------------------- diff --cc NEWS.txt index 49744cf,6ec24ef..78d90f6 --- a/NEWS.txt +++ b/NEWS.txt @@@ -13,137 -13,14 +13,144 @@@ restore snapshots created with the prev 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. - +2.2.2 +===== + +Upgrading +--------- + - Version 1 and 2 of the native protocol are now deprecated and support + will be removed in Cassandra 3.0. You are encouraged to upgrade to a + client driver using version 3 of the native protocol. + +Changed Defaults +---------------- + - commitlog_total_space_in_mb will use the smaller of 8192, and 1/4 + of the total space of the commitlog volume. (Before: always used + 8192) + - Incremental repair is on by default since 2.2.0, run full repairs by + providing the '-full' parameter to nodetool repair. + - Parallel repairs are the default since 2.2.0, run sequential repairs + by providing the '-seq' parameter to nodetool repair. + +New features +------------ + - Custom QueryHandlers can retrieve the column specifications for the bound + variables from QueryOptions by using the hasColumnSpecifications() + and getColumnSpecifications() methods. + + +2.2.1 +===== + +Upgrading +--------- + - Nothing specific to this release, but please see 2.2 if you are upgrading + from a previous version. + +New features +------------ + - COUNT(*) and COUNT(1) can be selected with other columns or functions + + +2.2 +=== + +New features +------------ + - Very large batches will now be rejected (defaults to 50kb). This + can be customized by modifying batch_size_fail_threshold_in_kb. + - Selecting columns,scalar functions, UDT fields, writetime or ttl together + with aggregated is now possible. The value returned for the columns, + scalar functions, UDT fields, writetime and ttl will be the ones for + the first row matching the query. + - Windows is now a supported platform. Powershell execution for startup scripts + is highly recommended and can be enabled via an administrator command-prompt + with: 'powershell set-executionpolicy unrestricted' + - It is now possible to do major compactions when using leveled compaction. + Doing that will take all sstables and compact them out in levels. The + levels will be non overlapping so doing this will still not be something + you want to do very often since it might cause more compactions for a while. + It is also possible to split output when doing a major compaction with + STCS - files will be split in sizes 50%, 25%, 12.5% etc of the total size. + This might be a bit better than old major compactions which created one big + file on disk. + - A new tool has been added bin/sstableverify that checks for errors/bitrot + in all sstables. Unlike scrub, this is a non-invasive tool. + - Authentication & Authorization APIs have been updated to introduce + roles. Roles and Permissions granted to them are inherited, supporting + role based access control. The role concept supercedes that of users + and CQL constructs such as CREATE USER are deprecated but retained for + compatibility. The requirement to explicitly create Roles in Cassandra + even when auth is handled by an external system has been removed, so + authentication & authorization can be delegated to such systems in their + entirety. + - In addition to the above, Roles are also first class resources and can be the + subject of permissions. Users (roles) can now be granted permissions on other + roles, including CREATE, ALTER, DROP & AUTHORIZE, which removesthe need for + superuser privileges in order to perform user/role management operations. + - Creators of database resources (Keyspaces, Tables, Roles) are now automatically + granted all permissions on them (if the IAuthorizer implementation supports + this). + - SSTable file name is changed. Now you don't have Keyspace/CF name + in file name. Also, secondary index has its own directory under parent's + directory. + - Support for user-defined functions and user-defined aggregates have + been added to CQL. + ************************************************************************ + IMPORTANT NOTE: user-defined functions can be used to execute + arbitrary and possibly evil code in Cassandra 2.2, and are + therefore disabled by default. To enable UDFs edit + cassandra.yaml and set enable_user_defined_functions to true. + + CASSANDRA-9402 will add a security manager for UDFs in Cassandra + 3.0. This will inherently be backwards-incompatible with any 2.2 + UDF that perform insecure operations such as opening a socket or + writing to the filesystem. + ************************************************************************ + - Row-cache is now fully off-heap. + - jemalloc is now automatically preloaded and used on Linux and OS-X if + installed. + - Please ensure on Unix platforms that there is no libjnadispath.so + installed which is accessible by Cassandra. Old versions of + libjna packages (< 4.0.0) will cause problems - e.g. Debian Wheezy + contains libjna versin 3.2.x. + - The node now keeps up when streaming is failed during bootstrapping. You can + use new `nodetool bootstrap resume` command to continue streaming after resolving + an issue. + - Protocol version 4 specifies that bind variables do not require having a + value when executing a statement. Bind variables without a value are + called 'unset'. The 'unset' bind variable is serialized as the int + value '-2' without following bytes. + In an EXECUTE or BATCH request an unset bind value does not modify the value and + does not create a tombstone, an unset bind ttl is treated as 'unlimited', + an unset bind timestamp is treated as 'now', an unset bind counter operation + does not change the counter value. + Unset tuple field, UDT field and map key are not allowed. + In a QUERY request an unset limit is treated as 'unlimited'. + Unset WHERE clauses with unset partition column, clustering column + or index column are not allowed. + - New `ByteType` (cql tinyint). 1-byte signed integer + - New `ShortType` (cql smallint). 2-byte signed integer + - New `SimpleDateType` (cql date). 4-byte unsigned integer + - New `TimeType` (cql time). 8-byte long + - The toDate(timeuuid), toTimestamp(timeuuid) and toUnixTimestamp(timeuuid) functions have been added to allow + to convert from timeuuid into date type, timestamp type and bigint raw value. + The functions unixTimestampOf(timeuuid) and dateOf(timeuuid) have been deprecated. + - The toDate(timestamp) and toUnixTimestamp(timestamp) functions have been added to allow + to convert from timestamp into date type and bigint raw value. + - The toTimestamp(date) and toUnixTimestamp(date) functions have been added to allow + to convert from date into timestamp type and bigint raw value. + - SizeTieredCompactionStrategy parameter cold_reads_to_omit has been removed. + + + 2.1.10 + ===== + + New features + ------------ + - The syntax TRUNCATE TABLE X is now accepted as an alias for TRUNCATE X + + 2.1.9 =====
