Release notes

Release notes for DataStax Enterprise 4.0.x.

DataStax Enterprise 4.0.7 release notes 

September 8, 2015

Components
  • Cassandra 2.0.16.762
  • Apache Solr 4.6.0.1.108
Resolved issues
  • Compaction of files stored on the cfs-archive layer is not disabled, and files are compacted automatically. (DSP-4081)
  • Stress write can crash nodes. (DSP-4533)
  • Indexing is disabled after race condition causing double trigger registration. (DSP-4594)
  • Deleted row still can be selected out. (DSP-4598)
  • SSTableloader pulling directory configs from cassandra.yaml causes failure. (DSP-4630)
  • Race condition while loading secondary indexes upon upgrade. (DSP-4689)
  • nodetool cleanup throws assertion as per CASSANDRA-8716. (DSP-4723)
  • Fix Ec2MultiRegionSnitch not reconnecting on private IP during upgrade. (DSP-4748)
  • Restarting a node after an abrupt shutdown might cause index data loss. (DSP-4802)
  • Set concurrent_compactors to 2 by default in cassandra.yaml. (DSP-4849)
  • Set internode compression to "dc" by default in cassandra.yaml. (DSP-4861)
  • Disable SSLv3 in the TomcatSolrRunner. (DSP-5070)
  • Make updates replayed by the Solr commit log on startup immediately searchable (DSP-5095)
  • DocTransformers do not work for DSE Search. (DSP-5201)
  • Bootstrapping TDE nodes try to read from themselves. (DSP-5701)
  • Solr CQL index may handle RangeTombstones incorrectly. (DSP-5940)
  • Netty client starvation with more nodes than the configured max connections. (DSP-6061)
  • Range tombstones might cause unwanted deletes from the index. (DSP-6301)
