DataStax Enterprise 6.0 release notes

DataStax Enterprise release notes include cluster requirements, upgrade guidance, components, security updates, changes and enhancements, issues, and resolved issues for DataStax Enterprise 6.0.x.

DataStax Enterprise release notes cover cluster requirements, upgrade guidance, components, security updates, changes and enhancements, issues, and resolved issues for DataStax Enterprise (DSE) 6.0.x.
Note: Each point release includes a highlights and executive summary section to provide guidance and add visibility to important improvements.

Requirement for Uniform Licensing

All nodes in each cluster must be uniformly licensed to use the same subscription. For example, if a cluster contains 5 nodes, all 5 nodes within that cluster must be either DataStax Distribution of Apache Cassandra™, or all 5 nodes must be DataStax Enterprise. Mixing different subscriptions within a cluster is not permitted. The DataStax Advanced Workloads Pack may be added to any DataStax Enterprise (not DataStax Distribution of Apache Cassandra) cluster in an incremental fashion. For example, a 10-node DSE cluster may be extended to include 3 nodes of the Advanced Workloads Pack. “Cluster” means a collection of nodes running the software which communicate with one another using gossip. See Enterprise Terms.

Before you upgrade

Upgrade advice Compatibility
Before you upgrade to a later major version, upgrade to the latest patch release (6.0.8) on your current version. Be sure to read the relevant upgrade documentation. Upgrades to DSE 6.0 are supported from:
Check the compatibility page for your products. DSE 6.0 product compatibility:
See Upgrading DataStax drivers. DataStax Drivers: You may need to recompile your client application code.
Use DataStax Bulk Loader for loading and unloading data. Loads data into DSE 5.0 or later and unloads data from any Apache Cassandra™ 2.1 or later data source.

DSE 6.0.8 release notes

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml

11 June 2019

Table 1. DSE functionality

6.0.8 Components

All components from DSE 6.0.8 are listed. Components that are updated for DSE 6.0.8 are indicated with an asterisk (*).
  • Apache Solr™ 6.0.1.1.2460 *
  • Apache Spark™ 2.2.3.4 *
  • Apache Tomcat® 8.0.53 *
  • DSE Java Driver 1.6.9
  • Key Management Interoperability Protocol (KMIP) 1.7.1e
  • Netty 4.1.13.13.dse *
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.7 with additional production-certified changes

DSE 6.0.8 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DSE 6.0.8 Highlights

High-value benefits of upgrading to DSE 6.0.8 include these highlights:

DSE Database (DSE core) highlights

  • Significant fixes and improvements for native memory, the chunk cache, and async read timeouts.
  • New configurable memory leak tracking. (DB-3123)
  • Improved lightweight transactions (LWT) handling. (DB-3018, DB-3124)

DSE Analytics highlights

  • When DSE authentication is enabled, Spark security is forced to be enabled. (DSP-17274)
  • Spark security is turned on in dse.yaml configuration file. (DSP-17271)

DSEFS highlights

  • Fix handling of path alternatives in DSEFS shell to provide wildcard support for mkdir and ls commands. (DSP-17768)

DSE Graph highlights

  • Operations through gremlin-console run with anonymous permissions. (DSP-18471)
  • You can now dynamically pass cluster and connection configuration for different graph objects. Fixes the issue where DseGraphFrame cannot directly copy graph from one cluster to another. (DSP-18605)

DSE Search highlights

Changes and improvements:

  • Performance improvements and overload protection for search queries. (DSP-15875)
  • New configurable memory leak tracking: new nodetool leaksdetection command and Memory leak detection settings options in cassandra.yaml. (DB-3123)
  • Performance improvements to Solr deletes that correspond to Cassandra rows. (DSP-17419)
  • Changes to correct uneven distribution of shard requests with the STATIC set cover finder. (DSP-18197)
  • New recommended method for case-insensitive text search, faceting, grouping, and sorting with new LowerCaseStrField Solr field type. This type sets field values as lowercase and stores them as lowercase in docValues. (DSP-18763)
Important bug fixes:
  • The queryExecutorThreads and timeAllowed Solr parameters can be used together. (DSP-18717)
  • Avoid interrupting request threads when an internode handshake fails so that the Lucene file channel lock cannot be interrupted. Fixes LUCENE-8262. (DSP-18211)

6.0.8 DSE core

Changes and enhancements:

  • Improved lightweight transactions (LWT) handling:
    • Improved lightweight transactions (LWT) performance. New cassandra.yaml LWT configuration options. (DB-3018)
    • Optimized memory usage for direct reads pool when using a high number of LWTs. (DB-3124)

      When not set in cassandra.yaml, the default calculated size of direct_reads_size_in_mb changed from 128 MB to 2 MB per TPC core thread, plus 2 MB shared by non-TPC threads, with a maximum value of 128 MB.

  • Improved logging identifies which client, keyspace, table, and partition key is rejected when mutation exceeds size threshold. (DB-1051)
  • Improve status reporting for nodesync validation list. (DB-2707)
  • Enable upgrading and downgrading SSTables using a CQL file that contains DDL statements to recreate the schema. (DB-2951)
  • Configurable memory leak tracking. (DB-3123)

Resolved issues:

  • Nodes in a cluster continue trying to connect to a decommissioned node. (DB-2886)
  • 32-bit integer overflow in StreamingTombstoneHistogramBuilder during compaction. (DB-3108)
  • Possible direct memory leak when part of bulk allocation fails. (DB-3125)
  • Counters in memtable allocators and buffer pool metrics can be incorrect when out of memory (OOM) failures occur. (DB-3126)
  • Memory leak occurs when a read from disk times out. (DB-3127)
  • AssertionError in temporary buffer pool causes CorruptSSTableException. (DB-3172)
  • Memory leak on errors when reading. (DB-3175)
  • Bootstrap should fail when the node can't fetch the schema from other nodes in the cluster. (DB-3186)
  • Increment pending echos when sending gossip echo requests. (DB-3187)
  • Deadlock when replaying schema mutations from commit log during DSE startup. (DB-3190)
  • Make the remote host visible in the error message for failed magic number verification. (DSP-18645)

6.0.8 DSE Analytics

Changes and enhancements:
  • A warning message is displayed when DSE authentication is enabled, but Spark security is not enabled. (DSP-17273)
  • When DSE authentication is enabled, Spark security is forced to be enabled. (DSP-17274)
    dse.yaml Spark security is enforced
    authentication_options When enabled: true
    spark_security_enabled This setting is ignored.
    spark_security_encryption_enabled This setting is ignored.
  • Spark Cassandra Connector: To improve connection for streaming applications with shorter batch times, the default value for Keep Alive is increased to 1 hour. (DSP-17393)
Resolved issues:
  • Cassandra Spark Connector rejects nested UDT when null. (DSP-17965)
  • CassandraHiveMetastore does not unquote predicates for server-side filtering. (DSP-18017)
  • Reduce probability of hitting max_concurrent_sessions limit for OLAP workloads with BYOS (Bring Your Own Spark). (DSP-18280)
    Tip: For OLAP workloads with BYOS, DataStax recommends increasing the max_concurrent_sessions using this formula as a guideline:
    max_concurrent_sessions = spark_executors_threads_per_node x reliability_coefficient
    where reliability_coefficient must be greater than 1, with a minimum reliability_coefficient value between 2 and replication factor (RF) x 2.
  • dse spark-submit --status driver_ID command fails. (DSP-18616)
  • BYOS DSEFS access fails with AuthenticationException with dseauth_internal_no_otherschemes. (DSP-18822)
  • Accessing files from Spark through WebHDFS interface fails with message: java.io.IOException: Content-Length is missing. (DSP-18559)
  • Submitting many Spark applications will reach the default tombstone_failure_threshold before the default 90 days gc_grace_seconds defined for the system_auth.role_permissions table. (DSP-19098)

6.0.8 DSEFS

Resolved issues:

  • Fix handling of path alternatives in DSEFS shell to provide wildcard support for mkdir and ls commands. (DSP-17768)
    For example, to make several subdirectories with a single command:
    dse fs mkdir -p /datastax/demos/weather_sensors/{byos-daily,byos-monthly,byos-station}
    dse fs mkdir -p {path1,path2}/dir

6.0.8 DSE Graph

Changes and enhancements:

