Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
NEWS.txt
build.xml
debian/changelog
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/91946a4c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/91946a4c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/91946a4c
Branch: refs/heads/trunk
Commit: 91946a4c54e37bb1f82758b9d81b22939f5dffb4
Parents: efb08ad 9ecab2b
Author: T Jake Luciani <[email protected]>
Authored: Mon Jun 8 14:00:07 2015 -0400
Committer: T Jake Luciani <[email protected]>
Committed: Mon Jun 8 14:00:07 2015 -0400
----------------------------------------------------------------------
NEWS.txt | 9 +++++++++
1 file changed, 9 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/91946a4c/NEWS.txt
----------------------------------------------------------------------
diff --cc NEWS.txt
index 4d950f8,272c837..9beb911
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,122 -13,15 +13,131 @@@ restore snapshots created with the prev
'sstableloader' tool. You can upgrade the file format of your snapshots
using the provided 'sstableupgrade' tool.
+2.2
+===
+
+New features
+------------
+ - 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
+
+
+Upgrading
+---------
+ - Thrift rpc is no longer being started by default.
+ Set `start_rpc` parameter to `true` to enable it.
+ - Pig's CqlStorage has been removed, use CqlNativeStorage instead
+ - Pig's CassandraStorage has been deprecated. CassandraStorage
+ should only be used against tables created via thrift.
+ Use CqlNativeStorage for all other tables.
+ - IAuthenticator been updated to remove responsibility for user/role
+ maintenance and is now solely responsible for validating credentials,
+ This is primarily done via SASL, though an optional method exists for
+ systems which need support for the Thrift login() method.
+ - IRoleManager interface has been added which takes over the maintenance
+ functions from IAuthenticator. IAuthorizer is mainly unchanged. Auth data
+ in systems using the stock internal implementations PasswordAuthenticator
+ & CassandraAuthorizer will be automatically converted during upgrade,
+ with minimal operator intervention required. Custom implementations will
+ require modification, though these can be used in conjunction with the
+ stock CassandraRoleManager so providing an IRoleManager implementation
+ should not usually be necessary.
+ - Fat client support has been removed since we have push notifications to
clients
+ - cassandra-cli has been removed. Please use cqlsh instead.
+ - YamlFileNetworkTopologySnitch has been removed; switch to
+ GossipingPropertyFileSnitch instead.
+ - CQL2 has been removed entirely in this release (previously deprecated
+ in 2.0.0). Please switch to CQL3 if you haven't already done so.
+ - Very large batches will now be rejected (defaults to 50kb). This
+ can be customized by modifying batch_size_fail_threshold_in_kb.
+ - The results of CQL3 queries containing an IN restriction will be ordered
+ in the normal order and not anymore in the order in which the column
values were
+ specified in the IN restriction.
+ - Some secondary index queries with restrictions on non-indexed clustering
+ columns were not requiring ALLOW FILTERING as they should. This has been
+ fixed, and those queries now require ALLOW FILTERING (see CASSANDRA-8418
+ for details).
+ - The SSTableSimpleWriter and SSTableSimpleUnsortedWriter classes have been
+ deprecated and will be removed in the next major Cassandra release. You
+ should use the CQLSSTableWriter class instead.
+
+ 2.1.6
+ =====
+
+ Upgrading
+ ---------
+ - Nothing specific to this release, but please see 2.1 if you are
upgrading
+ from a previous version.
+
+
2.1.5
=====