Patches
  • Backport CASSANDRA-8013 to 2.0 (CASSANDRA-10144)
  • Make getFullyExpiredSSTables less expensive (CASSANDRA-9882)
  • Add tool to find why expired SSTable are not getting dropped (CASSANDRA-10015)
  • Remove erroneous pending HH tasks from tpstats/jmx (CASSANDRA-9129)
  • Don't cast expected bf size to an int (CASSANDRA-9959)
  • Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
  • checkForEndpointCollision fails for legitimate collisions (CASSANDRA-9765)
  • Complete CASSANDRA-8448 fix (CASSANDRA-9519)
  • Don't include auth credentials in debug log (CASSANDRA-9682)
  • Can't transition from write survey to normal mode (CASSANDRA-9740)
  • Avoid NPE in AuthSuccess#decode (CASSANDRA-9727)
  • Add listen_address to system.local (CASSANDRA-9603)
  • Bug fixes to resultset metadata construction (CASSANDRA-9636)
  • Fix setting 'durable_writes' in ALTER KEYSPACE (CASSANDRA-9560)
  • Avoid ballot clash in Paxos (CASSANDRA-9649)
  • Improve trace messages for RR (CASSANDRA-9479)
  • Fix suboptimal secondary index selection when restricted clustering column is also indexed (CASSANDRA-9631)
  • (cqlsh) Add min_threshold to DTCS option autocomplete (CASSANDRA-9385)
  • Fix error message when attempting to create an index on a column in a COMPACT STORAGE table with clustering columns (CASSANDRA-9527)
  • 'WITH WITH' in alter keyspace statements causes NPE (CASSANDRA-9565)
  • Display min timestamp in sstablemetadata viewer (CASSANDRA-6767)
  • Scrub (recover) SSTable even when -Index.db is missing, (CASSANDRA-9591)
  • Fix growing pending background compaction (CASSANDRA-9662)
  • Don't track hotness when opening from snapshot for validation (CASSANDRA-9382)
  • Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
  • ArrivalWindow should use primitives (CASSANDRA-9496)
  • Periodically submit background compaction tasks (CASSANDRA-9592)
  • Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)
  • Backport indexed value validation fix from CASSANDRA-9057 (CASSANDRA-9564)
  • Don't accumulate more range than necessary in RangeTombstone.Tracker (CASSANDRA-9486)
  • Add broadcast and rpc addresses to system.local (CASSANDRA-9436)
  • Always mark sstable suspect when corrupted (CASSANDRA-9478)
  • Add database users and permissions to CQL3 documentation (CASSANDRA-7558)
  • Allow JVM_OPTS to be passed to standalone tools (CASSANDRA-5969)
  • Fix bad condition in RangeTombstoneList (CASSANDRA-9485)
  • Fix potential StackOverflow when setting CrcCheckChance over JMX (CASSANDRA-9488)
  • Fix null static columns in pages after the first, paged reversed queries (CASSANDRA-8502)
  • Fix failing bound statement after adding a collection (CASSANDRA-9411)
  • Fix counting cache serialization in request metrics (CASSANDRA-9466)
  • (cqlsh) Add LOGIN command to switch users (CASSANDRA-7212)
  • Clone SliceQueryFilter in AbstractReadCommand implementations (CASSANDRA-8940)
  • Push correct protocol notification for DROP INDEX (CASSANDRA-9310)
  • token-generator - generated tokens too long (CASSANDRA-9300)
  • Add option not to validate atoms during scrub (CASSANDRA-9406)
  • Backport CASSANDRA-3569 (CASSANDRA-9455)
  • Fix counting of tombstones for TombstoneOverwhelmingException (CASSANDRA-9299)
  • Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
  • Include keyspace and table name in error log for collections over the size limit (CASSANDRA-9286)
  • Avoid potential overlap in LCS with single-partition SSTable (CASSANDRA-9322)
  • Log warning message when a table is queried before the schema has fully propagated (CASSANDRA-9136)
  • Overload SecondaryIndex#indexes to accept the column definition (CASSANDRA-9314)
  • (cqlsh) Add SERIAL and LOCAL_SERIAL consistency levels (CASSANDRA-8051)
  • Fix index selection during rebuild with certain table layouts (CASSANDRA-9281)
  • Fix partition-level-delete-only workload accounting (CASSANDRA-9194)
  • Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
  • Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
  • Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
  • Do more agressive ttl expiration checks to be able to drop more SSTable (CASSANDRA-8243)
  • IncomingTcpConnection thread is not named (CASSANDRA-9262)
  • Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
  • Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
  • Make sstable blacklisting work with compression (CASSANDRA-9138)
  • Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)
  • Don't initiate snitch reconnection for dead states (CASSANDRA-7292)
  • Fix ArrayIndexOutOfBoundsException in CQLSSTableWriter (CASSANDRA-8978)
  • Add shutdown gossip state to prevent timeouts during rolling restarts (CASSANDRA-8336)
  • Fix running with java.net.preferIPv6Addresses=true (CASSANDRA-9137)
  • Fix failed bootstrap/replace attempts being persisted in system.peers (CASSANDRA-9180)
  • Flush system.IndexInfo after marking index built (CASSANDRA-9128)
  • Fix updates to min/max_compaction_threshold through cassandra-cli (CASSANDRA-8102)
  • Backport CASSANDRA-6863 without digest updates (CASSANDRA-8989)
  • Don't include tmp files when doing offline relevel (CASSANDRA-9088)
  • Use the proper CAS WriteType when finishing a previous round during Paxos preparation (CASSANDRA-8672)
  • Avoid race in cancelling compactions (CASSANDRA-9070)
  • More aggressive check for expired SSTable in DTCS (CASSANDRA-8359)
  • Don't set clientMode to true when bulk-loading SSTable to avoid a NullPointerException (CASSANDRA-8238)
  • Fix ignored index_interval change in ALTER TABLE statements (CASSANDRA-7976)
  • Do more aggressive compaction in old time windows in DTCS (CASSANDRA-8360)
  • java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
  • "disk full" when running cleanup (CASSANDRA-9036)
  • Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
  • Lower logging level from ERROR to DEBUG when a scheduled schema pull cannot be completed due to a node being down (CASSANDRA-9032)
  • Fix MOVED_NODE client event (CASSANDRA-8516)
  • Allow overriding MAX_OUTSTANDING_REPLAY_COUNT (CASSANDRA-7533)
  • Fix malformed JMX ObjectName containing IPv6 addresses (CASSANDRA-9027)
  • Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
  • (cqlsh) Allow increasing CSV field size limit through cqlshrc config option (CASSANDRA-8934)
  • Stop logging range tombstones when exceeding the threshold (CASSANDRA-8559)
  • Fix NullPointerException when nodetool getendpoints is run against invalid keyspaces or tables (CASSANDRA-8950)
  • Allow specifying the tmp dir (CASSANDRA-7712)
  • Improve compaction estimated tasks estimation (CASSANDRA-8904)
  • Fix duplicate up/down messages sent to native clients (CASSANDRA-7816)
  • Expose commit log archive status via JMX (CASSANDRA-8734)
  • Provide better exceptions for invalid replication strategy parameters (CASSANDRA-8909)
  • Fix regression in mixed single and multi-column relation support for SELECT statements (CASSANDRA-8613)
  • Add ability to limit number of native connections (CASSANDRA-8086)
  • Fix CQLSSTableWriter throwing exception and spawning threads (CASSANDRA-8808)
  • Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
  • Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
  • Fix streaming hang when retrying (CASSANDRA-9132)
  • Bind JMX to localhost unless explicitly configured otherwise (CASSANDRA-9085)
  • Add offline tool to relevel SSTable (CASSANDRA-8301)
  • Preserve stream ID for more protocol errors (CASSANDRA-8848)
  • Fix combining token() function with multi-column relations on clustering columns (CASSANDRA-8797)
  • Make CFS.markReferenced() resistant to bad refcounting (CASSANDRA-8829)
  • Fix StreamTransferTask abort/complete bad refcounting (CASSANDRA-8815)
  • Fix AssertionError when querying a DESC clustering ordered table with ASC ordering and paging (CASSANDRA-8767)
  • AssertionError: "Memory was freed" when running cleanup (CASSANDRA-8716)
  • Make it possible to set max_sstable_age to fractional days (CASSANDRA-8406)
  • Fix memory leak in SSTableSimple*Writer and SSTableReader.validate() (CASSANDRA-8748)
  • Fix some multi-column relations with indexes on some clustering columns (CASSANDRA-8275)
  • Fix IllegalArgumentException in dynamic snitch (CASSANDRA-8448)
  • Add support for UPDATE ... IF EXISTS (CASSANDRA-8610)
  • Fix reversal of list prepends (CASSANDRA-8733)
  • Prevent non-zero default_time_to_live on tables with counters (CASSANDRA-8678)
  • Fix SSTableSimpleUnsortedWriter ConcurrentModificationException (CASSANDRA-8619)
  • Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
  • Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
  • Fix isClientMode check in Keyspace (CASSANDRA-8687)
  • nodetool info prints exception against older node (CASSANDRA-8796)
  • Ensure SSTableSimpleUnsortedWriter.close() terminates if disk writer has crashed (CASSANDRA-8807)
  • Use more efficient slice size for querying internal secondary index tables (CASSANDRA-8550)
  • Fix potentially returning deleted rows with range tombstone (CASSANDRA-8558)
  • Make sure we unmark compacting after scrub/cleanup etc (CASSANDRA-8548)
  • Check for available disk space before starting a compaction (CASSANDRA-8562)
  • Fix DISTINCT queries with LIMITs or paging when some partitions contain only tombstones (CASSANDRA-8490)
  • Introduce background cache refreshing to permissions cache (CASSANDRA-8194)
  • Fix race condition in StreamTransferTask that could lead to infinite loops and premature sstable deletion (CASSANDRA-7704)
  • Add an extra version check to MigrationTask (CASSANDRA-8462)
  • Ensure SSTableWriter cleans up properly after failure (CASSANDRA-8499)
  • Increase bf true positive count on key cache hit (CASSANDRA-8525)
  • Move MeteredFlusher to its own thread (CASSANDRA-8485)
  • Fix non-distinct results in DISTNCT queries on static columns when paging is enabled (CASSANDRA-8087)
  • Move all hints related tasks to hints internal executor (CASSANDRA-8285)
  • Fix paging for multi-partition IN queries (CASSANDRA-8408)
  • Fix MOVED_NODE topology event never being emitted when a node moves its token (CASSANDRA-8373)
  • Fix validation of indexes in COMPACT tables (CASSANDRA-8156)
  • Avoid StackOverflowError when a large list of IN values is used for a clustering column (CASSANDRA-8410)
  • Fix NPE when writetime() or ttl() calls are wrapped by another function call (CASSANDRA-8451)
  • Fix NPE after dropping a keyspace (CASSANDRA-8332)
  • Fix error message on read repair timeouts (CASSANDRA-7947)
  • Default DTCS base_time_seconds changed to 60 (CASSANDRA-8417)
  • Refuse Paxos operation with more than one pending endpoint (CASSANDRA-8346, 8640)
  • Throw correct exception when trying to bind a keyspace or table name (CASSANDRA-6952)
  • Make HHOM.compact synchronized (CASSANDRA-8416)
  • Use live SSTable in snapshot repair if possible (CASSANDRA-8312)
  • Fix hints serialized size calculation (CASSANDRA-8587)