Resolved issues:
  • NPE when dropping a graph with an alias in gremlin console. (DSP-13387)
  • Time, date, inet, and duration data types are not supported in graph search indexes. (DSP-17694)
  • Should prevent sharing Gremlin Groovy closures between scripts that are submitted through session-less connections, like DSE drivers. (DSP-18146)
  • Operations through gremlin-console run with system permissions, but should run with anonymous permissions. (DSP-18471)
  • DseGraphFrame cannot directly copy graph from one cluster to another. You can now dynamically pass cluster and connection configuration for different graph objects. (DSP-18605)
    Workaround for earlier versions:
    1. Export graph to DSEFS:
      g.V.write.format("csv").save("dsefs://culster1/tmp/vertices") &&
      g.E.write.format("csv").save("dsefs://culster1/tmp/edges")
    2. Import graph to the other cluster:
      g.updateVertices(spark.read.format("csv").load("dsefs://culster1/tmp/vertices") &&
      g.updateEdges(spark.read.format("csv").load("dsefs://culster1/tmp/edges")
  • Issue querying a search index when the vertex label is set to cache properties. (DSP-18898)
  • UnsatisfiedLinkError when insert multi edge with DseGraphFrame in BYOS (Bring Your Own Spark). (DSP-18916)
  • DSE Graph does not use primary key predicate in Search/.has() predicate. (DSP-18993)

6.0.8 DSE Search

Changes and enhancements:

  • Reject requests from the TPC backpressure queue when requests are on the queue for too long. (DSP-15875)
  • Changes to correct uneven distribution of shard requests with the STATIC set cover finder. (DSP-18197)

    A new inertia parameter for dsetool set_core_property supports fine tuning. The default value of 1 can be adjusted for environments with vnodes and more than 10 vnodes.

  • New recommended method for case-insensitive text search, faceting, grouping, and sorting with new LowerCaseStrField custom Solr field type. This type sets field values as lowercase and stores them as lowercase in docValues. (DSP-18763)
    Note: DataStax does not support using the TextField Solr field type with solr.KeywordTokenizer and solr.LowerCaseFilterFactory to achieve single-token, case-insensitive indexing on a CQL text field.
Resolved issues:
  • SASI queries don't work on tables with row level access control (RLAC). (DB-3082)
  • Documents might not be removed from the index when a key element has value equal to a Solr reserved word. (DSP-17419)
  • FQ broken with queryExecutorThreads and timeAllowed set. (DSP-18717)
  • Avoid interrupting request threads when an internode handshake fails so that the Lucene file channel lock cannot be interrupted. Fixes LUCENE-8262. (DSP-18211)

    Workaround for earlier versions: Reload the search core without restarting or reindexing.

  • Search should error out, rather than timeout, on Solr query with non-existing field list (fl) fields. (DSP-18218)

Cassandra enhancements for DSE 6.0.8

DataStax Enterprise 6.0.8 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DataStax Enterprise 6.0.8 is compatible with Apache Cassandra™ 3.11 and includes all production-certified enhancements from earlier releases.

General upgrade advice for DSE 6.0.8

General upgrade advice for DataStax Enterprise 6.0.8.

DataStax Enterprise 6.0.8 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.8

A list of DataStax Enterprise 6.0.8 production-certified enhancements to TinkerPop 3.3.7.

DataStax Enterprise (DSE) 6.0.8 includes these production-certified enhancements to TinkerPop 3.3.7:

  • Developed DSL pattern for gremlin-javascript.
  • Generated uberjar artifact for Gremlin Console.
  • Improved folding of property() step into related mutating steps.
  • Added inject() to steps generated on the DSL TraversalSource.
  • Removed gperfutils dependencies from Gremlin Console.
  • Fixed PartitionStrategy when setting vertex label and having includeMetaProperties configured to true.
  • Ensure gremlin.sh works when directories contain spaces.
  • Prevented client-side hangs if metadata generation fails on the server.
  • Fixed bug with EventStrategy in relation to addE() where detachment was not happening properly.
  • Ensured that gremlin.sh works when directories contain spaces.
  • Fixed bug in detachment of Path where embedded collection objects would prevent that process.
  • Enabled ctrl+c to interrupt long running processes in Gremlin Console.
  • Quieted "host unavailable" warnings for both the driver and Gremlin Console.
  • Fixed construction of g:List from arrays in gremlin-javascript.
  • Fixed bug in GremlinGroovyScriptEngine interpreter mode around class definitions.
  • Implemented EdgeLabelVerificationStrategy.
  • Fixed behavior of P for within() and without() in Gremlin Language Variants (GLV) to be consistent with Java when using variable arguments (varargs).
  • Cleared the input buffer after exceptions in Gremlin Console.
  • Added parameter to configure the processor in the gremlin-javascript client constructor.
  • Docker images now use gremlin user instead of root user.
  • Refactored use of commons-lang to use common-lang3 only. Dependencies may still use commons-lang.
  • Bumped commons-lang3 to 3.8.1.
  • Added GraphSON serialization support for Duration, Char, ByteBuffer, Byte, BigInteger, and BigDecimal in gremlin-python.
  • Added ProfilingAware interface to allow steps to be notified that profile() was being called.
  • Fixed bug where profile() could produce negative timings when group() contained a reducing barrier.
  • Improved logic determining the dead or alive state of a Java driver connection.
  • Improved handling of dead connections and the availability of hosts.
  • Bumped httpclient to 4.5.7.
  • Bumped slf4j to 1.7.25.
  • Bumped commons-codec to 1.12.
  • Fixed partial response failures when using authentication in gremlin-python.
  • Fixed a bug in PartitionStrategy where addE() as a start step was not applying the partition.
  • Improved performance of JavaTranslator by reducing calls to Method.getParameters().
  • Implemented EarlyLimitStrategy which is supposed to significantly reduce backend operations for queries that use range().
  • Reduced chance of hash collisions in Bytecode and its inner classes.
  • Added Symbol.asyncIterator member to the Traversal class to provide support for await ... of loops (async iterables).

Bug fixes:

  • TINKERPOP-2081 PersistedOutputRDD materialises rdd lazily with Spark 2.x.
  • TINKERPOP-2091 Wrong/missing feature requirements in StructureStandardTestSuite.
  • TINKERPOP-2094 Gremlin Driver Cluster Builder serializer method does not use mimeType as suggested.
  • TINKERPOP-2095 GroupStep looks for irrelevant barrier steps.
  • TINKERPOP-2096 gremlinpython: AttributeError when connection is closed before result is received.
  • TINKERPOP-2100 coalesce() creating unexpected results when used with order().
  • TINKERPOP-2105 Gremlin-Python connection not returned back to the pool on exception from the Gremlin Server.
  • TINKERPOP-2113 P.Within() doesn't work when given a List argument.

Improvements:

  • TINKERPOP-1889 JavaScript Gremlin Language Variants (GLV): Use heartbeat to prevent connection timeout.
  • TINKERPOP-2010 Generate jsdoc for gremlin-javascript.
  • TINKERPOP-2013 Process tests that are auto-ignored stink.
  • TINKERPOP-2018 Generate API docs for Gremlin.Net.
  • TINKERPOP-2038 Make groovy script cache size configurable.
  • TINKERPOP-2050 Add a :bytecode command to Gremlin Console.
  • TINKERPOP-2062 Add Traversal class to CoreImports.
  • TINKERPOP-2065 Optimize iterate() for remote traversals.
  • TINKERPOP-2067 Allow getting raw data from Gremlin.Net.Driver.IGremlinClient.
  • TINKERPOP-2068 Bump Jackson Databind 2.9.7.
  • TINKERPOP-2069 Document configuration of Gremlin.Net.
  • TINKERPOP-2070 gremlin-javascript: Introduce Connection representation.
  • TINKERPOP-2071 gremlin-python: the graphson deserializer for g:Set should return a python set.
  • TINKERPOP-2073 Generate tabs for static code blocks.
  • TINKERPOP-2074 Ensure that only NuGet packages for the current version are pushed.
  • TINKERPOP-2077 VertexProgram.Builder should have a default create() method with no Graph.
  • TINKERPOP-2078 Hide use of EmptyGraph or RemoteGraph behind a more unified method for TraversalSource construction.
  • TINKERPOP-2084 For remote requests in console, display the remote stack trace.
  • TINKERPOP-2092 Deprecate default GraphSON serializer fields.
  • TINKERPOP-2097 Create a DriverRemoteConnection with an initialized Client.
  • TINKERPOP-2102 Deprecate static fields on TraversalSource related to remoting.
  • TINKERPOP-2106 When gremlin executes timeout, throw TimeoutException instead of TraversalInterruptedException/InterruptedIOException.
  • TINKERPOP-2110 Allow connection on different path (from /gremlin).
  • TINKERPOP-2114 Document common Gremlin anti-patterns.
  • TINKERPOP-2118 Bump to Groovy 2.4.16.
  • TINKERPOP-2121 Bump Jackson Databind 2.9.8.

DSE 6.0.7 release notes

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml

dse.yaml

The location of the dse.yaml file depends on the type of installation:
Package installations /etc/dse/dse.yaml
Tarball installations installation_location/resources/dse/conf/dse.yaml

1 April 2019

Table 2. DSE functionality
6.0.7 DSE core 6.0.7 DSE Graph
6.0.7 DSE Analytics 6.0.7 DSE Search
6.0.7 DSEFS

6.0.7 Components

All components from DSE 6.0.7 are listed. Components that are updated for DSE 6.0.7 are indicated with an asterisk (*).
  • Apache Solr™ 6.0.1.1.2407 *
  • Apache Spark™ 2.2.3.4 *
  • Apache Tomcat® 8.0.53
  • DSE Java Driver 1.6.9
  • Key Management Interoperability Protocol (KMIP) 1.7.1e
  • Netty 4.1.13.13.dse *
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.6 with additional production-certified changes

DSE 6.0.7 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DSE 6.0.7 Highlights

High-value benefits of upgrading to DSE 6.0.7 include these highlights:

DSE Database (DSE core) highlights

  • Compaction performance improvement with new cassandra.yaml pick_level_on_streaming option. (DB-1658)
  • Improved user tools for SSTable upgrades (sstableupgrade) and downgrades (sstabledowngrade). (DB-2950)
  • New cassandra.yaml direct_reads_size_in_mb option sets the size of the new buffer pool for direct transient reads. (DB-2958)
  • Reduction of LWT contention by improved handling of IO threads. (DB-2965)
  • Remedy deadlock during node startup when calculating disk boundaries. (DB-3028)
  • Correct handling of dropped UDT columns in SSTables. (DB-3031)

    Workaround: If issues with UDTs in SSTables exist after upgrade from DSE 5.0.x, run sstablescrub -e fix-only offline on the SSTables that have or had UDTs that were created in DSE 5.0.x.

  • The frame decoding off-heap queue size is configurable and smaller by default. (DB-3047)

DSE Analytics highlights

  • Authorization to AlwaysOn SQL web UI is supported. (DSP-18236)
  • Handle quote in cache query of AlwaysOn SQL (AOSS). (DSP-18418)
  • Fix leakage in BulkTableWriter. (DSP-18513)

DSE Graph highlights

  • Some minor DSE GraphFrame code fixes. (DSP-18215)
  • Improved updateEdges and updateVertices usability for single label update. (DSP-18404)
  • Operations through gremlin-console run with anonymous instead of system permissions. (DSP-18471)
  • Gremlin (groovy) scripts compile faster. (DSP-18025)
  • Data caching improvements during DSE GraphFrame operations. (DSP-17870)

DSE Search highlights

  • Fixed facets and stats queries when using queryExecutorThreads. (DSP-18237)
  • Fixed timestamp PK routing with solr_query. (DSP-18223)
  • Search/Solr HTTP request for CSV output is fixed. (DSP-18029)

6.0.7 DSE core

Changes and enhancements:

  • Compaction performance improvement with new cassandra.yaml pick_level_on_streaming option. (DB-1658)

    Streamed-in SSTables of tables using LCS (leveled compaction strategy) are placed in the same level as the source node, with possible up-leveling. Set pick_level_on_streaming to true to save compaction work for operations like nodetool refresh and replacing a node.

  • The sstableloader downgrade from DSE to OSS Apache Cassandra is supported with new sstabledowngrade tool. (DB-2756)
  • TupleType values with null fields NPE when being made byte-comparable. (DB-2872)
  • Support for using sstableloader to stream OSS Cassandra 3.x and DSE 5.x data to DSE 6.0 and later. (DB-2909)
  • Memory improvements with these supported changes:
    • Configurable memory is supported for offline sstable tools. (DB-2955)

      You can use these environment variables tools:

      • MAX_HEAP_SIZE - defaults to 256 MB
      • MAX_DIRECT_MEMORY - defaults to ((system_memory - heap_size) / 4) with a minimum of 1 GB and a max of 8 GB.

      To specify memory on the command line:

      MAX_HEAP_SIZE=2g MAX_DIRECT_MEMORY=10g sstabledowngrade keyspace table
    • Buffer pool, and metrics for the buffer pool, are now in two pools. In cassandra.yaml, file_cache_size_in_mb option sets the file cache (or chunk cache) and new direct_reads_size_in_mb option for all other short-lived read operations. (DB-2958)

      To retrieve the buffer pool metrics:

      nodetool sjk mxdump -q "org.apache.cassandra.metrics:type=CachedReadsBufferPool,name=*"
      nodetool sjk mxdump -q "org.apache.cassandra.metrics:type=DirectReadsBufferPool,name=*"

      For legacy compatibility, org.apache.cassandra.metrics:type=BufferPool still exists and is the same as org.apache.cassandra.metrics:type=CachedReadsBufferPool.

    • cassandra-env.sh respect heap and direct memory values set in jvm.options or as environment variables. (DB-2973)
      The precedence for heap and direct memory is:
      • Environment variables
      • jvm.options
      • calculations in cassandra-env.sh
    • AIO is automatically disabled if the chunk cache size is small enough: less or equal to system RAM / 8. (DB-2997)
    • Limit off-heap frame queues by configurable number of frames and total number of bytes. (DB-3047)

Resolved issues:

  • Native server Message.Dispatcher.Flusher task stalls under heavy load. (DB-1814)
  • Race in CommitLog can cause failed force-flush-all. (DB-2542)
  • Unclosed range tombstones in read response. (DB-2601)
  • The sstableloader downgrade from DSE to OSS Apache Cassandra is not supported. New sstabledowngrade tool is required. (DB-2756)
  • Unused memory in buffer pool. (DB-2788)
  • nodesync fails when validating MV row with empty partition key. (DB-2823)
  • TupleType values with null fields NPE when being made byte-comparable. (DB-2872)
  • The memory in use in the buffer pool is not identical to the memory allocated. (DB-2904)
  • Reference leak in SSTableRewriter in sstableupgrade when keepOriginals is true. (DB-2944)
  • Hint-dispatcher file-channel not closed, if open() fails with OOM. (DB-2947)
  • Offline sstable tools fail with Out of Direct Memory error. (DB-2955)
  • Hints and metadata should not use buffer pool. (DB-2958)
  • Lightweight transactions contention may cause IO thread exhaustion. (DB-2965)
  • DIRECT_MEMORY is being calculated using 25% of total system memory if -Xmx is set in jvm.options. (DB-2973)
  • Netty direct buffers can potentially double the -XX:MaxDirectMemorySize limit. (DB-2993)
  • Increased NIO direct memory because the buffers are not cleaned until GC is run. (DB-2996)
  • nodesync cannot be enabled on materialized views (MV). (DB-3008)
  • Mishandling of frozen in complex nested types. (DB-3081)
  • Check of two versions of metadata for a column fails on upgrade from DSE 5.0.x when type is not of same class. Loosen the check from CASSANDRA-13776 to prevent Trying to compare 2 different types ERROR on upgrades. (DB-3021)
  • Deadlock during node startup when calculating disk boundaries. (DB-3028)
  • cqlsh EXECUTE AS command does not work. (DB-3098)
  • Dropped UDT columns in SSTables deserialization are broken after upgrading from DSE 5.0. (DB-3031)
  • Kerberos protocol and QoP parameters are not correctly propagated. (DSP-15455)
  • RpcExecutionException does not print the user who is not authorized to perform a certain action. (DSP-15895)
  • Leak in BulkTableWriter. (DSP-18513)

6.0.7 DSE Analytics

Changes and enhancements:

  • Support configuration to connect to multiple hosts from BYOS connector. (DSP-18231)

Resolved issues:

  • After client-to-node SSL is enabled, all Spark nodes must also listen on port 7480. (DSP-15744)
  • dse client-tool configuration byos-export does not export required Spark properties. (DSP-15938)
  • Downloaded Spark JAR files are executable for all users. (DSP-17692)
  • Issue with viewing information for completed jobs when authentication is enabled. (DSP-17854)
  • Spark Cassandra Connector does properly cache manually prepared RegularStatements, see SPARKC-558. (DSP-18075)
  • Unexpected gossip failure. java.lang.NullPointerException: null. (DSP-18194)
  • Apache Spark local privilege escalation vulnerability: CVE-2018-11760. (DB-18225)
  • Invalid options show for dse spark-submit command line help. (DSP-18293)
  • Can't access AlwaysOn SQL (AOSS) UI when authorization is enabled. (DSP-18236)
  • Spark SQL function concat_ws results in a compilation error when an array column is included in the column list and when the number of columns to be concatenated exceeds 8. (DSP-18383)
  • Improved error messaging for AlwaysOn SQL (AOSS) client tool. (DSP-18409)
  • CQL syntax error when single quote is not correctly escaped before including in save cache query to AOSS cache table. (DSP-18418)
  • Remove class DGFCleanerInterceptor from byos.jar. (DSP-18445)
  • GBTClassifier in Spark ML fails when periodic checkpointing is on. (DSP-18450)

Known issue:

  • DSE 6.0.7 is not compatible with Zeppelin in SparkR and PySpark 0.8.1. (DSP-18777)

    The Apache Spark™ 2.2.3.4 that is included with DSE 6.0.7 contains the patched protocol and all versions of DSE are compatible with the Scala interpreter.

    However, SparkR and PySpark use only a separate channel for communication with Zeppelin. This protocol was vulnerable to attack from other users on the system and was secured in CVE-2018-11760. Zeppelin in SparkR and PySpark 0.8.1 fails because it does not recognize that Spark 2.2.2 and later contain this patched protocol and attempts to use the old protocol. The Zeppelin patch to recognize this protocol is not available in a released Zeppelin build.

    Solution: Do not upgrade to DSE 6.0.7 if you use SparkR or PySpark. Wait for the Zeppelin release later than 0.8.1 that will recognize that DSE-packaged Spark can use the secured protocol.

  • Submitting many Spark apps will reach the default tombstone_failure_threshold before the default 90 days gc_grace_seconds defined for the system_auth.role_permissions table. (DSP-19098)
    Workaround for use cases where a large number of Spark jobs are submitted:
    1. Before the user starts the Spark jobs, manually grant permissions to the user:
      GRANT AUTHORIZE, DESCRIBE, MODIFY ON ANY SUBMISSION IN WORKPOOL 'datacenter_name.workpool' TO role_name;
    2. Start Spark jobs for this user.
    3. After this user completes all the Spark jobs, revoke permissions for the user:
      REVOKE AUTHORIZE, DESCRIBE, MODIFY ON ANY SUBMISSION IN WORKPOOL 'datacenter_name.workpool' FROM role_name;

6.0.7 DSEFS

Resolved issues:

  • Change dsefs:// default port when the DSEFS setting public_port is changed in dse.yaml. (DSP-17962)

    The shortcut dsefs:/// now automatically resolves to broadcastaddress:dsefs.public_port, instead of incorrectly using broadcastaddress:5598 regardless of the configured port.

  • DSEFS WebHDFS API GETFILESTATUS op returns AccessDeniedException for the file even when user has correct permission. (DSP-18044)
  • Problem with change group ownership of files using the fileSystem.setOwner method. (DSP-18052)

6.0.7 DSE Graph

Changes and enhancements:
  • Vertex and especially edge loading is simplified. idColumn function is no longer required. (DSP-18404)

Resolved issues:

  • OLAP traversal duplicates the partition key properties: OLAP g.V().properties() prints 'first' vertex n times with custom ids. (DSP-15688)
  • Edges are inserted with tombstone values set when inserting a recursive edge with multiple cardinality. (DSP-17377)
  • AND operator is ignored in combination with OR operator in graph searches. (DSP-18061)

6.0.7 DSE Search

Resolved issues:

  • SASI should discard stale static row. (DB-2956)
  • Anti-compaction transaction causes temporary data loss. (DB-3016)
  • Solr HTTP request for CSV output is blank. The CSVResponseWriter returns only stored fields if a field list is not provided in the URL. (DSP-18029)
    To workaround, specify a field list with the URL:
    /select?q=*%3A*&sort=lst_updt_gdttm+desc&rows=10&fl=field1,field2&wt=csv&indent=true
  • Timestamp PK routing on solr_query fails. (DSP-18223)
  • Facets and stats queries broken when using queryExecutorThreads. (DSP-18237)

Cassandra enhancements for DSE 6.0.7

DataStax Enterprise 6.0.7 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DataStax Enterprise 6.0.7 is compatible with Apache Cassandra™ 3.11 and adds theseproduction-certified enhancements.

  • Always close RT markers returned by ReadCommand#executeLocally(). (CASSANDRA-14515)

    Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser. (CASSANDRA-14781)

General upgrade advice for DSE 6.0.7

General upgrade advice for DataStax Enterprise 6.0.7.

DataStax Enterprise 6.0.7 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.7

A list of DataStax Enterprise 6.0.7 production-certified enhancements to TinkerPop 3.3.6.

DataStax Enterprise (DSE) 6.0.7 includes production-certified enhancements to TinkerPop 3.3.6. See TinkerPop upgrade documentation for all changes.

  • Disables the ScriptEngine global function cache which can hold on to references to "g" along with some other minor bug fixes/enhancements.

DSE 6.0.6 release notes

Release notes for DataStax Enterprise 6.0.6.

Important: DataStax recommends the latest patch release for most environments.

27 February 2019

DSE 6.0.6 Components

All components from DSE 6.0.6 are listed. Components that are updated for DSE 6.0.6 are indicated with an asterisk (*).

  • Apache Solr™ 6.0.1.1.2380
  • Apache Spark™ 2.2.2.8
  • Apache Tomcat® 8.0.53
  • DSE Java Driver 1.6.9
  • Key Management Interoperability Protocol (KMIP) 1.7.1e
  • Netty 4.1.13.12.dse
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.5 with additional production-certified changes *

DSE 6.0.6 is compatible with Apache Cassandra™ 3.11 and includes all production-certified changes from earlier versions.

DSE 6.0.6 Important bug fix

  • DSE 5.0 SSTables with UDTs are corrupted in DSE 5.1, DSE 6.0, and DSE 6.7. (DB-2954, Cassandra-15035)

    If the DSE 5.0.x schema contains user-defined types (UDTs), the SSTable serialization headers are fixed when DSE is started with DSE 6.0.6 or later.

Cassandra enhancements for DSE 6.0.6

DataStax Enterprise 6.0.6 is compatible with Apache Cassandra™ 3.11 and includes all production-certified enhancements from previous releases.

DataStax Enterprise 6.0.6 is compatible with Apache Cassandra™ 3.11 and includes all production-certified enhancements from previous releases.

General upgrade advice for DSE 6.0.6

General upgrade advice for DataStax Enterprise 6.0.6.

DataStax Enterprise 6.0.6 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.6

A list of DataStax Enterprise 6.0.6 production-certified enhancements to TinkerPop 3.2.9.

DataStax Enterprise (DSE) 6.0.6 includes all enhancements from previous DSE releases that are in addition to TinkerPop 3.3.5. See TinkerPop upgrade documentation for all changes.

DSE 6.0.5 release notes

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml

7 February 2019

Table 3. DSE functionality
6.0.5 DSE core 6.0.5 DSE Graph
6.0.5 DSE Analytics 6.0.5 DSE Search
6.0.5 DSEFS

DSE 6.0.5 Components

All components from DSE 6.0.5 are listed. Components that are updated for DSE 6.0.5 are indicated with an asterisk (*).
  • Apache Solr™ 6.0.1.1.2380 *
  • Apache Spark™ 2.2.2.8 *
  • Apache Tomcat® 8.0.53 *
  • DSE Java Driver 1.6.9
  • Key Management Interoperability Protocol (KMIP) 1.7.1e
  • Netty 4.1.13.12.dse *
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.5 with additional production-certified changes *

DSE 6.0.5 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DSE 6.0.5 Highlights

High-value benefits of upgrading to DSE 6.0.5 include these highlights:

DSE Database (DSE core) highlights

Improvements:

  • DSE Metrics Collector aggregates DSE metrics and integrates with existing monitoring solutions to facilitate problem resolution and remediation. (DSP-17319)

Important bug fixes:

  • Fixed resource leak related to streaming operations that affects tiered storage users. Excessive number of TieredRowWriter threads causing java.lang.OutOfMemoryError. (DB-2463)
  • Exception now occurs when user with no permissions returns no rows on restricted table. (DB-2668)
  • Upgraded nodes that still have big-format SSTables from DSE 5.x caused errors during read. (DB-2801)
  • Fixed an issue where heap memory usage seems higher with default file cache settings. (DB-2865)
  • Fixed prepared statement cache issues when using row-level access control (RLAC) permissions. Existing prepared statements were not correctly invalidated. (DB-2867)

DSE Analytics highlights

Upgrade if:
  • DSEFS or AOSS fail to start.
  • You use BYOS with Spark 2.3 or 2.4.
  • You are getting OOM or authentication errors.
  • You use scripts that invoke DSEFS commands and need to handle failures properly.
  • You use dse spark-sql-metastore-migrate with DSE Unified Authentication and internal authentication. (DSP-17632)
  • You want to run the DSEFS auth demo. (DSP-17700)
  • You have DSE 5.0.x with DSEFS client connected to DSE 5.1.x and later DSEFS server. (DSP-17600)
  • You experienced a memory leak in Spark Thrift Server. (DSP-17433)
  • You use DSEFS with listen_on_broadcast_address is true in cassandra.yaml. (DSP-17363)
  • You use DSEFS and listen_address is blank in cassandra.yaml. (DSP-16296)
  • You are moving directories in DSEFS. (DSP-17347)
  • Improve memory handling in AlwaysOn SQL (AOSS) by enabling spark.sql.thriftServer.incrementalCollect to prevent OOM on large result sets. (DSP-17428)

DSE Graph highlights

Upgrade if:
  • You want new JMX operations for graph MBeans. (DSP-15928)
  • You get errors for OLAP traversals after dropping schema elements. (DSP-15884)
  • You have slow gremlin script compilation times. (DSP-14132)
  • You want server side error messages for remote exceptions reported in Gremlin console. (DSP-16375)
  • You occasionally get inconsistent query results. (DSP-18005)
  • Use graph OLAP and want secret tokens redacted in log files. (DSP-18074)
  • You want to build fuzzy-text search indexes on string properties that form part of a vertex label ID. (DSP-17386)

DSE Search highlights

Upgrade if:
  • You want security improvements:
    • Upgrade Apache Commons Compress to prevent Denial Of Service (DoS) vulnerability present in Commons Compress 1.16.1, CVE-2018-11771. (DSP-17019)
    • Critical memory leak and corruption fixes for encrypted indexes. (DSP-17111)
    • Upgrade Apache Tomcat to prevent Denial Of Service (DoS), CVE-2018-1336. (DSP-17303)
  • You index timestamp partition keys. (DSP-17761)
  • You do a lot of reindexing. (DSP-17975)

DSE 6.0.5 Known issue:

  • DSE 5.0 SSTables with UDTs will be corrupted after migrating to DSE 5.1, DSE 6.0, and DSE 6.7. (DB-2954, CASSANDRA-15035)
    Important: If the DSE 5.0.x schema contains user-defined types (UDTs), upgrade to at least DSE 5.1.13, DSE 6.0.6, or DSE 6.7.2. The SSTable serialization headers are fixed when DSE is started with the upgraded versions.

DSE 6.0.5 core

Changes and enhancements:
  • nodetool command changes:
  • Taking a snapshot causes FSError serialization error. (DB-2581)
  • Direct Memory field output of nodetool gcstats includes all allocated off-heap memory. Metrics for native memory are added in org.apache.cassandra.metrics.NativeMemoryMetrics.java. (DB-2796)
  • Batch replay is interrupted and good batches are skipped when a mutation of an unknown table is found. (DB-2855)
  • New environment variable MAX_DIRECT_MEMORY overrides cassandra.yaml value for how much direct memory (NIO direct buffers) that the JVM can use. (DB-2919)
  • Improved encryption key error reporting. (DSP-17723)
Resolved issues:
  • Race condition occurs on bootstrap completion. (DB-1383)
  • Running the nodetool nodesyncservice enable command reports the error NodeSyncRecord constructor assertion failed. (DB-2280)

    Workaround: Before DSE 6.0.5, a restart of DSE resolves the issue so that you can execute the command and enable NodeSync without error.

  • Rebuild should not fail when a keyspace is not replicated to other datacenters. (DB-2301)
  • Repair may skip some ranges due to received range cache. (DB-2432)
  • Read and compaction errors with levelled compaction strategy (LCS). (DB-2446)
  • Excessive number of TieredRowWriter threads causing java.lang.OutOfMemoryError (DB-2463)
  • The nodetool nodesyncservice ratesimulator -deadline-overrides option is not supported. (DB-2468)
  • NullPointerException during compaction on table with TimeWindowCompactionStrategy (TWCS). (DB-2472)
  • Chunk cache can retain data from a previous version of a file, causing restore failures. (DB-2489)
  • LineNumberInference is not failure-safe, not finding the source information can break the request. (DB-2568)
  • Improved error message when Netty Epoll library cannot be loaded. (DB-2579)
  • Prevent potential SSTable corruption with nodetool refresh. (DB-2594)
  • The nodetool gcstats command output incorrectly reports the GC reclaimed metric in bytes, instead of the expected MB. (DB-2598)
  • TypeParser is not thread safe. (DB-2602)
  • STCS, DTCS, TWCS, TMD aren't thread-safe. (DB-2609)
  • Possible corruption in compressed files with uncompressed chunks. (DB-2634)
  • Incorrect order of application of nodetool garbagecollect leaves tombstones that should be deleted. (DB-2658)
  • Exception should occur when user with no permissions returns no rows on restricted table. (DB-2668)
  • DSE does not start with Unable to gossip with any peers error if cross_node_timeout is true. (DB-2670)
  • Memory leak on unfetched continuous paging requests. (DB-2851)
  • Heap memory usage is higher with default file cache settings. (DB-2865)
  • Prepared statement cache issues when using row-level access control (RLAC) permissions. Existing prepared statements are not correctly invalidated. (DB-2867)
  • User-defined aggregates (UDAs) that instantiate user-defined types (UDTs) break after restart. (DB-2771)
  • Upgraded nodes that still have big-format SSTables from DSE 5.x can cause errors during read. (DB-2801)

    Workaround for upgrades from DSE 5.x to DSE versions before 6.0.5 and DSE 6.7.0: Run offline sstableupgrade before starting the upgraded node.

  • Late continuous paging errors can leave unreleased buffers behind. (DB-2862)
  • Security: java-xmlbuilder is vulnerable to XML external entities (XXE). (DSP-13962)
  • dsetool does not work when native_transport_interface is set in cassandra.yaml. (DSP-16796)

    To workaround for earlier versions: Use native_transport_interface_prefer_ipv6 instead.

  • Improve config encryption error reporting for missing system key and unencrypted passwords. (DSP-17480)
  • Fix sstableloader error when internode encryption, client_encryption, and config encryption are enabled. (DSP-17536)
  • sstableloader throws an error if system_info_encryption is enabled in dse.yaml and a table is encrypted. (DSP-17826)

6.0.5 DSE Analytics

Changes and enhancements:

  • Improved error handling: only submission-related error exceptions from Spark submitted applications are wrapped in a Dse Spark Submit Bootstrapper Failed to Submit error. (DSP-16359)
  • Improved error message for dse client-tool when DSE Analytics is not correctly configured. (DSP-17322)
  • AlwaysOn SQL (AOSS) improvements:
    • Provide a way for clients to determine if AlwaysOn SQL (AOSS) is enabled in DSE. (DSP-17180)
    • Improved logging messages with recommended resolutions for AlwaysOn SQL (AOSS). (DSP-17326, DSP-17533)
    • Improved error message for AlwaysOn SQL (AOSS) when the role specified by auth_user does not exist. (DSP-17358)
    • Set default for spark.sql.thriftServer.incrementalCollect to true for AlwaysOn SQL (AOSS). (DSP-17428)
    • Structured Streaming support for (Bring Your Own Spark) BYOS Spark 2.3. (DSP-17593)
Resolved issues:
  • Memory leak in Spark Thrift Server. (DSP-17433)
  • Race condition allows Spark Executor working directories to be removed before stopping those executors. (DSP-15769)
  • Restore DseGraphFrame support in BYOS and spark-dependencies artifacts. Include graph frames python library in graphframe.jar. (DSP-16383)
  • Search optimizations for search analytics Spark SQL queries are applied to a datacenter that no longer has search enabled. Queries launched from a search-enabled datacenter cause search optimizations even when the target datacenter does not have search enabled. (DSP-16465)
  • Unable to get available memory before Spark Workers are registered. (DSP-16790)
  • DirectJoin and Spark Extensions don't work with Pyspark. (DSP-16904)
  • Spark shell error Cannot proxy as a super user occurs when AlwaysOn Spark SQL (AOSS) is running with authentication. (DSP-17200)
  • Spark Connector has hard dependencies on dse-core when running Spark Application tests with dse-connector. (DSP-17232)
  • AlwaysOn SQL (AOSS) should attempt to auto start again on datacenter restart, regardless of the previous status. (DSP-17359)
  • AlwaysOn SQL (AOSS) restart hangs for at least 15 minutes if it cannot start, should fail with meaningful error message. (DSP-17264)
  • Submission in client mode does not support specifying remote jars (DSEFS) for main application resource (main jar) and jars specified with --jars / spark.jars. (DSP-17382)
  • Incorrect conversions in DirectJoin Spark SQL operations for timestamps, UDTs, and collections. (DSP-17444)
  • DSE 5.0.x DSEFS client is not able to list files when connected to 5.1.x (and up) DSEFS server. (DSP-17600)
  • dse spark-sql-metastore-migrate does not work with DSE Unified Authentication and internal authentication. (DSP-17632)
  • SparkContext closing is faulty with significantly increased shutdown time. (DSP-17699)
  • Spark Web UI redirection drops path component. (DSP-17877)

6.0.5 DSEFS

Changes and enhancements:
  • Improved error message when no available chunks are found. (DSP-16623)
  • Add the ability to disable and configure DSEFS internode (node-to-node) authentication. (DSP-17721)
Resolved issues:
  • DSEFS throws exceptions and cannot initialize when listen_address is left blank. (DSP-16296)
  • Timeout issues in DSEFS startup. (DSP-16875)
    Initialization would fail with error messages similar to:
    com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried)
  • DSEFS exit code not set in some cases (DSP-17266)
  • Moving a directory under itself causes data loss and orphan data structures. (DSP-17347)
  • DSEFS does not support listen_on_broadcast_address as configured in cassandra.yaml. (DSP-17363)
  • DSEFS retries resolving corrupted paths. (DSP-17379)
  • DSEFS auth demo does not work. (DSP-17700)

6.0.5 DSE Graph

Changes and enhancements:
  • New tool fixes inconsistencies in graph data that are caused by schema changes, like label delete, or improper data loading. (DSP-15884)
    • DSE Graph Gremlin console: graph.cleanUp()
    • Spark: spark.dseGraph("name").cleanUp()
  • New JMX operations for graph MBeans. (DSP-15928)
    • adjacency-cache.size - adjacency cache size attribute
    • adjacency-cache.clear - operation to clean adjacency cache
    • index-cache.size - vertex cache size attribute
    • index-cache.clear - operation to clean vertex cache
    JMX operations are not cluster-aware. Invoke on each node as appropriate to your environment.

Resolved issues:

  • Properties unattached to vertex show up with null values. (DSP-12300)
  • DSEGF label drop hang with a lot of edges, both ended the same label. (DSP-17096)
  • Graph/Search escaping fixes. (DSP-17216, DSP-17277, DSP-17816)
  • A Gremlin query with search predicate containing \u2028 or \u2029 characters fails. (DSP-17227)
  • Geo.inside predicate with Polygon no longer works on secondary index if JTS is not installed. (DSP-17284)
  • Search indexes on key fields work only with non-tokenized queries. (DSP-17386)
  • g.V().repeat(...).until(...).path() returns incomplete path without edges. (DSP-17933)
  • Graph OLTP: Potential ThreadLocal resource leak. (DSP-17808)
  • Graph OLTP: Slow gremlin script compilation times. (DSP-14132)
  • DseGraphFrame fail to read properties with symbols, like period (.), in names. (DSP-17818)
  • DSE GraphFrame operations cache but do not explicitly uncache. (DSP-17870)
  • Inconsistent results when using gremlin on static data. (DSP-18005)
  • Graph OLAP: secret tokens are unmasked in log files. (DSP-18074)

6.0.5 DSE Search

Changes and enhancements:
  • Large queries with oversize frames no longer cause buffer corruption on the receiver. (DSP-15664)
  • If a client executes a query that results in a shard attempting to send an internode frame larger than the size specified in frame_length_in_mb, the client receive an error message with a message like this:
    Attempted to write a frame of <n> bytes with a maximum frame size of <n> bytes
    

    In earlier versions, the query timed out with no message. Information was provided only as error in the logs.

  • In earlier releases, CQL search queries failed with UTFDataFormatException on very large SELECT clauses and when tables have a very large number of columns. (DSP-17220)

    With this fix, CQL search queries fail with UTFDataFormatException only when SELECT clauses constitute a string larger than 64k UTF-8 encode bytes.

  • New DSE start-up parameter -Ddse.consistent_replace improves LOCAL_QUORUM and QUORUM consistency on new node after node replacement. (DB-1577)
  • Upgrade Apache Commons Compress to prevent Denial Of Service (DoS) vulnerability present in Commons Compress 1.16.1, CVE-2018-11771. (DSP-17019)
  • Requesting a core reindex with dsetool reload_core or REBUILD SEARCH INDEX no longer builds up a queue of reindexing tasks on a node. Instead, a single starting reindexing task handles all reindex requests that are already submitted to that node. (DSP-17045, DSP-13030)
  • Upgrade Apache Tomcat to prevent Denial Of Service (DoS), CVE-2018-1336. (DSP-17303)
  • The calculated value for maxMergeCount is changed to improve indexing performance. (DSP-17597)
    max(max(<maxThreadCount * 2>, <num_tokens * 8>), <maxThreadCount + 5>)
    where num_tokens is the number of token ranges to assign to the virtual node (vnode) as configured in cassandra.yaml.
  • CQL timestamp field can be part of a Solr unique key. (DSP-17761)
Resolved issues:
  • Race condition occurs on bootstrap completion and Solr core fails to initialize during node bootstrap. (DB-1383, DSP-14823)

    Workaround: Restart the node that failed to initialize.

  • Internode protocol can send oversize frames causing buffer corruption on the receiver. (DSP-15664)
  • CQL search queries fail with UTFDataFormatException on very large SELECT clauses. (DSP-17220)

    With this fix, CQL search queries fail with UTFDataFormatException only when SELECT clauses constitute a string larger than 64k UTF-8 encode bytes.

  • java.lang.AssertionError: rtDocValues.maxDoc=5230 maxDoc=4488 error is thrown in the system.log during indexing and reindexing. (DSP-17529)
  • Histogram for snapshot is unsynchronized. (DSP-17308)
  • Unexpected search index errors occur when non-ASCII characters, like the U+3000 (ideographic space) character, are in indexed columns. (DSP-17816, DSP-17961)
  • TextField type in search index schema should be case-sensitive if created when using copyField. (DSP-17817)
  • gf.V().id().next() causes data to get mismatched with properties in legacy DseGraphFrame. (DSP-17979)
  • Loading frozen map columns fails during search read-before-write. (DSP-18073)

Cassandra enhancements for DSE 6.0.5

DataStax Enterprise 6.0.5 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DataStax Enterprise 6.0.5 is compatible with Apache Cassandra™ 3.11 and adds these production-certified enhancements.

  • Pad uncompressed chunks when they would be interpreted as compressed (CASSANDRA-14892)
  • Correct SSTable sorting for garbagecollect and levelled compaction (CASSANDRA-14870)
  • Avoid calling iter.next() in a loop when notifying indexers about range tombstones (CASSANDRA-14794)
  • Fix purging semi-expired RT boundaries in reversed iterators (CASSANDRA-14672)
  • DESC order reads can fail to return the last Unfiltered in the partition (CASSANDRA-14766)
  • Fix corrupted collection deletions for dropped columns in messages (CASSANDRA-14568)
  • Fix corrupted static collection deletions in messages (CASSANDRA-14568)
  • Handle failures in parallelAllSSTableOperation (cleanup/upgradesstables/etc) (CASSANDRA-14657)
  • Improve TokenMetaData cache populating performance avoid long locking (CASSANDRA-14660)
  • Fix static column order for SELECT * wildcard queries (CASSANDRA-14638)
  • sstableloader should use discovered broadcast address to connect intra-cluster (CASSANDRA-14522)
  • Fix reading columns with non-UTF names from schema (CASSANDRA-14468)

General upgrade advice for DSE 6.0.5

General upgrade advice for DataStax Enterprise 6.0.5.

DataStax Enterprise 6.0.5 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.5

A list of DataStax Enterprise 6.0.5 production-certified enhancements to TinkerPop 3.3.6.

DataStax Enterprise (DSE) 6.0.5 includes production-certified enhancements to TinkerPop 3.3.6.

Resolved issues:
  • Masked sensitive configuration options in the KryoShimServiceLoader logs.
  • Fixed a concurrency issue in TraverserSet.

DSE 6.0.4 release notes

8 October 2018

DataStax recommends the latest patch release for most environments.

DSE Database important bug fix

  • Fix wrong offset in size calculation in trie builder. (DB-2477)

6.0.4 Components

All components from DSE 6.0.4 are listed. No components were updated from the previous DSE version.
  • Apache Solr™ 6.0.1.1.2338
  • Apache Spark™ 2.2.2.5
  • Apache Tomcat® 8.0.47
  • DSE Java Driver 1.6.9
  • Key Management Interoperability Protocol (KMIP) 1.7.1e
  • Netty 4.1.13.11.dse
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.3 with additional production-certified changes

DSE 6.0.4 is compatible with Apache Cassandra™ 3.11 and includes all production-certified enhancements from earlier DSE versions.

General upgrade advice for DSE 6.0.4

General upgrade advice for DataStax Enterprise 6.0.4.

DataStax Enterprise 6.0.4 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

DSE 6.0.3 release notes

20 September 2018

Warning: DataStax recommends installing the latest patch release. Due to DB-2477, DataStax does not recommend using DSE 6.0.3 for production.
Table 4. DSE functionality
6.0.3 DSE core 6.0.3 DSE Graph
6.0.3 DSE Analytics 6.0.3 DSE Search
6.0.3 DSEFS

6.0.3 Components

All components from DSE 6.0.3 are listed. Components that are updated for DSE 6.0.3 are indicated with an asterisk (*).
  • Apache Solr™ 6.0.1.1.2338 *
  • Apache Spark™ 2.2.2.5 *
  • Apache Tomcat® 8.0.47
  • DSE Java Driver 1.6.9
  • Key Management Interoperability Protocol (KMIP) 1.7.1e
  • Netty 4.1.13.11.dse
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.3 with additional production-certified changes *

DataStax Enterprise 6.0.3 is compatible with Apache Cassandra™ 3.11 and includes all production-certified enhancements from earlier DSE versions.

DSE 6.0.3 Highlights

High-value benefits of upgrading to DSE 6.0.3 include these highlights:

DSE Database (DSE core) highlights

Improvements:
  • Deleting a static column and adding it back as a non-static column introduces corruption. (DB-1630)
  • NodeSync command line tool only connects over JMX to a single node. (DB-1693)
  • Create a log message when DDL statements are executed. (DB-2383)
Important bug fixes:
  • Authentication cache loading can exhaust native threads. (DB-2248)
  • The nodesync tasks fail with assertion error. (DB-2323)
  • Unexpected behavior change when using row-level permissions with modification conditions like IF EXISTS. (DB-2429)
  • Non-internal users are unable to use permissions granted on CREATE. (DSP-16824)

DSE Analytics highlights

Improvements:
  • Improved security isolates Spark applications. (DSP-16093)
  • Upgrade to Spark 2.2.2. (DSP-16761)
  • Jetty 9.4.1 upgrade addresses security vulnerabilities in Spark dependencies packaged with DSE. (DSP-16893)
  • dse spark-submit kill and status commands support optionally explicit Spark Master IP address. (DSP-16910, DSP-16991)
Important bug fixes:
  • Fixed problems with temporary and data directories for Spark applications. (DSP-15476, DSP-15880)
  • Spark Cassandra Connector method saveToCassandra should not require solr_query column when search is enabled. (DSP-16427)
  • Cassandra streaming sink doesn't work with some sources. (DSP-16635)
  • Metastore can't handle table with 100+ columns. (DSP-16742)
  • Fully qualified paths with resource URL are correctly resolved in Spark structured streaming checkpointing. Backport SPARK-20894. (DSP-16972)

DSEFS highlights

Important bug fixes:
  • Only superusers are allowed to remove corrupted non-empty directories when authentication is enabled for DSEFS. Improved error message when performing an operation on a corrupted path. (DSP-16340)
  • cassandra nonsuperuser gets dsefs AccessDeniedException due to Insufficient permissions. (DSP-16713)
  • DSEFS Hadoop layer doesn't properly translate DSEFS exceptions to Hadoop exceptions in some methods. (DSP-16933)
  • Closing DSEFS client before all issued requests are completed causes unexpected message type: DefaultLastHttpContent error. (DSP-16953)
  • Under high loads, DSEFS reports temporary incorrect state for various files/directories. (DSP-17178)

DSE Graph highlights

  • Aligned query behavior using geo.inside() predicate for polygon search with and without search indexes. (DSP-16108)
  • Added convenience methods for reading graph configuration: getEffectiveAllowScan and getEffectiveSchemaMode. (DSP-16650)
  • Fixed bug where deleting a search index that was defined inside a graph fails. (DSP-16765)
  • Changed default write consistency level (CL) for Graph to LOCAL_QUORUM. (DSP-17140)
    Attention: In earlier DSE versions, the default QUORUM write consistency level (CL) was not appropriate for multi-datacenter production environments.

DSE Search highlights

Improvements:
  • Reduce the number of token filters for distributed searches with vnodes. (DSP-14189)
  • Avoid unnecessary exception and error creation in the Solr query parser. (DSP-17147)
Important bug fixes:
  • Avoid accumulating redundant router state updates during schema disagreement. (DSP-15615)
  • A search enabled node could return different exceptions than a non-search enabled node when a keyspace or table did not exist. (DSP-16834)
  • DSE does not start without appropriate Tomcat JAR scanning exclusions. (DSP-16841)
  • CQL single-pass queries have incorrect results when query is run with primary key and search index schema does not contain all columns in selection. (DSP-16895)
  • Node health score of 1 is not obtainable. Search node gets stuck at 0.00 node health score after replacing a node in a cluster. (DSP-17107)

DSE 6.0.3 Known issues:

  • Wrong offset in size calculation in trie builder. (DB-2477)
  • DSE 5.0 SSTables with UDTs will be corrupted after migrating to DSE 5.1, DSE 6.0, and DSE 6.7. (DB-2954, CASSANDRA-15035)
    Important: If the DSE 5.0.x schema contains user-defined types (UDTs), upgrade to at least DSE 5.1.13, DSE 6.0.6, or DSE 6.7.2. The SSTable serialization headers are fixed when DSE is started with the upgraded versions.

6.0.3 DSE core

Changes and enhancements:
  • Create a log message when DDL statements are executed. (DB-2383)
  • Due to Thread Per Core (TPC) asynchronous request processing architecture, the index_summary_capacity_in_mb and index_summary_resize_interval_in_minutes settings in cassandra.yaml are removed. (DB-2390)
  • Connections on non-serialization errors are not dropped. (DB-2233)
  • NetworkTopologyStrategy warning about unrecognized option at startup. (DB-2235)
  • NodeSync waits to start until all nodes in the cluster are upgraded. (DB-2385)
  • Improved error handling and logging for TDE encryption key management. (DP-15314)
  • DataStax does more extensive testing on OpenJDK 8 due to the end of public updates for Oracle JRE/JDK 8. (DSP-16179)
  • Non-internal users are unable to use permissions granted on CREATE. (DSP-16824)
Resolved issues:
  • NodeSync command line tool only connects over JMX to a single node. (DB-1693)
  • TotalBlockedTasksGauge metric value is computed incorrectly. (DB-2002)
  • Move TWCS message "No compaction necessary for bucket size" to Trace level or NoSpam. (DB-2022)
  • Non-portable syntax (MX4J bash-isms) in cassandra-env.sh broke service scripts. (DB-2123)
  • sstableloader options assume the RPC/native (client) interface is the same as the internode (node-to-node) interface. (DB-2184)
  • The nodesync tasks fail with assertion error. (DB-2323)
  • NodeSync fails on upgraded nodes while a cluster is in a partially upgraded state. (DB-2385)
  • StackOverflowError around IncrementalTrieWriterPageAware#writeRecursive() during compaction. (DB-2364)
  • Compaction strategy instantiation errors don't generate meaningful error messages, instead return only InvocationTargetException. (DB-2404)
  • Unexpected behavior change when using row-level permissions with modification conditions like IF EXISTS. (DB-2429)
  • Authentication cache loading can exhaust native threads. The Spark master node is not able to be elected. (DB-2248)
  • Audit events for CREATE ROLE and ALTER ROLE with incorrect spacing exposes PASSWORD in plain text. (DB-2285)
  • Client warnings are not always propagated via LocalSessionWrapper. (DB-2304)
  • Timestamps inserted with ISO 8601 format are saved with wrong millisecond value. (DB-2312)
  • Compaction fails with IllegalArgumentException: null. (DB-2329)
  • Error out if not all permissions for GRANT/REVOKE/RESTRICT/UNRESTRICT are applicable for a resource. (DB-2373)
  • BulkLoader class exits without printing the stack trace for throwable error. (DB-2377)
  • Unexpected behavior change when using row-level permissions with modification conditions like IF EXISTS. (DB-2429)
  • nodetool describecluster incorrectly shows DseDelegateSnitch instead of the snitch configured in cassandra.yaml. (DSP-16158)
  • Using geo types does not work when memtable allocation type is set to offheap_objects. (DSP-16302)
  • Heap-size calculation is incorrect for RpcCallStatement + SearchIndexStatement. (DSP-16731)
  • The -graph option for the cassandra-stress tool failed on generating the target output html in the JAR file. (DSP-17046)

Known issue:

  • Upgraded nodes that still have big-format SSTables from DSE 5.x can cause errors during read. (DB-2801)

    Workaround for upgrades from DSE 5.x to DSE versions before 6.0.5 and DSE 6.7.0: Run offline sstableupgrade before starting the upgraded node.

6.0.3 DSE Analytics

Changes and enhancements:
  • DSE pyspark libraries are added to PYTHONPATH for dse exec command. Add support for Jupyter integration. (DSP-16797)
  • DSE custom strategies allowed in Spark Structured Streaming. (DSP-16856)
  • dse spark-submit kill and status commands support optionally explicit master address. (DSP-16910, DSP-16991)
  • Address security vulnerabilities in Spark dependencies packaged with DSE. Upgrade Netty to 9.4.11. (DSP-16893)
  • Jetty 9.4.1 upgrade addresses security vulnerabilities in Spark dependencies packaged with DSE. (DSP-16893)
Resolved issues:
  • A Spark application can be registered twice in rare instances. (DSP-15247)
  • Problems with temporary and data directories for Spark applications. (DSP-15476, DSP-15880)
    • DSE client applications, like Spark, will not start if user HOME environment variable is not defined, user home directory does not exist, or the current user does not have write permissions.
    • Temporary data directory for AOSS is /var/log/spark/rdd, the same as the server-side temporary data location for Spark. Configurable with SPARK_EXECUTOR_DIRS environment variable in spark-env.sh.
    • If TMPDIR environment variable is missing, /tmp is set for all DSE apps. If /tmp directory does not exist, it is created with 1777 permissions. If directory creation fails, perform a hard stop.
  • Improved security isolates Spark applications; prevents run_as runner for Spark from running a malicious program. (DSP-16093)
  • Spark Cassandra Connector method saveToCassandra should not require solr_query column when search is enabled. (DSP-16427)
  • Cassandra streaming sink doesn't work with some sources. (DSP-16635)
  • cassandra nonsuperuser gets dsefs AccessDeniedException due to Insufficient permissions. (DSP-16713)
  • DSE Spark logging does not match OSS Spark logging levels. (DSP-16726)
  • Metastore can't handle table with 100+ columns with auto Spark SQL table creation. (DSP-16742)
  • DseDirectJoin and reading from Hive Tables does not work in Spark Structured Streaming. (DSP-16856)
  • Fully qualified paths with resource URL are resolved in Spark structured streaming checkpointing. Backport SPARK-20894. (DSP-16972)
  • AlwaysOn SQL (AOSS) dsefs directory creation does not wait for all operations to finish before closing DSEFS client. (DSP-16997)

6.0.3 DSEFS

Changes and enhancements:
  • Improved error message when performing an operation on a corrupted path. (DSP-16340)
  • Only superusers are able to remove corrupted non-empty directories when authentication is enabled for DSEFS. (DSP-16340)
Resolved issues:
  • 8 ms timeout failure when a data directory is removed. (DSP-16645)
  • In DSEFS shell, listing too many local file system directories in a single session causes a file descriptor leak. (DSP-16657)
  • DSEFS fails to start when there is a table with duration type or other type DSEFS can't understand. (DSP-16825)
  • DSEFS Hadoop layer doesn't properly translate DSEFS exceptions to Hadoop exceptions in some methods. (DSP-16933)
  • Closing DSEFS client before all issued requests are completed causes unexpected message type: DefaultLastHttpContent error. (DSP-16953)
  • Under high loads, DSEFS reports temporary incorrect state for various files/directories. (DSP-17178)

6.0.3 DSE Graph

Changes and enhancements:
  • Maximum evaluation timeout limit is 1094 days. (DSP-16709)
  • Default write consistency level (CL) for Graph is LOCAL_QUORUM. (DSP-17140)
    Attention: In earlier DSE versions, the default QUORUM write consistency level (CL) was not appropriate for multi-datacenter production environments.
Known issue:
  • Point-in-polygon queries no longer work without JTS. (DSP-17284)

    Although point-in-polygon queries previously worked without JTS, the queries used a Cartesian coordinate system implementation that did not understand the dateline. For best results, install JTS. See Spatial queries with polygons require JTS.

Resolved issues:
  • Align query behavior using geo.inside() predicate for polygon search with and without search indexes. (DSP-16108)
  • Avoid looping indefinitely when a thread making internode requests is interrupted while trying to acquire a connection. (DSP-16544)
  • Setting graph.traversal_sources.g.evaluation_timeout breaks graph. (DSP-16709)
  • Deleting a search index that was defined inside a graph fails. (DSP-16765)

6.0.3 DSE Search

Changes and enhancements:
  • Reduce the number of unique token selections for distributed searches with vnodes. (DSP-14189)

    Search load balancing strategies are per search index (per core) and are set with dsetool set_core_property.

  • Log fewer messages at INFO level in TTLIndexRebuildTask. (DSP-15600)
  • Avoid unnecessary exception and error creation in the Solr query parser. (DSP-17147)
Resolved issues:
  • Avoid accumulating redundant router state updates during schema disagreement. (DSP-15615)
  • Should not allow search index rebuild during drain. (DSP-16504)
  • NRT codec is not registered at startup for Solr cores that have switched to RT. (DSP-16663)
  • Dropping search index when index build is in progress can interrupt Solr core closure. (DSP-16774)
  • Exceptions thrown when search is enabled and table is not found in existing keyspace. (DSP-16834)
  • DSE should not start without appropriate Tomcat JAR scanning exclusions. (DSP-16841)
  • CQL single-pass queries have incorrect results when query is run with primary key and search index schema does not contain all columns in selection. (DSP-16895)

    Best practice: For optimal single-pass queries, including queries where solr_query is used with a partition restriction, and queries with partition restrictions and a search predicate, ensure that the columns to SELECT are not indexed in the search index schema.

    Workaround: Since auto-generation indexes all columns by default, you can ensure that the field is not indexed but still returned in a single-pass query. For example, this statement indexes everything except for column c3, and informs the search index schema about column c3 for efficient and correct single-pass queries.
    CREATE SEARCH INDEX ON test_search.abc WITH COLUMNS * { indexed : true }, c3 { indexed : false }; 
  • Node health score of 1 is not obtainable. Search node gets stuck at 0.00 node health score after replacing a node in a cluster. (DSP-17107)

General upgrade advice for DSE 6.0.3

General upgrade advice for DataStax Enterprise 6.0.3.

DataStax Enterprise 6.0.3 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.3

A list of DataStax Enterprise 6.0.3 production-certified enhancements to TinkerPop 3.3.3.

DataStax Enterprise (DSE) 6.0.3 includes TinkerPop 3.3.3 and all enhancements from earlier DSE versions.

DSE 6.0.2 release notes

dse.yaml

The location of the dse.yaml file depends on the type of installation:
Package installations /etc/dse/dse.yaml
Tarball installations installation_location/resources/dse/conf/dse.yaml

19 July 2018

Table 5. DSE functionality
6.0.2 DSE core 6.0.2 DSE Graph
6.0.2 DSE Analytics 6.0.2 DSE Search
6.0.2 DSEFS DataStax Bulk Loader 1.1.0

6.0.2 Components

All components from DSE 6.0.2 are listed. Components that are updated for DSE 6.0.2 are indicated with an asterisk (*).
  • Apache Solr™ 6.0.1.1.2321 *
  • Apache Spark™ 2.2.1.2
  • Apache Tomcat® 8.0.47
  • DSE Java Driver 1.6.5
  • Netty 4.1.13.11.dse
  • Spark Jobserver 0.8.0.45 DSE custom version
  • TinkerPop 3.3.3 with additional production-certified changes *

DataStax Enterprise 6.0.2 is compatible with Apache Cassandra™ 3.11 and includes all production-certified enhancements from earlier DSE versions.

DSE 6.0.2 Highlights

High-value benefits of upgrading to DSE 6.0.2 include these highlights:

DSE Analytics and DSEFS

  • Fixed issue where CassandraConnectionConf creates excessive database connections and reports too many HashedWheelTimer instances. (DSP-16365)

DSE Graph

  • Fixed several edge cases of using search indexes. (DSP-14802, DSP-16292)

DSE Search

  • Search index permissions can be applied at the keyspace level. (DSP-15385)
  • Schemas with stored=true work because stored=true is ignored. The workaround for 6.0.x upgrades with schema.xml fields with “indexed=false, stored=true, docValues=true” is no longer required. (DSP-16392)
  • Minor bug fixes and error handling improvements. (DSP-16435, DSP-16061, DSP-16078)

6.0.2 DSE core

Changes and enhancements:
  • sstableloader supports custom config file locations. (DSP-16092)
  • -d option to create local encryption keys without configuring the directory in dse.yaml. (DSP-15380)
Resolved issues:
  • Show delegated snitch in nodetool describecluster. (DB-2057)
  • Use more precise grep patterns to prevent accidental matches in cassandra-env.sh. (DB-2114)
  • Add missing equality sign to SASI schema snapshot. (DB-2129)
  • For tables using DSE Tiered Storage, nodetool cleanup places cleaned SSTables in the wrong tier. (DB-2173)
  • Support creating system keys before the output directory is configured in dse.yaml. (DSP-15380)
  • Client prepared statements are not populated in system.prepared_statements table. (DSP-15900)
  • Improved compatibility with external tables stored in the DSE Metastore in remote systems. (DSP-16561)

DSE 6.0.2 Known issue:

  • DSE 5.0 SSTables with UDTs will be corrupted after migrating to DSE 5.1, DSE 6.0, and DSE 6.7. (DB-2954, CASSANDRA-15035)
    Important: If the DSE 5.0.x schema contains user-defined types (UDTs), upgrade to at least DSE 5.1.13, DSE 6.0.6, or DSE 6.7.2. The SSTable serialization headers are fixed when DSE is started with the upgraded versions.

6.0.2 DSE Analytics

Changes and enhancements:

  • Apache Hadoop Azure libraries for Hadoop 2.7.1 have been added to the Spark classpath to simplify integration with Microsoft Azure and Microsoft Azure Blob Storage. (DSP-15943)
  • AlwaysOn SQL (AOSS) improvements:
    • AlwaysOn SQL (AOSS) support for enabling Kerberos and SSL at the same time. (DSP-16087)
    • Add 120 seconds wait time so that Spark Master recovery process completes before status check of AlwaysOn SQL (AOSS) app. (DSP-16249)
    • AlwaysOn SQL (AOSS) driver continually runs on a node even when DSE is down. (DSP-16297)
    • AlwaysOn SQL (AOSS) binds to native_transport_address. (DSP-16469)
    • Improved defaults and errors for AlwaysOn SQL (AOSS) workpool. (DSP-16343)
Resolved issues:
  • CassandraConnectionConf creates excessive database connections and reports too many HashedWheelTimer instances. (DSP-16365)
  • Need to disable cluster object JMX metrics report to prevent count exceptions spam in Spark driver log. (DSP-16442)
  • Fixed Spark-Connector dependencies and published SparkBuildExamples. (DSP-16699)

6.0.2 DSEFS

Changes and enhancements:

  • DSEFS operations: chown, chgrp, and chmod support recursive (-R) and verbose (-v) flag. (DSP-14238)
  • Client and internode connection improvements. (DSP-14284, DSP-16065)
  • DSEFS clients close idle connections after 60 seconds, configurable in dse.yaml. (DSP-14284)
  • Improvements to DataSourceInputStream remove possible lockup. (DSP-16409)
    • If the second read is issued after a failed read, it is not blocked forever. The stream is automatically closed on errors, and subsequent reads will fail with IllegalStateException.
    • The timeout message includes information about the underlying DataSource object.
    • No more reads are issued to the underlying DataSource after it reports hasMoreData = false.
    • The read loop has been simplified to properly move to the next buffer if the requested number of bytes hasn't been delivered yet.
    • Empty buffer returned from the DataSource when hasMoreData = true is not treated as an EOF. The read method validates offset and length arguments.
  • Security improvement: DSEFS uses an isolated native memory pool for file data and metadata sent between nodes. This isolation makes it harder to exploit potential memory management bugs. (DSP-16492)

Resolved issues:

  • DSEFS silently fails when TCP port 5599 is not open between nodes. (DSP-16101)

6.0.2 DSE Graph

Changes and enhancements:
  • Vertices and vertex properties created or modified with graphframes respect TTL as defined in the schema. In earlier versions, vertices and vertex properties had no TTL. Edges created or modified with graphframes continue to have no TTL. (DSP-15555)
  • Improved Gremlin console authentication configuration. (DSP-9905)
Resolved issues:
  • 0 (zero) is not treated as unlimited abort of max num errors. (DGL-307)
  • Search indexes are broken for multi cardinality properties. (DSP-14802)
  • DGF interceptor does not take into account GraphStep parameters with g.V(id) queries. (DSP-16172)
  • The clause LIMIT does not work in a graph traversal with search predicate TOKEN, returning only a subset of expected results. (DSP-16292)

6.0.2 DSE Search

Changes and enhancements:

  • The node health option uptime_ramp_up_period_seconds default value in dse.yaml is reduced to 3 hours (10800 seconds). (DSP-15752)
  • CQL solr_query supports Solr facet heatmaps. (DSP-16404)
  • Improved handling of asynchronous I/O timeouts during search read-before-write. (DSP-16061)
  • Schemas with stored=true work because stored=true is ignored. (DSP-16392)
  • Use monotonically increasing time source for search query execution latency calculation. (DSP-16435)

Resolved issues:

  • Search index permissions can be applied at keyspace level. (DSP-15835)
  • The encryptors thread cache in ThreadLocalIndexEncryptionConfiguration leaves entries in the cache. (DSP-16078)
  • Classpath conflict between Lucene and SASI versions of Snowball. (DSP-16116)
  • Indexing fails if fields have 'indexed=false', 'stored=true', and `docValues=true'. (DSP-16392)

DataStax Bulk Loader 1.1.0

Changes and enhancements:

General upgrade advice for DSE 6.0.2

General upgrade advice for DataStax Enterprise 6.0.2.

DataStax Enterprise 6.0.2 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.2

A list of DataStax Enterprise 6.0.2 production-certified enhancements to TinkerPop 3.3.3.

DataStax Enterprise (DSE) 6.0.2 includes these production-certified enhancements to TinkerPop 3.3.3:

  • Implemented TraversalSelectStep which allows to select() runtime-generated keys.
  • Coerced BulkSet to g:List in GraphSON 3.0.
  • Deprecated CredentialsGraph DSL in favor of CredentialsTraversalDsl which uses the recommended method for Gremlin DSL development.
  • Allowed iterate() to be called after profile().
  • Fixed regression issue where the HTTPChannelizer doesn’t instantiate the specified AuthenticationHandler.
  • Defaulted GLV tests for gremlin-python to run for GraphSON 3.0.
  • Fixed a bug with Tree serialization in GraphSON 3.0.
  • In gremlin-python, the GraphSON 3.0 g:Set type is now deserialized to List.

DSE 6.0.1 release notes

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml

5 June 2018

Table 6. DSE functionality
6.0.1 DSE core 6.0.1 DSE Graph
6.0.1 DSE Analytics 6.0.1 DSE Search
6.0.1 DSEFS DataStax Bulk Loader 1.0.2

6.0.1 Components

All components from DSE 6.0.1 are listed. Components that are updated for DSE 6.0.1 are indicated with an asterisk (*).
  • Apache Solr™ 6.0.1.1.2295 *
  • Apache Spark™ 2.2.1.2 *
  • Apache Tomcat® 8.0.47
  • DSE Java Driver 1.6.5
  • Netty 4.1.13.11.dse
  • Spark Jobserver 0.8.0.45 DSE custom version *
  • TinkerPop 3.3.3 with additional production-certified changes *

DSE 6.0.1 is compatible with Apache Cassandra™ 3.11 and adds additional production-certified enhancements.

DSE 6.0.1 Highlights

High-value benefits of upgrading to DSE 6.0.1 include these highlights:

DataStax Enterprise core

  • Fix binding JMX to any address. (DB-2081)
  • DataStax Bulk Loader 1.0.2 is bundled with DSE 6.0.1. (DSP-16206)

DSE Analytics and DSEFS

  • Upgrade to Spark 2.2.1 for bug fixes.
  • Fixed issue where multiple Spark Masters can be started on the same machine. (DSP-15636)
  • Improved Spark Master discovery and reliability. (DSP-15801, DSP-14405)
  • Improved AlwaysOn SQL (AOSS) startup reliability. (DSP-15871, DSP-15468, DSP-15695, DSP-15839)
  • Resolved the missing /tmp directory in DSEFS after fresh cluster installation. (DSP-16058)
  • Fixed handling of Parquet files with partitions. (DSP-16067)
  • Fixed the HashedWheelTimer leak in Spark Connector that affected BYOS. (DSP-15569)

DSE Search

  • Fix for the known issue that prevented using TTL (time-to-live) with DSE Search live indexing (RT indexing). (DSP-16038, DSP-14216)
  • Addresses security vulnerabilities in libraries packaged with DSE. (DSP-15978)
  • Fix for using faceting with non-zero offsets. (DSP-15946)
  • Fix for ORDER BY clauses in native CQL syntax. (DSP-16064)

DSE 6.0.1 Known issues:

  • DSE 5.0 SSTables with UDTs will be corrupted after migrating to DSE 5.1, DSE 6.0, and DSE 6.7. (DB-2954, CASSANDRA-15035)
    Important: If the DSE 5.0.x schema contains user-defined types (UDTs), upgrade to at least DSE 5.1.13, DSE 6.0.6, or DSE 6.7.2. The SSTable serialization headers are fixed when DSE is started with the upgraded versions.
  • dsetool does not work when native_transport_interface is set in cassandra.yaml. (DSP-16796)

    To workaround: Use native_transport_interface_prefer_ipv6 instead.

6.0.1 DSE core

Changes and enhancements:
  • Improved NodeSync usability with secure environments. (DB-2034)
  • sstableloader supports custom config file locations. (DSP-16092)
  • LDAP tuning parameters allow all LDAP connection pool options to be set. (DSP-15948)
Resolved issues:
  • Use the indexed item type as backing table key validator of 2i on collections. (DB-1121)
  • Add getConcurrentCompactors to JMX in order to avoid loading DatabaseDescriptor to check its value in nodetool. (DB-1730)
  • Send a final error message when a continuous paging session is cancelled. (DB-1798)
  • Ignore empty counter cells on digest calculation. (DB-1881)
  • Apply view batchlog mutation parallel with local view mutations. (DB-1900)
  • Use same IO queue depth as Linux scheduler and advise against overriding it. (DB-1909)
  • Fix startup error message rejecting COMPACT STORAGE after upgrade. (DB-1916)
  • Improve user warnings on startup when libaio package is not installed. (DB-1917)
  • Avoid copy-on-heap when flushing. (DB-1916)
  • Set MX4J_ADDRESS to 127.0.0.1 if not explicitly set. (DB-1950)
  • Prevent OOM due to OutboundTcpConnection backlog by dropping request messages after the queue becomes too large. (DB-2001)
  • Fix exception in trace log messages of non-frozen user types. (DB-2005)
  • Limit max cached direct buffer on NIO to 1 MB. (DB-2028)
  • Reusing table ID with CREATE TABLE causes failure on restart. (DB-2032)
  • BulkLoader class exits without printing the stack trace. (DB-2033)
  • Fix binding JMX to any address. (DB-2081)
  • sstableloader does not decrypt passwords using config encryption in DSE. (DSP-13492)
  • dse client-tool help doesn't work if ~/.dserc file exists. (DSP-15869)

6.0.1 DSE Analytics

  • The Spark Jobserver demo has an incorrect version for the Spark Jobserver API. (DSP-15832)

    Workaround: In the demo's gradle.properties file, change the version from 0.6.2 to 0.6.2.238.

Changes and enhancements:
  • Decreased the number of exceptions logged during master move from node to node. (DSP-14405)
  • When querying remote cluster from Spark job, connector does not route requests to data replicas. (DSP-15202)
  • Long CassandraRDD.where clauses throw StackOverflow exceptions. (DSP-15438)
  • AlwaysOn SQL dependency on JPS is removed. The jps_directory entry in dse.yaml is removed. (DSP-15468)
  • Improved AlwaysOn SQL configuration. (DSP-15734)
  • Improved security for Spark JobServer. All uploaded JARs, temporary files, and logs are created under the current user's home directory: ~/.spark-jobserver. (DSP-15832)
  • Improved process scanning for AlwaysOn SQL driver. (DSP-15839)
  • In Portfolio demo, pricer is no longer required to be run with sudo. (DSP-15970)
  • Scala 2.10 in BYOS is no longer supported. (DSP-15999)
  • Improved validation for authentication configuration for AlwaysOn SQL. (DSP-16018)
  • Optimize memoizing converters for UDTs. (DSP-16121)
  • During misconfigured cluster bootstrap, the AlwaysOn SqlServer does not start due to missing /tmp/hive directory in DSEFS. (DSP-16058)
Resolved issues:
  • A shard request timeout caused an assertion error from Lucene getNumericDocValues in the log. (DSP-14216)
  • Multiple Spark Masters can be started on the same machine. (DSP-15636)
  • Do not start AlwaysOn SQL until Spark Master is ready. (DSP-15695)
  • DSE client tool returns wrong Spark Master address. (DSP-15801)
  • In some situations, AlwaysOn SQL cannot start unless DSE node is restarted. (DSP-15871)
  • Portfolio demo does not work on package installs. (DSP-15970)
  • Java driver in Spark Connector uses daemon threads to prevent shutdown hooks from being blocked by driver thread pools. (DSP-16051)
  • dse client-tool spark sql-schema --all exports definitions for solr_admin keyspace. (DSP-16073).
  • HashedWheelTimer leak in Spark Connector, affecting BYOS. (DSP-15569)

6.0.1 DSEFS

Resolved issues:
  • Can't quote file patterns in DSEFS shell. (DSP-15550)

6.0.1 DSE Graph

Changes and enhancements:
  • DseGraphFrame performance improvement reduces number of joins for count() and other id only queries. (DSP-15554)
  • Performance improvements for traversal execution with Fluent API and script-based executions. (DSP-15686)
Resolved issues:
  • edge_threads and vertex_threads can end up being 0. (DGL-305)
  • When using graph frames, cannot upload edges when ids for vertices are complex non-text ids. (DSP-15614)
  • CassandraHiveMetastore is prevented from adding multiple partitions for file-based data sources. Fixes MSCK REPAIR TABLE command. (DSP-16067)

6.0.1 DSE Search

Changes and enhancements:
Resolved issues:
  • Offline sstable tools fail is DSE Search index is present on a table. (DSP-15628)
  • HTTP read on solr_stress doesn't inject random data into placeholders. (DSP-15727)
  • Servlet container shutdown (Tomcat) prematurely stops logback context. (DSP-15807)
  • ERROR 500 on distributed http json.facet with non-zero offset. (DSP-15946)
  • Search index TTL Expiration thread loops without effect with live indexing (RT indexing). (DSP-16038)
  • Search incorrectly assumes only single-row ORDER BY clauses on first clustering key. (DSP-16064)

DataStax Bulk Loader 1.0.2

  • DataStax Bulk Loader 1.0.2 is bundled with DSE 6.0.1. (DSP-16206)
DataStax recommends using the latest DataStax Bulk Loader 1.2.0 For details, see DataStax Bulk Loader.

Cassandra enhancements for DSE 6.0.1

DataStax Enterprise 6.0.1 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DataStax Enterprise 6.0.1 is compatible with Apache Cassandra™ 3.11 and adds these production-certified changes:

  • cassandra-stress throws NPE if insert section isn't specified in user profile (CASSSANDRA-14426)
  • nodetool listsnapshots is missing local system keyspace snapshots (CASSANDRA-14381)
  • Remove string formatting lines from BufferPool hot path (CASSANDRA-14416)
  • Detect OpenJDK jvm type and architecture (CASSANDRA-12793)
  • Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271)
  • Allow existing nodes to use all peers in shadow round (CASSANDRA-13851)
  • Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299)
  • Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370)
  • CQL fromJson(null) throws NullPointerException (CASSANDRA-13891)
  • Serialize empty buffer as empty string for json output format (CASSANDRA-14245)
  • Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418)
  • Fix progress stats and units in compactionstats (CASSANDRA-12244)
  • Better handle missing partition columns in system_schema.columns (CASSANDRA-14379)
  • Deprecate background repair and probablistic read_repair_chance table options (CASSANDRA-13910)
  • Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740)
  • Add missed CQL keywords to documentation (CASSANDRA-14359)
  • Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310)
  • Handle all exceptions when opening sstables (CASSANDRA-14202)
  • Handle incompletely written hint descriptors during startup (CASSANDRA-14080)
  • Handle repeat open bound from SRP in read repair (CASSANDRA-14330)
  • CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751)
  • Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743)
  • Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286)
  • CQL fromJson(null) throws NullPointerException (CASSANDRA-13891)
  • Check checksum before decompressing data (CASSANDRA-14284)

General upgrade advice DSE 6.0.1

General upgrade advice for DataStax Enterprise 6.0.1.

DataStax Enterprise 6.0.1 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for 6.0.1

A list of DataStax Enterprise 6.0.1 production-certified enhancements to TinkerPop3.3.3.

DataStax Enterprise (DSE) 6.0.1 includes these production-certified enhancements to TinkerPop 3.3.3:
  • Performance enhancement to Bytecode deserialization. (TINKERPOP-1936)
  • Path history isn't preserved for keys in mutations. (TINKERPOP-1947)
  • Traversal construction performance enhancements (TINKERPOP-1950)
  • Bump to Groovy 2.4.15 - resolves a Groovy bug preventing Lambda creation in GLVs in some cases. (TINKERPOP-1953)

DSE 6.0.0 release notes

dse.yaml

The location of the dse.yaml file depends on the type of installation:
Package installations /etc/dse/dse.yaml
Tarball installations installation_location/resources/dse/conf/dse.yaml

logback.xml

The location of the logback.xml file depends on the type of installation:
Package installations /etc/dse/cassandra/logback.xml
Tarball installations installation_location/resources/cassandra/conf/logback.xml

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml

17 April 2018

Table 7. DSE functionality
6.0.0 DSE core 6.0.0 DSE Graph
6.0.0 DSE Advanced Replication 6.0.0 DSE Search
6.0.0 DSE Analytics 6.0.0 DataStax Studio
6.0.0 DSEFS DataStax Bulk Loader 1.0.1
Warning: DSE 6.0.0 Do not use TTL (time-to-live) with DSE Search live indexing (RT indexing). To use these features together, upgrade to DSE 6.0.1. (DSP-16038)

6.0.0 Components

  • Apache Solr™ 6.0.1.1.2234
  • Apache Spark™ 2.2.0.14
  • Apache Tomcat® 8.0.47
  • DSE Java Driver 1.6.5
  • Netty 4.1.13.11.dse
  • Spark Jobserver 0.8.0.44 (DSE custom version)
  • TinkerPop 3.3.2 with additional production-certified changes

DSE 6.0 is compatible with Apache Cassandra™ 3.11 and adds additional production-certified enhancements.

6.0 New features

See DataStax Enterprise 6.0 new features.

6.0.0 DSE core

Experimental features. These features are experimental and are not supported for production:
Known issues:
  • sstableloader incorrectly detects keyspace when working with snapshots. (DB-2649)
    Workaround: create a directory that matches the keyspace name, and then create symbolic links into that directory from snapshot directory with name of the destination table. For example:
    mkdir -p /var/tmp/keyspace1
    ln -s <path>/cassandra/data/keyspace1/standard1-0e65b961deb311e88daf5581c30c2cd4/snapshots/data-load /var/tmp/keyspace1/standard1
  • DSE 5.0 SSTables with UDTs will be corrupted after migrating to DSE 5.1, DSE 6.0, and DSE 6.7. (DB-2954, CASSANDRA-15035)
    Important: If the DSE 5.0.x schema contains user-defined types (UDTs), upgrade to at least DSE 5.1.13, DSE 6.0.6, or DSE 6.7.2. The SSTable serialization headers are fixed when DSE is started with the upgraded versions.
  • DSE 6.0 will not start with OpsCenter 6.1 installed. OpsCenter 6.5 is required for managing DSE 6.0 clusters. See DataStax OpsCenter compatibility with DSE. (DSP-15996)

Changes and enhancements:

Important: Support for Thrift-compatible tables (COMPACT STORAGE) is dropped. Before upgrading to DSE 6.0, you must migrate all tables that have COMPACT STORAGE to CQL table format.

Upgrades from DSE 5.0.x or DSE 5.1.x with Thrift-compatible tables require DSE 5.1.6 or later or DSE 5.0.12 or later.

  • For TWCS, flush to separate SSTables based on write time. (DB-42)
  • Allow to aggregate by time intervals. Allow aggregates in GROUP BY results. (DB-75)
  • Allow user-defined functions (UDFs) within GROUP BY clause and allow non-deterministic UDFs within GROUP BY clause. New CQL keywords (DETERMINISTIC and MONOTONIC). The cassandra.yaml file enable_user_defined_functions_threads option has no changes to default behavior of true; set to false to use UDFs in GROUP BY clauses. (DB-672)
  • Improved architecture with Thread Per Core (TPC) asynchronous read and write paths. (DB-707)

    Observable metrics with nodetool tpstats.

  • New options in cassandra.yaml. (DB-111, DB-707, DB-945, DB-1381, DB-1656)
  • Removed options in cassandra.yaml:
    • buffer_pool_use_heap_if_exhausted, concurrent_counter_writes, concurrent_materialized_view_writes, concurrent_reads, concurrent_writes, credentials_update_interval_in_ms, credentials_validity_in_ms, max_client_wait_time_ms, max_threads, native_transport_max_threads, otc_backlog_expiration_interval_ms, request_scheduler.
    • Deprecated options:
      Deprecated options Replaced with
      rpc_address native_transport_address
      rpc_interface native_transport_interface
      rpc_interface_prefer_ipv6 native_transport_interface_prefer_ipv6
      rpc_port native_transport_port
      broadcast_rpc_address native_transport_broadcast_address
      rpc_keepalive native_transport_keepalive
  • Default value changes in cassandra.yaml:
  • Legacy auth tables no longer supported. (DB-897)
  • Authentication and authorization improvements. RLAC (setting row-level permissions) speed is improved. (DB-909)
  • Incremental repair is opt-in. (DB-1126)
  • JMX exposed metrics for external dropped messages include COUNTER_MUTATION, MUTATION, VIEW_MUTATION, RANGE_SLICE, READ, READ_REPAIR, LWT, HINTS, TRUNCATE, SNAPSHOT, SCHEMA, REPAIR, OTHER. (DB-1127)
  • By default, enable heap histogram logging on OutOfMemoryError. To disable, set the cassandra.printHeapHistogramOnOutOfMemoryError system property to false. (DB-1498)
  • After upgrade is complete and all nodes are on DSE 6.0 and the required schema change occurs, authorization (CassandraAuthorizer) and audit logging (CassandraAuditWriter) enable the use of new columns. (DB-1597)
  • Automatic fallback of GossipingPropertyFileSnitch to PropertyFileSnitch (cassandra-topology.properties) is disabled by default and can be enabled by using the -Dcassandra.gpfs.enable_pfs_compatibility_mode=true startup flag. (DB-1663)
  • Improved messages when mixing mutually exclusive YAML properties. (DB-1719)
  • Background read-repair. (DB-1771)
  • Authentication filters used in DSE Search moved to DSE core. (DSP-12531)
  • The DataStax Installer is no longer supported. To upgrade from earlier versions that used the DataStax Installer, see Upgrading to DSE 6.0 from DataStax Installer installations. For new installations, use a supported installation method. (DSP-13640)
  • Improved authentication and security. (DSP-14173)
    Supporting changes:
    • Allow to grant/revoke multiple permissions in one statement. (DB-792)
    • Database administrators can manage role permissions without having access to the data. (DB-757)
    • Filter rows from system keyspaces and system_schema tables based on user permissions. New system_keyspaces_filtering option in cassandra.yaml returns information based on user access to keyspaces. (DB-404)
    • Removed cassandra.yaml options credentials_validity_in_ms and credentials_update_interval_in_ms. For upgrade impact, see Upgrading from DataStax Enterprise 5.1 to 6.0. (DB-909)
    • Warn when the cassandra superuser logs in. (DB-104)
    • New metric for replayed batchlogs and trace-level logging include the age of the replayed batchlog. (DB-1314)
    • Decimals with a scale > 100 are no longer converted to a plain string to prevent DecimalSerializer.toString() being used as an attack vector. (DB-1848)
    • Auditing by role: new dse.yaml audit options included_roles and excluded_roles. (DSP-15733)
  • libaio package dependency for DataStax Enterprise 6.0 installations on RHEL-based systems using Yum and on Debian-based systems using APT install. For optimal performance in tarball installations, DataStax recommends installing the libaio package. (DSP-14228)
  • DSE performance objects metrics changes in tables dse_perf.node_snapshot, dse_perf.cluster_snapshot, and dse_perf.dc_snapshot. (DSP-14413)
    • Metrics are populated in two new columns: background_io_pending and hints_pending.
    • Metrics are not populated, -1 is written for columns: read_requests_pending, write_requests_pending, completed_mutations, and replicate_on_write_tasks_pending.
  • The default number of threads used by performance objects increased from 1 to 4. Upgrade restrictions apply. (DSP-14515)
  • All tables are created without COMPACT STORAGE. (DSP-14735)
  • Support for Thrift-compatible tables (COMPACT STORAGE) is dropped. Before upgrading, migrate all tables that have COMPACT STORAGE to CQL table format. DSE 6.0 will not start if COMPACT STORAGE tables are present. See Upgrading from DSE 5.1.x or Upgrading from DSE 5.0.x. (DSP-14839)
  • The minimum supported version of Oracle Java SE Runtime Environment 8 (JDK) is 1.8u151. (DSP-14818)
  • sstabledump supports the -l option to output each partition as its own JSON object. (DSP-15079)
  • Audit improvements, new and changed filtering event categories. (DSP-15724)
  • Upgrades to OpsCenter 6.5 or later are required before starting DSE 6.0. DataStax recommends upgrading to the latest OpsCenter version that supports your DSE version. Check the compatibility page for your products. (DSP-15996)
Resolved issues:
  • Warn when the cassandra superuser logs in. (DB-104)
  • Prevent multiple serializations of mutation. (DB-370)
  • Internal implementation of paging by bytes. (DB-414)
  • Connection refused should be logged less frequently. (DB-455)
  • Refactor messaging service code. (DB-497)
  • Change protocol to allow sending keyspace independent of query string. (DB-600)
  • Add result set metadata to prepared statement MD5 hash calculation. (DB-608)
  • Add DSE columns to system tables. (DB-716)
    system.peers:
    dse_version text,
    graph boolean,
    server_id text,
    workload text,
    workloads frozen<set<text>>
    
    system.local:
    dse_version text,
    graph boolean,
    server_id text,
    workload text,
    workloads frozen<set<text>>
  • Fix LWT asserts for immutable TableMetadat.a (DB-728)
  • MigrationManager should use toDebugString() when logging TableMetadata. (DB-739)
  • Create administrator roles who can carry out everyday administrative tasks without having unnecessary access to data. (DB-757)
  • When repairing Paxos commits, only block on nodes are being repaired. (DB-761)
  • Allow to grant/revoke multiple permissions in one statement (DB-792)
  • SystemKeyspace.snapshotOnVersionChange() never called in production code. (DB-797)
  • Error in counting iterated SSTables when choosing whether to defrag in timestamp ordered path. (DB-1018)
  • Check for mismatched versions when answering schema pulls. (DB-1026)
  • Expose ports (storage, native protocol, JMX) in system local and peers tables. (DB-1040)
  • Rename ITrigger interface method from augment to augmentNonBlocking. (DB-1046)
  • Load mapped buffer into physical memory after mlocking it for MemoryOnlyStrategy. (DB-1052)
  • New STARTUP message parameters identify clients. (DB-1054)
  • Emit client warning when a GRANT/REVOKE/RESTRICT/UNRESTRICT command has no effect. (DB-1083)
  • Update bundled Python driver to 2.2.0.post0-d075d57. (DB-1152)
  • Forbid advancing KeyScanningIterator before exhausting or closing the current iterator. (DB-1199)
  • Ensure that empty clusterings with kind==CLUSTERING are Clustering.EMPTY. (DB-1248)
  • New nodetool abortrebuild command stops a currently running rebuild operation. (DB-1234)
  • Batchlog replays do not leverage remote coordinators. (DB-1337)
  • Avoid copying EMPTY_STATIC_ROW to heap again with offheap memtable. (DB-1375)
  • Allow DiskBoundaryManager to cache different directories. (DB-1454)
  • Abort repair when there is only one node. (DB-1511)
  • OutOfMemory during view update. (DB-1493)
  • Drop response on view lock acquisition timeout and add ViewLockAcquisitionTimeouts metric. (DB-1522)
  • Handle race condition on dropping keyspace and opening keyspace. (DB-1570)
  • The JVM version check in conf/cassandra-env.sh does not work. (DB-1882)
  • dsetool ring prints ERROR when data_file_directories is removed from cassandra.yaml. (DSP-13547)
  • Driver: Jackson-databind is vulnerable to remote code execution (RCE) attacks. (DSP-13498)
  • LDAP library issue. (DSP-15927)

6.0.0 DSE Advanced Replication

Changes and enhancements:
  • Support for DSE Advanced Replication V1 is removed. For V1 installations, you must first upgrade to DSE 5.1.x and migrate your DSE Advanced Replication to V2, and then upgrade to DSE 6.0. (DSP-13376)
  • Enhanced CLI security prevents injection attacks and sanitizes and validates the command line inputs. (DSP-13682)
Resolved issues:
  • Improve logging on unsupported operation failure and remove the failed mutation from replog. (DSP-15043)
  • Channel creation fails with NPE when using mixed case destination name. (DSP-15538)

6.0.0 DSE Analytics

Experimental features. These features are experimental and are not supported for production:
Known issues:
  • DSE Analytics: Additional configuration is required when enabling context-per-jvm in the Spark Jobserver. (DSP-15163)
Changes and enhancements:
  • Previously deprecated environment variables, including SPARK_CLASSPATH, are removed in Spark 2.2.0. (DSP-8379)
  • AlwaysOn SQL service, a HA (highly available) Spark SQL Thrift server. (DSP-10996)
    • JPS is an option required for nodes with AlwaysON SQL enabled.
    • The spark_config_settings and hive_config_settings are removed from dse.yaml. The configuration is provided in the spark-alwayson-sql.conf file in DSEHOME/resources/spark/conf with the same default contents as DSEHOME/resources/spark/conf/spark-defaults.conf. (DSP-15837)
  • Cassandra File System (CFS) is removed. Use DSEFS instead. Before upgrading to DSE 6.0, remove CFS keyspaces. See the From CFS to DSEFS dev blog post. (DSP-12470)
  • Optimization for SearchAnalytics with SELECT COUNT(*) and no predicates. (DSP-12669)
  • Authenticate JDBC users to Spark SQL Thrift Server. Queries that are executed during JDBC session are run as the user who authenticated through JDBC. (DSP-13395)
  • Solr optimization is automatic; spark.sql.dse.solr.enabled is deprecated, use spark.sql.dse.search.enableOptimization instead. (DSP-13398)
  • Optimization for SearchAnalytics with SELECT COUNT(*) and no predicates. (DSP-13398)
  • dse spark-beeline command is removed, use dse beeline instead. (DSP-13468)
  • cfs-stress tool is replaced by fs-stress tool. (DSP-13549)
  • Encryption for data stored on the server and encryption of Spark spill files is supported. (DSP-13841)
  • Improved security with Spark. (DSP-13991)
  • Spark local applications no longer use /var/lib/spark/rdd, instead configure and use .sparkdirectory for processes started by the user. (DSP-14380)
  • Input metrics are not thread-safe and are not used properly in CassandraJoinRDD and CassandraLeftJoinRDD. (DSP-14569)
  • AlwaysOn SQL workpool option adds high availability (HA) for the JDBC or ODBC connections for analytics node. (DSP-14719)
  • CFS is removed. Before upgrade, move HiveMetaStore from CFS to DSEFS and update URL references. (DSP-14831)
  • Include SPARK-21494 to use correct app id when authenticating to external service. (DSP-14140)
  • Upgrade to DSE 6.0 must be complete on all nodes in the cluster before Spark Worker and Spark Master will start. (DSP-14735)
  • Spark Cassandra Connector in DSE 6.0.0, has the following changes:
    • Changes to default values: spark.output.concurrent.writes: 100, spark.task.maxFailures: 10 (DSP-15164)
    • spark.cassandra.connection.connections_per_executor_max is removed; use new properties spark.cassandra.connection.local_connections_per_executor, spark.cassandra.connection.remote_connections_per_executor_min, and spark.cassandra.connection.remote_connections_per_executor_max. (DSP-15193
    • All Spark-related parameters are now camelCase. Parameters are case-sensitive. The snake_versions are automatically translated to the camelCaseVersions except when the parameters are used as table options. In SparkSQL and with spark.read.options(...), the parameters are case-insensitive because of internal SQL implementation.
    • The DSE artifact is com.datastax.dse : spark-connector: 6.0.0.
    • The DseSparkDependencies JAR is still required. (DSP-15694)
  • Use NodeSync (continuous repair) and LOCAL_QUORUM for reading from Spark recovery storage. (DSP-15219)
    Supporting changes:
    • Spark Master will not start until LOCAL_QUORUM is achieved for dse_analytics keyspace.
    • Spark Master recovery data is first attempted to be updated with LOCAL_QUORUM, and if that fails, then attempt with LOCAL_ONE. Recovery data are always queried with LOCAL_QUORUM (unlike previous versions of DSE where we used LOCAL_ONE)
    • DSE Analytics internal data moved from spark_system to dse_analytics keyspace.
    Note: DataStax strongly recommends enabling NodeSync for continuous repair on all tables in the dse_analytics keyspace. NodeSync is required on the rm_shared_data keyspace that stores Spark recovery information.
Resolved issues:
  • DSE does not work with Spark Crypto based encryption. (DSP-14140)

6.0.0 DSEFS

Changes and enhancements:
  • Wildcard characters are supported in DSEFS shell commands. (DSP-10583)
  • DSEFS should support all DSE authentication schemes. (DSP-12956)
  • Improved authorization security sets the default permission to 755 for directories and 644 for files. New DSEFS clusters create the root directory / with 755 permission to prevent non-super users from modifying root content; for example, by using mkdir or put commands. (DSP-13609)
  • Enable SSL for DSEFS encryption. (DSP-13771)
  • HTTP communication logging level changed from DEBUG to TRACE. (DSP-14400)
  • DSEFS shell history has been moved to ~/.dse/dsefs_history. (DSP-15070)
  • New tool to move hive metastore from CFS to DSEFS and update references.
  • Add echo command to DSEFS shell. (DSP-15446)
  • Changes in dse.yaml for advanced DSEFS settings.
  • Alternatives wildcards are Hadoop compatible. (DSP-15249)

6.0.0 DSE Graph

Known issues:
  • Dropping a property of vertex label with materialized view (MV) indices breaks graph. To drop a property key for a vertex label that has a materialized view index, additional steps are required to prevent data loss or cluster errors. See Dropping graph schema. (DSP-15532)
  • Secondary indexes used for DSE Graph queries have higher latency in DSE 6.0 than in the previous version. (DB-1928)
  • Backup snapshots taken with OpsCenter 6.1 will not load to DSE 6.0. Use the backup service in OpsCenter 6.5 or later. (DSP-15922)
Changes and enhancements:
  • Improved and simplified data batch loading of pre-formatted data. (DGL-235)

    Supporting changes:

    • Schema discovery and schema generation are deprecated. (DGL-246)
    • Standard vertex IDs are deprecated. Use custom vertex IDs instead. (DSP-13485)
    • Standard IDs are deprecated. (DGL-247)
    • Transformations are deprecated. (DGL-248)
  • Schema API changes: all .remove() methods are renamed to .drop() and schema.clear() is renamed to schema.drop(). Schema API supports removing vertex/edge labels and property keys. Unify use of drop | remove | clear in the Schema API and use .drop() everywhere. (DSP-8385, DSP-14150)
  • Include materialized view (MV) indexes in query optimizer only if the MV was fully built. (DSP-10219)
  • DSE profiling of graph statements from the gremlin shell. (DSP-13484)
  • Improve Graph OLAP performance by smart routing query to DseGraphFrame engine with DseGraphFrameInterceptorStrategy. (DSP-13489)
  • OSS TinkerPop 3.3 supports Spark 2.2. (DSP-13632)
  • Partitioned vertex tables (PVT) are removed. (DSP-13676)
  • Graph online analytical processing (OLAP) supports drop() with DseGraphFrame interceptor. Simple queries can be used in drop operations. (DSP-13998)
  • DSE Graphs vertices and edges tables are accessible from SparkSQL and automated to dse_graph SparkSQL database. (DSP-12046)
  • More Gremlin APIs are supported in DSEGraphFrames: dedup, sort, limit, filter, as()/select(), or(). (DSP-13649)
  • Some graph and gremlin_server properties in earlier versions of DSE are no longer required for DSE 6.0. The default settings from the earlier versions of dse.yaml are preserved. These settings were removed from dse.yaml.
    • adjacency_cache_clean_rate
    • adjacency_cache_max_entry_size_in_mb
    • adjacency_cache_size_in_mb
    • gremlin_server_enabled
    • index_cache_clean_rate
    • index_cache_max_entry_size_in_mb
    • schema_mode - default schema_mode is production
    • window_size
    • ids (all vertex ID assignment and partitioning strategy options)
    • various gremlin_server settings
    If these properties exist in the dse.yaml file after upgrading to DSE 6.0, logs display warnings. You can ignore these warnings or modify dse.yaml so that only the required graph system level and gremlin_server properties are present. (DSP-14308)
  • Spark Jobserver is the DSE custom version 0.8.0.44. Applications must use the compatible Spark Jobserver API in DataStax repository. (DSP-14152)
  • Edge label names and property key names allow only [a-zA-Z0-9], underscore, hyphen, and period. The string formatting for vertices with text custom IDs has changed. (DSP-14710)
    Supporting changes (DSP-15167):
    • schema.describe() displays the entire schema, even if it contains illegal names.
    • In-place upgrades allow existing schemas with invalid edge label names and property key names.
    • Schema elements with illegal names cannot be uploaded or added.
  • Invoking toString on a custom vertex ID containing a text property, or on an edge ID that is incident upon a vertex with a custom vertex ID, now returns a value that encloses the text property value in double quotation marks and escapes the value's internal double-quotes. This change protects older formats from irresolvable parsing ambiguity. For example:
    // old
                {~label=v, x=foo}
                {~label=w, x=a"b}
                // new
                {~label=v, x="foo"}
                {~label=w, x="a""b"}
  • Support for math()-step (math) to enable scientific calculator functionality within Gremlin. (DSP-14786)
  • The GraphQueryThreads JMX attribute has been removed. Thread selection occurs with Thread Per Core (TPC) asynchronous request processing architecture. (DSP-15222)
Resolved issues:
  • spark.sql.hive.metastore.barrierPrefixes is set to org.apache.spark.sql.cassandra to properly use CassandraConnector in DSE HiveMetastore implementation. (DSP-14120)
  • Intermittent KryoException: Buffer underflow error when running order by query in OLTP mode. (DSP-12694)
  • DseGraphFrame does not support infix and() and or(). (DSP-12013)
  • Graph could be left in an inconsistent state if a schema migration fails. (DSP-15532)
  • DseGraphFrames properties().count() step return vertex count instead of multi properties count. (DSP-15049)
  • GraphSON parsing error prevents proper type detection under certain conditions. (DSP-14066)

6.0.0 DSE Search

Experimental features. These features are experimental and are not supported for production:
  • The dsetool index_checks use an Apache Lucene® experimental feature.
Known issues:
  • Search index TTL Expiration thread loops without effect with live indexing (RT indexing). (DSP-16038)
Changes and enhancements:
  • Writes are flushed to disk in segments that use a new Lucene codec that does not exist in earlier versions. Unique key values are no longer stored as both docValues and Lucene stored fields. The unique key values are now stored only as docValues in a new codec to store managed fields like Lucene. Downgrades to versions earlier than DSE 6.0 are not supported. (DSP-8465)
  • Document inserts and updates using HTTP are removed. Before upgrading, ensure you are using CQL for all inserts and updates. (DSP-9725).
  • DSENRTCachingDirectoryFactory is removed. Before upgrading, change your search index config. (DSP-10126)
  • The <dataDir> parameter in the solrconfig.xml file is not supported. Instead, follow the steps in Set the location of search indexes. (DSP-13199)
  • Improved performance by early termination of sorting. Ideal for queries that need only a few results returned, from a large number of total matches. (DSP-13253)
  • Native CQL syntax for search queries. (DSP-13411)
    Supporting changes:
    • The default for CQL text type changed from solr.TextField to solr.StrField.
    • Updated wikipedia demo syntax.
    • enable_tokenized_text_copy_fields replaces enable_string_copy_fields in spaceSaving profiles.
    • The spaceSavingNoTextfield resource generation profile is removed.
  • Delete by id is removed. Delete by query no longer accepts wildcard queries, including queries that match all documents (for example, <delete><query>*:*</query></delete>). Instead, use CQL to DELETE by Primary Key or the TRUNCATE command. (DSP-13436)
  • Search index config changes. (DSP-14137)
    • mergePolicy, maxMergeDocs, and mergeFactor are no longer supported.
    • RAM buffer size settings are no longer required in search index config. Global RAM buffer usage in Lucene is governed by the memtable size limits in cassandra.yaml. RAM buffers are counted toward the memtable_heap_space_in_mb.
  • dsetool core_indexing_status --progress option is always true. (DSP-13465)
  • The HTTP API for Solr core management is removed. Instead, use CQL commands for search index management or dsetool search index commands. (DSP-13530)
  • The Tika functionality bundled with Apache Solr is removed. Instead, use the stand-alone Apache Tika project. (DSP-13892)
  • Logging configuration improvements. (DSP-14137)
    • The solrvalidation.log is removed. You can safely remove appender SolrValidationErrorAppender and the logger SolrValidationErrorLogger from logback.xml. Indexing errors manifest as:
      • failures at the coordinator if they represent failures that might succeed at some later point in time using the hint replay mechanism
      • as messages in the system.log if the failures are due to non-recoverable indexing validation errors (for data that is written to the database, but not indexed properly)
  • The DSE custom update request processor (URP) implementation is deprecated. Use the field input/output (FIT) transformer API instead. (DSP-14360)
  • The stored flag in search index schemas is deprecated and is no longer added to auto-generated schemas. If the flag exists in custom schemas, it is ignored. (DSP-14425)
  • Tuning improvements for indexing. (DSP-14785, DSP-14978))
    • Indexing is no longer asynchronous. Document updates are written to the Lucene RAM buffer synchronously with the mutation backing table.
    • See Configuring and tuning indexing performance.
    • The back_pressure_threshold_per_core in dse.yaml affects only index rebuilding/reindexing. DataStax recommends not changing the default value of 1024.
    • These options in dse.yaml are removed:
      • enable_back_pressure_adaptive_nrt_commit
      • max_solr_concurrency_per_core
      • solr_indexing_error_log_options
      DSE 6.0 will not start with these options present.
  • StallMetrics MBean is removed. Before upgrading to DSE 6.0, change operators that use the MBean. (DSP-14860)
  • Optimize Paging when limit is smaller than the page size. (DSP-15207)
Resolved issues includes all bug fixes up to DSE 5.1.8. Additional 6.0.0 fixes:
  • Isolate Solr Resource Loading at startup to the Local DC. (DSP-10911)

DataStax Studio 6.0.0

  • For use with DSE 6.0.x, DataStax Studio 6.0.0 is installed as a standalone tool. (DSP-13999, DSP-15623)

For details, see DataStax Studio 6.0.0 release notes.

DataStax Bulk Loader 1.0.1

  • DataStax Bulk Loader (dsbulk) version 1.0.1 is automatically installed with DataStax Enterprise 6.0.0, and can also be installed as a standalone tool. (DSP-13999, DSP-15623)
For details, see DataStax Bulk Loader 1.0.1 release notes.

Cassandra enhancements for DSE 6.0

DataStax Enterprise 6.0.0 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.

DataStax Enterprise 6.0.0 is compatible with Apache Cassandra™ 3.11 and adds these production-certified enhancements:

  • Add DEFAULT, UNSET, MBEAN and MBEANS to `ReservedKeywords`. (CASSANDRA-14205)
  • Add Unittest for schema migration fix (CASSANDRA-14140)
  • Print correct snitch info from nodetool describecluster (CASSANDRA-13528)
  • Close socket on error during connect on OutboundTcpConnection (CASSANDRA-9630)
  • Enable CDC unittest (CASSANDRA-14141)
  • Split CommitLogStressTest to avoid timeout (CASSANDRA-14143)
  • Improve commit log chain marker updating (CASSANDRA-14108)
  • Fix updating base table rows with TTL not removing view entries (CASSANDRA-14071)
  • Reduce garbage created by DynamicSnitch (CASSANDRA-14091)
  • More frequent commitlog chained markers (CASSANDRA-13987)
  • RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181)
  • More PEP8 compiance for cqlsh (CASSANDRA-14021)
  • Fix support for SuperColumn tables (CASSANDRA-12373)
  • Fix missing original update in TriggerExecutor (CASSANDRA-13894)
  • Improve short read protection performance (CASSANDRA-13794)
  • Fix counter application order in short read protection (CASSANDRA-12872)
  • Fix MV timestamp issues (CASSANDRA-11500)
  • Fix AssertionError in short read protection (CASSANDRA-13747)
  • Gossip thread slows down when using batch commit log (CASSANDRA-12966)
  • Allow native function calls in CQLSSTableWriter (CASSANDRA-12606)
  • Copy session properties on cqlsh.py do_login (CASSANDRA-13847)
  • Fix load over calculated issue in IndexSummaryRedistribution (CASSANDRA-13738)
  • Obfuscate password in stress-graphs (CASSANDRA-12233)
  • ReverseIndexedReader may drop rows during 2.1 to 3.0 upgrade (CASSANDRA-13525)
  • Avoid reading static row twice from old format sstables (CASSANDRA-13236)
  • Fix possible NPE on upgrade to 3.0/3.X in case of IO errors (CASSANDRA-13389)
  • Add duration data type (CASSANDRA-11873)
  • Properly report LWT contention (CASSANDRA-12626)
  • Stress daemon help is incorrect(CASSANDRA-12563)
  • Remove ALTER TYPE support (CASSANDRA-12443)
  • Fix assertion for certain legacy range tombstone pattern (CASSANDRA-12203)
  • Remove support for non-JavaScript UDFs (CASSANDRA-12883)
  • Better handle invalid system roles table (CASSANDRA-12700)
  • Upgrade netty version to fix memory leak with client encryption (CASSANDRA-13114)
  • Fix trivial log format error (CASSANDRA-14015)
  • Allow SSTabledump to do a JSON object per partition (CASSANDRA-13848)
  • Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081)
  • Fix Distribution.average in cassandra-stress (CASSANDRA-14090)
  • Presize collections (CASSANDRA-13760)
  • Add GroupCommitLogService (CASSANDRA-13530)
  • Parallelize initial materialized view build (CASSANDRA-12245)
  • Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965)
  • Make LWTs send resultset metadata on every request (CASSANDRA-13992)
  • Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963)
  • Introduce leaf-only iterator (CASSANDRA-9988)
  • Allow only one concurrent call to StatusLogger (CASSANDRA-12182)
  • Refactoring to specialised functional interfaces (CASSANDRA-13982)
  • Speculative retry should allow more friendly parameters (CASSANDRA-13876)
  • Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944)
  • Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291)
  • Add nodetool command to print hinted handoff window (CASSANDRA-13728)
  • Fix some alerts raised by static analysis (CASSANDRA-13799)
  • Checksum SSTable metadata (CASSANDRA-13321, CASSANDRA-13593)
  • Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786)
  • Add incremental repair support for --hosts, --force, and subrange repair (CASSANDRA-13818)
  • Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941)
  • Expose recent histograms in JmxHistograms (CASSANDRA-13642)
  • Add SERIAL and LOCAL_SERIAL support for cassandra-stress (CASSANDRA-13925)
  • LCS needlessly checks for L0 STCS candidates multiple times (CASSANDRA-12961)
  • Correctly close netty channels when a stream session ends (CASSANDRA-13905)
  • Update lz4 to 1.4.0 (CASSANDRA-13741)
  • Throttle base partitions during MV repair streaming to prevent OOM (CASSANDRA-13299)
  • Improve short read protection performance (CASSANDRA-13794)
  • Fix AssertionError in short read protection (CASSANDRA-13747)
  • Use compaction threshold for STCS in L0 (CASSANDRA-13861)
  • Fix problem with min_compress_ratio: 1 and disallow ratio < 1 (CASSANDRA-13703)
  • Add extra information to SASI timeout exception (CASSANDRA-13677)
  • Rework CompactionStrategyManager.getScanners synchronization (CASSANDRA-13786)
  • Add additional unit tests for batch behavior, TTLs, Timestamps (CASSANDRA-13846)
  • Add keyspace and table name in schema validation exception (CASSANDRA-13845)
  • Emit metrics whenever we hit tombstone failures and warn thresholds (CASSANDRA-13771)
  • Allow changing log levels via nodetool for related classes (CASSANDRA-12696)
  • Add stress profile yaml with LWT (CASSANDRA-7960)
  • Reduce memory copies and object creations when acting on ByteBufs (CASSANDRA-13789)
  • simplify mx4j configuration (Cassandra-13578)
  • Fix trigger example on 4.0 (CASSANDRA-13796)
  • force minumum timeout value (CASSANDRA-9375)
  • Add bytes repaired/unrepaired to nodetool tablestats (CASSANDRA-13774)
  • Don't delete incremental repair sessions if they still have sstables (CASSANDRA-13758)
  • Fix pending repair manager index out of bounds check (CASSANDRA-13769)
  • Don't use RangeFetchMapCalculator when RF=1 (CASSANDRA-13576)
  • Don't optimise trivial ranges in RangeFetchMapCalculator (CASSANDRA-13664)
  • Use an ExecutorService for repair commands instead of new Thread(..).start() (CASSANDRA-13594)
  • Fix race / ref leak in anticompaction (CASSANDRA-13688)
  • Fix race / ref leak in PendingRepairManager (CASSANDRA-13751)
  • Enable ppc64le runtime as unsupported architecture (CASSANDRA-13615)
  • Improve sstablemetadata output (CASSANDRA-11483)
  • Support for migrating legacy users to roles has been dropped (CASSANDRA-13371)
  • Introduce error metrics for repair (CASSANDRA-13387)
  • Refactoring to primitive functional interfaces in AuthCache (CASSANDRA-13732)
  • Update metrics to 3.1.5 (CASSANDRA-13648)
  • batch_size_warn_threshold_in_kb can now be set at runtime (CASSANDRA-13699)
  • Avoid always rebuilding secondary indexes at startup (CASSANDRA-13725)
  • Upgrade JMH from 1.13 to 1.19 (CASSANDRA-13727)
  • Upgrade SLF4J from 1.7.7 to 1.7.25 (CASSANDRA-12996)
  • Default for start_native_transport now true if not set in config (CASSANDRA-13656)
  • Don't add localhost to the graph when calculating where to stream from (CASSANDRA-13583)
  • Allow skipping equality-restricted clustering columns in ORDER BY clause (CASSANDRA-10271)
  • Use common nowInSec for validation compactions (CASSANDRA-13671)
  • Improve handling of IR prepare failures (CASSANDRA-13672)
  • Send IR coordinator messages synchronously (CASSANDRA-13673)
  • Flush system.repair table before IR finalize promise (CASSANDRA-13660)
  • Fix column filter creation for wildcard queries (CASSANDRA-13650)
  • Add 'nodetool getbatchlogreplaythrottle' and 'nodetool setbatchlogreplaythrottle' (CASSANDRA-13614)
  • fix race condition in PendingRepairManager (CASSANDRA-13659)
  • Allow noop incremental repair state transitions (CASSANDRA-13658)
  • Run repair with down replicas (CASSANDRA-10446)
  • Added started & completed repair metrics (CASSANDRA-13598)
  • Added started & completed repair metrics (CASSANDRA-13598)
  • Improve secondary index (re)build failure and concurrency handling (CASSANDRA-10130)
  • Improve calculation of available disk space for compaction (CASSANDRA-13068)
  • Change the accessibility of RowCacheSerializer for third party row cache plugins (CASSANDRA-13579)
  • Allow sub-range repairs for a preview of repaired data (CASSANDRA-13570)
  • NPE in IR cleanup when columnfamily has no sstables (CASSANDRA-13585)
  • Fix Randomness of stress values (CASSANDRA-12744)
  • Allow selecting Map values and Set elements (CASSANDRA-7396)
  • Fast and garbage-free Streaming Histogram (CASSANDRA-13444)
  • Update repairTime for keyspaces on completion (CASSANDRA-13539)
  • Add configurable upper bound for validation executor threads (CASSANDRA-13521)
  • Bring back maxHintTTL propery (CASSANDRA-12982)
  • Add testing guidelines (CASSANDRA-13497)
  • Add more repair metrics (CASSANDRA-13531)
  • RangeStreamer should be smarter when picking endpoints for streaming (CASSANDRA-4650)
  • Avoid rewrapping an exception thrown for cache load functions (CASSANDRA-13367)
  • Log time elapsed for each incremental repair phase (CASSANDRA-13498)
  • Add multiple table operation support to cassandra-stress (CASSANDRA-8780)
  • Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262)
  • Fix WriteResponseHandlerTest is sensitive to test execution order (CASSANDRA-13421)
  • Improve incremental repair logging (CASSANDRA-13468)
  • Start compaction when incremental repair finishes (CASSANDRA-13454)
  • Add repair streaming preview (CASSANDRA-13257)
  • Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)
  • Change protocol to allow sending key space independent of query string (CASSANDRA-10145)
  • Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
  • Take number of files in L0 in account when estimating remaining compaction tasks (CASSANDRA-13354)
  • Skip building views during base table streams on range movements (CASSANDRA-13065)
  • Improve error messages for +/- operations on maps and tuples (CASSANDRA-13197)
  • Remove deprecated repair JMX APIs (CASSANDRA-11530)
  • Fix version check to enable streaming keep-alive (CASSANDRA-12929)
  • Make it possible to monitor an ideal consistency level separate from actual consistency level (CASSANDRA-13289)
  • Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
  • Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
  • Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
  • Upgrade snappy-java to 1.1.2.6 (CASSANDRA-13336)
  • Incremental repair not streaming correct sstables (CASSANDRA-13328)
  • Upgrade the JNA version to 4.3.0 (CASSANDRA-13300)
  • Add the currentTimestamp, currentDate, currentTime and currentTimeUUID functions (CASSANDRA-13132)
  • Remove config option index_interval (CASSANDRA-10671)
  • Reduce lock contention for collection types and serializers (CASSANDRA-13271)
  • Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
  • Avoid synchronized on prepareForRepair in ActiveRepairService (CASSANDRA-9292)
  • Adds the ability to use uncompressed chunks in compressed files (CASSANDRA-10520)
  • Don't flush sstables when streaming for incremental repair (CASSANDRA-13226)
  • Remove unused method (CASSANDRA-13227)
  • Fix minor bugs related to #9143 (CASSANDRA-13217)
  • Output warning if user increases RF (CASSANDRA-13079)
  • Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
  • Add support for + and - operations on dates (CASSANDRA-11936)
  • Fix consistency of incrementally repaired data (CASSANDRA-9143)
  • Increase commitlog version (CASSANDRA-13161)
  • Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
  • Refactor ColumnCondition (CASSANDRA-12981)
  • Parallelize streaming of different keyspaces (CASSANDRA-4663)
  • Improved compactions metrics (CASSANDRA-13015)
  • Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
  • Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
  • Thrift removal (CASSANDRA-11115)
  • Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
  • Add column definition kind to dropped columns in schema (CASSANDRA-12705)
  • Add (automate) Nodetool Documentation (CASSANDRA-12672)
  • Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
  • Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681)
  • Clean up the SSTableReader#getScanner API wrt removal of RateLimiter (CASSANDRA-12422)
  • Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
  • Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
  • Require forceful decommission if number of nodes is less than replication factor (CASSANDRA-12510)
  • Allow IN restrictions on column families with collections (CASSANDRA-12654)
  • Log message size in trace message in OutboundTcpConnection (CASSANDRA-13028)
  • Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
  • Add mutation size and batch metrics (CASSANDRA-12649)
  • Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999)
  • Expose time spent waiting in thread pool queue (CASSANDRA-8398)
  • Conditionally update index built status to avoid unnecessary flushes (CASSANDRA-12969)
  • cqlsh auto completion: refactor definition of compaction strategy options (CASSANDRA-12946)
  • Add support for arithmetic operators (CASSANDRA-11935)
  • Add histogram for delay to deliver hints (CASSANDRA-13234)
  • Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
  • Changing `max_hint_window_in_ms` at runtime (CASSANDRA-11720)
  • Nodetool repair can hang forever if we lose the notification for the repair completing/failing (CASSANDRA-13480)
  • Anticompaction can cause noisy log messages (CASSANDRA-13684)
  • Switch to client init for sstabledump (CASSANDRA-13683)
  • CQLSH: Don't pause when capturing data (CASSANDRA-13743)

General upgrade advice for DSE 6.0.0

General upgrade advice for DataStax Enterprise 6.0.0

DataStax Enterprise 6.0.0 is compatible with Apache Cassandra™ 3.11.

All upgrade advice from previous versions applies. Carefully review the DataStax Enterprise upgrade planning and upgrade instructions to ensure a smooth upgrade and avoid pitfalls and frustrations.

TinkerPop changes for DSE 6.0.0

A list of DataStax Enterprise 6.0.0 production-certified changes in addition to TinkerPop 3.3.2.

DataStax Enterprise (DSE) 6.0.0 includes all changes from previous releases plus these production-certified changes that are in addition to TinkerPop 3.3.2. See TinkerPop upgrade documentation for all changes.
  • Made iterate() a first class step. (TINKERPOP-1834)
  • Fixed a bug in NumberHelper that led to wrong min/max results if numbers exceeded the Integer limits. (TINKERPOP-1873)
  • Improved error messaging for failed serialization and deserialization of request/response messages.
  • Fixed bug in handling of Direction.BOTH in Messenger implementations to pass the message to the opposite side of the `StarGraph` in VertexPrograms for OLAP traversals. (TINKERPOP-1862)
  • Fixed a bug in Gremlin Console which prevented handling of gremlin.sh flags that had an equal sign (=) between the flag and its arguments. (TINKERPOP-1879)
  • Fixed a bug where SparkMessenger was not applying the edgeFunction`from MessageScope`in VertexPrograms for OLAP-based traversals. (TINKERPOP-1872)
  • TinkerPop drivers prior to 3.2.4 won't authenticate with Kerberos anymore. A long-deprecated option on the Gremlin Server protocol was removed.