DataStax Enterprise 4.0.6 release notes 

Components
  • Cassandra 2.0.11.93
Resolved issues
  • JMX defaults to binding only localhost to mitigate "CVE-2015-0225: Apache Cassandra remote execution of arbitrary code." After you upgrade to DataStax Enterprise 4.0.6, get the latest default values from cassandra-env.sh and ensure that your local cassandra-env.sh file has the latest default values. If you require remote access of JMX, you can safely enable remote JMX access by turning on JMX security. The latest default values from cassandra-env.sh are:
    LOCAL_JMX=yes
    if [ "$LOCAL_JMX" = "yes" ]; then  
        JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT -XX:+DisableExplicitGC"
    else  
        JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT"  
        JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"  
        JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false"  
        JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"  
        JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
    fi
    

DataStax Enterprise 4.0.5 release notes 

DataStax Enterprise 4.0.5 includes updated components, enhancements and changes, and resolved issues.

Updated components

Cassandra has been updated to 2.0.11.92.

Enhancements and changes

  • The default Kerberos authenticator now supports the Digest authentication.
  • If you use transparent data encryption, you need to run Opscenter agent under the same account as the DataStax Enterprise user.
  • DSE Search now logs a warning when users do not map dynamic fields correctly.
  • DataStax Enterprise 4.0.5 includes for experts only the capability to tune index size relative to query range speed by adjusting the precision step of DataStax internal field types.

Resolved issues

  • Resolved the issue causing entries entries to show up in system.peers for decommissioned nodes. (DSP-3968)
  • Fixed a problem causing an out-of-memory condition when running nodetool repair. (DSP-4104, CASSANDRA-7983)
  • The GossipFilePropertySnitch and EC2MultiRegionSnitch now use private IP addressses for communication during node repair between nodes in the same data center. (DSP-4192, CASSANDRA-8084)
  • Resolved the CQL TRUNCATE command problem related to memory-only tables. (DSP-4135)
  • Querying partitions directly now works. (DSP-4293)
  • Fixed an issue causing a null pointer exception on non Solr workload nodes holding Solr data and attempting to run the nodetool cleanup command on data. (DSP-4310)
  • Fixed a bug causing core creation to fail if the Cassandra timeuuid type is used inside a list, set, or map collection. (DSP-4288)

DataStax Enterprise 4.0.4 release notes 

DataStax Enterprise 4.0.4 includes updates to components, enhancements and changes, resolved issues, patches, and issues. The following Hive issue (DSP-3534), resolved in this release, might break existing code:

Possible code breaker

Hive will now correctly return NULL in places it was previously returning an empty string.

If your application inserts null string-type values into a table, adjust the code to expect NULL instead of an empty string.

Updated Components

  • From Apache Cassandra 2.0.7 to Apache Cassandra 2.0.9.61
  • From Apache Hadoop 1.0.4.10 to Apache Hadoop 1.0.4.13
  • From Cassandra Java Driver 2.0.1 to a patched Cassandra Java Driver 2.0.4 (DSP-3848)

Enhancements and changes

  • General enhancements
    • The procedure for encrypting data has changed in this release. DataStax recommends migrating data encrypted in earlier releases to DataStax Enterprise 4.0.4.
    • This release includes an example of using Cassandra triggers in the demos directory.
    • The _HOST macro has been changed to force the hostname part of the Kerberos service principal to lowercase. The Kerberos service principal is generated from the host name, which can cause a problem connecting to cqlsh running if lowercase host names are not used.
  • Hive enhancements
  • Pig changes
    • Cql Paging Recorder Reader has been removed from Cassandra. The CqlStorage handler is no longer compatible with compact tables with clustering columns. Users who are accessing these tables need to migrate the tables to CqlNativeStorage format. This format uses the Cql Record Reader.
    • The CqlStorage handler is deprecated and slated for removal at some point in the future. Use the CqlNativeStorage handler and cql:// for new pig applications.

Resolved issues

DataStax Enterprise 4.0.4 fixes the following issues:

  • The DSE startup script overwrote the JAVA_LIBRARY_PATH environment variable instead of appending it. (DSP-2914)
  • Solr blob data types used in composite keys threw an invalidating error. (3033)
  • The heap was not dumped on an out-of-memory condition. (DSP-3308)
  • Tomcat blocked shutdown when an out of memory error occurred on Solr nodes. (DSP-3328)
  • No value was returned when the fl request parameter specified a dynamic field in Thrift and the 'fl' parameter had only dynamic fields. (DSP-3332)
  • Alteration of MapReduce output returned multiple results (MAPREDUCE-1597), which caused large gzip files with a custom input format to be read multiple times. (DSP-3384)
  • Solr HTTP requests ignored permissions set on keyspaces and tables. (DSP-3388)
  • Solr query POST parameters were not logged in the DSE audit log. (DSP-3440)
  • Audit logging threw a null pointer exception if a prepared statement used a null value. (DSP-3447)
  • Hive returned NULL in places it previously returned an empty string. See Possible code breaker. (DSP-3534)
  • Creation of a Solr cql core using the CLUSTER ORDERING directive and a TimeUUID threw an IllegalStateException. (DSP-3542)
  • Soft commit time interval reverted to a previous setting if changed during back pressure. (DSP-3584)
  • Reloading during back pressure of the old pre-reload value of the soft commit. (DSP-3584)
  • Removal of a node from the ring by the disk full alert feature.

    DataStax Enterprise 3.x added a feature to auto-decommission a node when the disk is close to being full. This feature has been removed and there are no plans to do any sort of proactive cluster changes in the future. Because of the adverse effects from filling up data disks, customers are always advised to monitor disk space and add capacity when necessary. (DSP-3601)

  • An out-of-memory error when using the Cassandra File System. (CFS)

    Memory consumption has been reduced significantly, by a factor of approximately 500 for some use cases. (DSP-3615)

  • Lack of support for writing to blob columns from Spark.

    This release supports reading columns of all types; however, you need to convert collections of blobs to byte arrays before serializing. (DSP-3620)

  • The TermVectorComponent, not fixed in DSP-3147, caused unnecessary Cassandra access in CassandraRowReader due to the StoredFieldVisitor returning an empty collection of fields to load. (DSP-3625)

  • Failed repair, addition, and removal of nodes from a cluster using transparent data encryption.

    When attempting to repair a node, the node did not unencrypt the data for reading. (DSP-3636).

  • Improper loading of SSTables with encrypted tables using sstableloader when internal authentication, SSL, or kerberos authentication. (DSP-3641)
  • DataStax Enterprise failed to find the org.tartarus.snowball.ext.DanishStemmer class, which prevented clustering in Solr. (DSP-3645)
  • A race condition between shutdown of client and server channels caused a harmless Netty exception to appear. (DSP-3651)
  • Hive was incapable of reading from a varint column if Cassandra was configured to use the random partitioner (DSP-3652)
  • A null pointer exception occurred when using QueryBuilder.batch from the Java driver and when turning on auditing. (DSP-3673)
  • A non-functioning HSHA rpc server (DSP-3675)
  • Previously NULL values were returned as empty datatypes in hive. Now, the exact information from the native protocol is returned, except collections, which are returned as empty collections when the value is NULL. (DSP-3840)

Patches

  • Better error message when adding a collection with the same name than a previously dropped one (CASSANDRA-6276)
  • Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
  • Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
  • Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
  • Add option to disable STCS in L0 (CASSANDRA-6621)
  • Hadoop--Add CqlOutputFormat (CASSANDRA-6927)
  • Always merge ranges owned by a single node (CASSANDRA-6930)
  • cqlsh--Wait up to 10 sec for a tracing session (CASSANDRA-7222)
  • Give CRR a default input_cql Statement (CASSANDRA-7226)
  • Fix IncompatibleClassChangeError from hadoop2 (CASSANDRA-7229)
  • Hadoop--allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
  • Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
  • Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
  • Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM operations to incorrect become full QUORUM (CASSANDRA-7345)
  • Make sure high level SSTables get compacted (CASSANDRA-7414)
  • Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
  • Fix AssertionError when using empty clustering columns and static columns (CASSANDRA-7455)
  • Hadoop--close CqlRecordWriter clients when finished (CASSANDRA-7459)
  • Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
  • Set correct stream ID on responses when non-Exception Throwables are thrown while handling native protocol messages (CASSANDRA-7470)
  • Remove duplicates from StorageService.getJoiningNodes (CASSANDRA-7478)
  • Fix error when doing reversed queries with static columns (CASSANDRA-7490)
  • Properly reject operations on list index with conditions (CASSANDRA-7499)
  • Throw InvalidRequestException when queries contain relations on entire collection columns (CASSANDRA-7506)
  • Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
  • Fix truncate to always flush (CASSANDRA-7511)
  • Warn when SSL certificates have expired (CASSANDRA-7528)
  • Fix range merging when DES scores are zero (CASSANDRA-7535)
  • Windows--force range-based repair to non-sequential mode (CASSANDRA-7541)
  • Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543)
  • Backport CASSNADRA-3569/CASSANDRA-6747 (CASSANDRA-7560)
  • Remove CqlPagingRecordReader/CqlPagingInputFormat (CASSANDRA-7570)
  • Fix ReversedType aka DateType mapping to native protocol (CASSANDRA-7576)
  • cqlsh--enable CTRL-R history search with libedit (CASSANDRA-7577)
  • Fix sstableloader unable to connect encrypted node (CASSANDRA-7585)
  • Add stop method to EmbeddedCassandraService (CASSANDRA-7595)
  • Remove shuffle and taketoken (CASSANDRA-7601)
  • cqlsh--Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611)
  • Update java driver for hadoop (CASSANDRA-7618)
  • Fix NPE when listing saved caches dir (CASSANDRA-7632)
  • Add 'nodetool sethintedhandoffthrottlekb' (CASSANDRA-7635)
  • cqlsh--cqlsh should automatically disable tracing when selecting from system_traces (CASSANDRA-7641)
  • Track max/min timestamps for range tombstones (CASSANDRA-7647)
  • Add cassandra.auto_bootstrap system property (CASSANDRA-7650)
  • SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
  • Throw EOFException if we run out of chunks in compressed datafile (CASSANDRA-7664)
  • Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  • Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)
  • Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
  • Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
  • cqlsh--Fix failing cqlsh formatting tests (CASSANDRA-7703)
  • Validate arguments of blobAs functions (CASSANDRA-7707)
  • Minor leak in SSTable2jon (CASSANDRA-7709)
  • Fix validation when adding static columns (CASSANDRA-7730)
  • Thrift--fix range deletion of supercolumns (CASSANDRA-7733)
  • Fix dropping collection when it's the last regular column (CASSANDRA-7744)
  • Fix race in background compaction check (CASSANDRA-7745)
  • Do not flush on truncate if durable_writes is false (CASSANDRA-7750)
  • Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752)
  • Configure system.paxos with LeveledCompactionStrategy (CASSANDRA-7753)
  • Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
  • Clone token map outside of hot gossip loops (CASSANDRA-7758)
  • Hadoop--fix cluster initialisation for a split fetching (CASSANDRA-7774)
  • Fix PRSI handling of CQL3 row markers for row cleanup (CASSANDRA-7787)
  • Improve PasswordAuthenticator default super user setup (CASSANDRA-7788)
  • Make StreamReceiveTask thread safe and gc friendly (CASSANDRA-7795)
  • Stop inheriting liveRatio and liveRatioComputedAt from previous memtables (CASSANDRA-7796)
  • Validate empty cell names from counter updates (CASSANDRA-7798)
  • Fix ALTER clustering column type from DateType to TimestampType when using DESC clustering order (CASSANRDA-7797)

Issues

  • After upgrading DataStax Enterprise from 4.0.0 or 4.0.1 to 4.0.2 or 4.0.3 on RHEL5/CentOS5, the Snappy JAR file will be missing. (DSP-2558) To restore the Snappy JAR, perform one of the following procedures to either run the switch-snappy script or re-install DataStax:
    • Run the switch-snappy script:
      1. Navigate to the directory containing the switch-snappy script.
        $ cd /usr/share/dse  ## Package installations 
        $ cd install_location/bin  ## tarball installations
      2. Execute the script.
        $ switch-snappy  1.0.4
    • To re-install DataStax Enterprise:
      1. Uninstall the old installation.
      2. Re-install DataStax Enterprise 4.0.4.

        By uninstalling the old installation and re-installing the new one instead of performing an in-place upgrade, DataStax Enterprise uses the configuration files and data files of the new installation.

  • DSE Search/Solr cannot index a document that indexes only one field, which is also the unique key in the schema and the primary key in the corresponding Cassandra table. DSE Search/Solr deletes any existing data with that primary key and does not return any results for such query. (DSP-3362)
  • In this release, compaction of files stored on the cfs-archive layer should be disabled, but instead are compacted automatically. (DSP-4081)

DataStax Enterprise 4.0.3 release notes 

DataStax 4.0.3 updates components, and includes improvements, patches, and bug fixes.

Known issues
  • DataStax Enterprise 4.0.3 and earlier releases are affected by "CVE-2015-0225: Apache Cassandra remote execution of arbitrary code." Upgrade to the latest release or enable JMX security immediately if your JMX port is possibly exposed to malicious users.

Components

  • Apache Cassandra 2.0.7 (Updated)
  • Apache Hadoop 1.0.4.10 (Updated)
  • Apache Hive 0.12.0.2
  • Apache Pig 0.10.1
  • Apache Solr 4.6.0.1.3
  • Apache log4j 1.2.16
  • Apache Sqoop 1.4.2.14.3
  • Apache Mahout 0.8
  • Apache Tomcat 6.0.39 (Updated)
  • Apache Thrift 0.7.0
  • Apache Commons
  • JBCrypt 0.3m
  • SLF4J 1.7.2
  • Guava 15.0
  • JournalIO 1.4.2
  • Netty 4.0.13.Final
  • Faster XML 3.1.3
  • HdrHistogram 1.0.9
  • Snappy 1.0.5
  • Cassandra Java Driver 2.0.1
Apache Cassandra documentation covers release notes for Cassandra 2.0.7. NEWS.txt contains late-breaking information about upgrading from previous versions of Cassandra. A NEWS.txt or a NEWS.txt archive is installed in the following locations:
  • Tarball: install_location/resources/cassandra
  • Package: /usr/share/doc/dse-libcassandra*

NEWS.txt is also posted on the Apache Cassandra project web site.

Enhancements and changes
  • Internal authentication support for hadoop, hive, pig, and sqoop commands.
  • Support for Solr stored copy fields having different source and destination data types.
  • Enhanced dse and dse-env.sh scripts extend the HADOOP_CLASSPATH of the user and include the path to Mahout.
  • Updated Tomcat version 6.0.39 avoids potential garbage collection issues.
  • In addition to the classic Solr Update Request Processor, in DataStax Enterprise 4.0.3, a custom version is also available.
Resolved issues
  • Solr
    • Fixed the issue that caused an error when source and destination copy fields have different validators. (DSP-1910)
    • Fixed the issue that caused the DynamicSnitch to break the distributed search when load information changed during shard selection. (DSP-3322)
    • Fixed an issue that caused the merging of Solr index segments to fail when using a custom sorting MergePolicy. (DSP-3230)
    • Using a composite unique key in a Solr schema with a Thrift-compatible table is no longer allowed. Attempting to load a schema under these conditions results in a message that the operation is not supported. (DSP-3232)
    • Fixed the issue causing copy fields to be applied twice when a Solr HTTP query is inserted data over CQL 3 tables. (DSP-3240)
    • Fixed the issue causing the same row to be indexed several times when you use triggers for copy fields. (DSP-3241)
  • Hadoop
    • Fixed an issue causing an Analytics node to throw an exception endlessly. (DSP-3130)
  • Other
    • The dsetool rebuild_indexes command now returns an error code when it fails. (DSP-3178)
    • Using the CQL native protocol, DataStax Enterprise now throws an appropriate exception when Kerberos authentication issues occur. (DSP-3293)
    • Fixed the issue breaking CFMetaData. (DSP-3276/CASSANDRA-7074)
    • Backported a fix to Apache Cassandra to resolve the problem causing a huge performance regression in tombstone-heavy workloads. (CASSANDRA-6949)
Issues
  • The Solr commitWithin parameter is not supported. (DSP-3021)

DataStax Enterprise 4.0.2 release notes 

DataStax Enterprise 4.0 includes updated components, enhancements, changes, resolved issues, and issues.

Known issues
  • DataStax Enterprise 4.0.2 and earlier releases are affected by "CVE-2015-0225: Apache Cassandra remote execution of arbitrary code." Upgrade to the latest release or enable JMX security immediately if your JMX port is possibly exposed to malicious users.

Components

  • Apache Cassandra 2.0.6
  • Apache Hadoop 1.0.4.9
  • Apache Hive 0.12.0.2
  • Apache Pig 0.10.1
  • Apache Solr 4.6.0.1.3
  • Apache log4j 1.2.16
  • Apache Sqoop 1.4.2.14.2
  • Apache Mahout 0.8
  • Apache Tomcat 6.0.32
  • Apache Thrift 0.7.0
  • Apache Commons
  • JBCrypt 0.3m
  • SLF4J 1.7.2
  • Guava 15.0
  • JournalIO 1.4.2
  • Netty 4.0.13.Final
  • Faster XML 3.1.3
  • HdrHistogram 1.0.9
  • Snappy 1.0.5
  • Cassandra Java Driver 2.0.1
Enhancements and changes
  • Other
    • In DataStax Enterprise 4.0.2, only JMX ( java management extensions) password authentication is supported by the dsetool utility. If JMX passwords are enabled, users need to use the passwords to use the dsetool utility. In earlier releases, Cassandra internal authentication and JMX provided dsetool password authentication.
    • A new dsetool command, dsetool status, which is the same as dsetool ring as been added. The commands list the nodes in the ring including their node type.
    • If vnodes are enabled on an Analytics or Solr node, an error is logged in the system log and an error appears in the output of the dsetool ring command.
    • If the cluster uses a Random or Murmur3 partitioner, the dsetool ring command warns you if the nodes are imbalanced. The dsetool compares nodes having the most and least load. If the ratio is greater than 1.1, a warning message appears.

Resolved issues

  • Fixed an issue causing Solr to always use an external IP address, even though the EC2MultiRegionSnitch and GossipingPropertyFileSnitch route the traffic on the Cassandra side to internal IP addresses for nodes in the same data center and to external IP addresses for nodes in different data centers. This problem resulted in high EC2 bills from Amazon charges for external traffic and failure in the Rackspace environment, which prevents routing traffic to the external IP address within the same data center. (DSP-2710)
  • Fixed the problem with the getFileBlockLocations not returning the correct set of block descriptions. (DSP-2922)
  • Fixed an issue causing Solr queries to fail during a short period of time when adding or removing nodes. (DSP-2975)
  • Fixed an issue that caused a null pointer exception to be thrown on server shutdown. (DSP-2974)
  • Fixed issues causing Solr problems working properly with lightweight transactions. (DSP-3028 and DSP-3032)
  • Fixed the problem involving the per-segment query results cache to sort queries, such as queries that do not return a score. Set the useFilterForSortedQuery to true to use the query result cache and execute the same query multiple times. (DSP-3084)
  • The problem, which affected the Cassandra commit log, writing to copy fields when those fields were not stored and when no stored copy fields were present. (DSP-3099)
  • A row of bad data is no longer inserted through CQL into fields using a copy directive. (DSP-3107)
  • Fixed the issue preventing batch updates from being indexed if the updates were followed by a delete and were made on the same partition key. (DSP-3187)

Issues

  • After upgrading DataStax Enterprise from 4.0.0 or 4.0.1 to 4.02 or 4.0.3 on RHEL5/CentOS5, the Snappy JAR file will be missing. To get it back, either:
    • Run the switch-snappy script:
      $ cd /usr/share/dse ## Package installations
      $ cd install_location/bin  ## tarball installations
      
      $ switch-snappy 1.0.4
    • Uninstall the old installation and then do a fresh installation. Using, a regular uninstall maintains the configuration files and data files.
  • Cassandra static columns, introduced in Cassandra 2.0.6, cannot be included in the Solr schema (and hence indexed) for performance reasons because changing the value of a single static column would require re-indexing all documents sharing the same partition key. (DSP-3143)

DataStax Enterprise 4.0.1 release notes 

Known issues
  • DataStax Enterprise 4.0.1 and earlier releases are affected by "CVE-2015-0225: Apache Cassandra remote execution of arbitrary code." Upgrade to the latest release or enable JMX security immediately if your JMX port is possibly exposed to malicious users.

Patches

  • A patch to fix the problem with lightweight transactions, compare and set (CAS) that caused Cassandra to treat an existing row as non-existent if a TTL marker was applied to a column and then the TTL expired. (CASSANDRA-6623)
  • A patch to fix the 2.0 HSHA server problem that introduced corrupted data. (CASSANDRA-6285)

Issues

A bug was found that affects upgrades from DSE 4.0.0 on Solr nodes. Upgrades from versions prior to 4.0.0 directly to 4.0.1 are not affected. Please refer to the Upgrade Guide for a detailed workaround.

DataStax Enterprise 4.0 release notes 

DataStax Enterprise 4.0 includes updated components, enhancements, changes, resolved issues, and issues.

Known issues
  • DataStax Enterprise 4.0 is affected by "CVE-2015-0225: Apache Cassandra remote execution of arbitrary code." Upgrade to the latest release or enable JMX security immediately if your JMX port is possibly exposed to malicious users.

Components

  • Apache Cassandra 2.0.5
  • Apache Hadoop 1.0.4.9
  • Apache Hive 0.12.0.1
  • Apache Pig 0.10.1
  • Apache Solr 4.6.0.1
  • Apache log4j 1.2.16
  • Apache Sqoop 1.4.2.14.1
  • Apache Mahout 0.8
  • Apache Tomcat 6.0.32
  • Apache Thrift 0.7.0
  • Apache Commons

Apache documentation covers release notes for Cassandra 2.0.5. Cassandra 2.0.5 supports CQL 3.

Enhancements and changes

DataStax Enterprise 4.0 includes the following enhancements and changes:

  • The latest version of the Oracle Java SE Development Kit (JDK) 7 is required to install and run DataStax 4.0.

  • Support for in-memory tables to accommodate applications, such as ad bidding, that require rapid response time

  • Integration of Cassandra 2.0.5, which includes the following features and changes:

    • Improvements to CQL
    • Experimental triggers, configured in CQL, not supported in production deployments
    • Performance enhancements
    • Column aliases
    • Support for accessing legacy CQL tables through cqlsh using the -2 option has been removed
  • Virtual nodes off by default (differs from Cassandra 2.x)

    DataStax Enterprise 4.0 turns off virtual nodes (vnodes) by default. DataStax does not recommend turning on vnodes for Hadoop or Solr nodes, but you can use vnodes for any Cassandra-only cluster, or a Cassandra-only data center in a mixed Hadoop/Solr/Cassandra deployment. To enable vnodes, see Using virtual nodes.

  • Required configuration of initial_token option (differs from Cassandra 2.x)

    In DataStax Enterprise 4.0, the initial_token option in the default cassandra.yaml of the DataStax Enterprise-integrated component needs to be set. Because DataStax Enterprise does not use virtual nodes (vnodes) by default, you need to set the initial_token option.

  • DSE Search/Solr enhancements and changes:

    • Optional TCP-based Solr communications that provide lower latency, improved throughput, and reduced resource consumption
    • Support for Solr custom field types
    • New mbeans for obtaining commit and query latency information
    • Higher maximum calculated heap size limits, 14GB and 10GB, for DSE Search/Solr nodes and analytics/Hadoop nodes, respectively
    • Non-string/non-numeric types, such as dates and booleans, can now be used as unique key in the Solr schema.xml.
    • Support for Solr 4.3 SolrJ, assuming security is not needed
    • Solr indexes on CQL 3 tables, including those created using compact storage directive, must now include the following type mapping version in solrconfig.xml:
       <dseTypeMappingVersion>2</dseTypeMappingVersion>.
  • Hadoop and Hive enhancements:

  • Changes to command-line options for securing SSTableloader data

  • Lazy loading of compression rules, and in the event of a failure to load, a retry occurs

  • Configurable disk health checking

  • Disabled SSTable notifications to improve performance of memtable flushing.

Issues resolved

DataStax Enterprise 4.0 fixes the following issues:

  • Fixed an issue causing data to remain after the keyspace and table dropped and recreated. (CASSANDRA-6635)
  • Fixed the internal authentication issue when using cassandra-stress. (DSP-2911)
  • Fixed the problem causing an exception if the PIG_OUTPUTPARTITIONER, which is a CassandraStorage user-defined function (UDF), is not configured. (DSP-2075)

Issues

  • GLIBCXX_3.4.9 not found. This error may appear in older Linux distributions when installing DSE from the binary tarball. The workaround is to replace snappy-java-1.0.5.jar with snappy-java-1.0.4.1.jar. (DSP-2189)
  • DataStax Enterprise does not recognize changes to the default log directory used by its Hadoop component unless you add the HADOOP_LOG_DIR environment variable to the dse-env.sh file, as described in the Hadoop section of this document.

  • When the amount of data written to a table exceeds the limit specified by the size_limit_in_mb property, the following error message is logged:

    SEVERE: java.util.concurrent.ExecutionException: com.datastax.driver.core.exceptions.UnavailableException: Not enough replica available for query at consistency ONE (1 required but only 0 alive)

    To avoid this condition, manage available memory carefully. (DSP-2990)

  • In this release, the flush_largest_memtables_at setting is 0.75, which is typically too small causing excessive flushing of the memtable to disk. The workaround is to change the setting to 0.80 in the cassandra.yaml. (DSP-2989)

  • The 2.0 HSHA server introduced corrupted data. This occurs when running the HSHA server in Cassandra 2.0.x releases earlier than 2.0.6. The hsha (half-synchronous, half-asynchronous) Thrift server was rewritten on top of Disruptor for Cassandra 2.0. This server can handle more simultaneous connections than the default sync server. Unfortunately, the rewrite introduced a bug that can cause incorrect data to be sent from the coordinator to replicas. (CASSANDRA-6285)

    Workaround: Use the native protocol or the default sync server. Cassandra 2.0.6 includes the fix and is expected to be released 3/10/2014. Alternately, you can get the pre-release build from http://people.apache.org/~slebresne/.

    DataStax Enterprise 4.0.1 will include the fix.