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.
Requirement for Uniform Licensing
All nodes in each DataStax licensed cluster must be uniformly licensed to use the same subscription. For example, if a cluster contains five nodes, all five nodes within that cluster must be DSE. Mixing different subscriptions within a cluster is not permitted. The DataStax Advanced Workloads Pack may be added to any DSE cluster in an incremental fashion. For example, a 10-node DSE cluster may be extended to include three 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.x) 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.13 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 |
jvm.options
The location of the jvm.options file depends on the type of installation:Package installations | /etc/dse/cassandra/jvm.options |
Tarball installations | installation_location/resources/cassandra/conf/jvm.options |
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 |
26 August 2020
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
DSE 6.0.13 Components
- Apache Solr™ 6.0.1.1.2793
- Apache Spark™ 2.2.3.13
- Apache TinkerPop™ 3.3.7-20190521-f71ce0d7
- Apache Tomcat® 8.0.53
- DSE Java Driver 1.6.10
- Netty 4.1.25.7.dse
- Spark JobServer 0.8.0.45.2
- TinkerPop 3.3.7 with production-certified changes
DSE 6.0.13 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements if any.
6.0.13 DSE core
Changes and enhancements:
- Fixed
StackOverflowError
thrown during read repairs (only large clusters or clusters with enabled vnodes are affected). (DB-4350) - Increased default
direct_reads_size_in_mb
value. Previously it was 2M per core + 2M shared. It is now 4M per core + 4M shared. (DB-4348) - Slow indexing at bootstrap time due to early TPC boundaries computation when node is replaced by a node with the same IP (DB-4049)
- Fixed a problem with the treatment of zeroes in the type decimal that could cause assertion errors, or not being able to find some rows if their key is 0 written using different precisions, or both. (DB-4472)
- CQLSH can be run with Python 2 or 3. (DB-4151)
- Fixed the
NullPointerException
issue described in CASSANDRA-14200: NPE when dumping an SSTable with null value for timestamp column. (DB-4512) - Fix an issue that was causing excessive contention during encryption/decryption operations. The fix results in an encryption/decryption performance improvement. (DB-4419)
- A new configuration option in cassandra.yaml was added:
snapshot_before_dropping_column
which isfalse
by default. When enabled, every time the user drops a column/columns from a table, a snapshot will be created on each node in the cluster before the change in schema is applied. - Fixed an issue to prevent an unbounded number of flushing tasks for memtables that are almost empty. (DB-4376)
- Global
BloomFilterFalseRatio
is now calculated in the same way as tableBloomFilterFalseRatio
. Now both types of metrics include true negatives, the formula is ratio = falsePositiveCount / (truePositiveCount + falsePositiveCount + trueNegativeCount). (DB-4439) - Fixed a bug whereby after a node replacement procedure. the bootstrap indexing in DSE Search was happening only on one TPC core. (DB-4049)
- DNS Service Discovery is now a part of the DSE/LDAP integration. (DSP-11450)
- Systemd units are included for DSE packages for CentOS and compatible OSes. (DSP-7603)
- The
server_host
option in dse.yaml now handles mutiple, comma separated LDAP server addresses. (DSP-20833) - Cassandra tools now work on encrypted SSTables when security is configured. (DSP-20940)
- Workaround for LOGBACK-1194 - explicit scanPeriod added to
logback.xml
. (DSP-17911) - Recording a slow CQL query to the log will no longer block the thread. (DSP-20894)
- Added entries to jvm.options to assist with capturing thread dumps. (DSP-20778)
- The frequency of range queries performed by lease manager is now configurable via
dse.lease.refresh.interval.seconds
system property (an addition to JMX anddsetool
command) (DSP-20696) - Security updates:
- Fixed a CVE-2019-20444 issue in which
HttpObjectDecoder.java
in Netty, before 4.1.44, allowed an HTTP header that lacked a colon. (DB-4068) - The jackson-databind library has been upgraded to 2.9.10.4 to address a Jackson databind vulnerability (CVE-2020-8840) (DSP-20981)
- DNS Service Discovery is now a part of the DSE/LDAP integration. (DSP-11450)
- Fixed some security vulnerabilities for Solr HTTP REST API when authorization is enabled. Now, users with no appropriate permissions can perform search operations. Resources can be deleted when authorization is enabled, given the correct permissions. (DSP-20749)
- Fixed an issue where the audit logging did not capture search queries. (DSP-21058)
- There are two new LDAP options in dse.yaml -
extra_user_search_bases
andextra_group_search_bases
where the user can define additional search bases for users and groups respectively. For users, if the user is not found in one search base all other bases are searched. For groups, groups found in all defined search bases are merged. (DSP-12612) - While there is no change in default behavior, there is a new
render_cql_literals
option in dse.yaml under the audit logging section, which isfalse
by default. When enabled, bound variables for logged statements will be rendered as CQL literals, which means there will be additional quotation marks and escaping, as well as values of all complex types (collections, tuples, udts) will be in human readable format. (DSP-17032) - Fixed LDAP settings to properly handle nested groups so that LDAP enumerates all
ancestors of a user's distinguishedName. Inherited groups retrieval with
directory_search and members_search types. Fixed fetching parent groups of a role
that's mapped to an LDAP group. See new dse.yaml
options,
all_groups_xxx
inldap_options
, to configure optimized retrieval of parent groups, including inherited ones, in a single roundtrip. (DSP-20107) - When DSE tries one authentication scheme and finds that the password is invalid, DSE now tries another scheme, but only if the user has a scheme permission for that other scheme. (DSP-20903)
- Raised the upper bound limit on DSE LDAP caches. The upper limit for
ldap_options.credentials_validity_in_ms
has been increased to 864,000,000 ms, which is 10 days. The upper limit forldap_options.search_validity_in_seconds
has been increased to 864,000 seconds, which is 10 days. (DSP-21072) - Fixed an error condition when DSE failed to get the LDAP roles while refreshing a database schema. (DSP-21075)
- Fixed a CVE-2019-20444 issue in which
6.0.13 DSE Advanced Replication
Changes and enhancements:
- Advanced Replication's OutOfMemoryErrors caused by Roaring bitmap deserialization. (DSP-15675)
6.0.13 DSEFS
Changes and enhancements:
- To minimize fsck impact on overloaded clusters, throttling is possible via
-p
or--parallelism
arguments. - Backported DSP-15762: optimize remove-recursive implementation, lowering the tombstone impact on Spark jobs. (DSP-20750)
- The byos-export command exports dsefs configuration for
AbstractFileSystem
(DSP-20906) - Fixed an issue where an excessive number of connections are created to port 5599 when using DSEFS. (DSP-21021)
- Fixed excessive allocation when running fsck on DSEFS volumes. (DSP-21246)
6.0.13 DSE Search
Changes and enhancements:
- Search-related latency metrics will now decay in time like other metrics. Named queries (using query.name parameter) will now have separate latency metrics. New mbean atributes are available for search latency metrics: TotalLatency (us), Min, Max, Mean, StdDev, DurationUnit, MeanRate, OneMinuteRate, FiveMinuteRate, FifteenMinuteRate, RateUnit, 98th, 999th. (DSP-19612)
- Significantly reduced the time to (re)load encrypted search cores. (DSP-20692)
- Fixed some security vulnerabilities for Solr HTTP REST API when authorization is enabled. Now, users with no appropriate permissions can perform search operations. Resources can be deleted when authorization is enabled, given the correct permissions. (DSP-20749)
- Fixed a bug where a decryption block cache occasionally was not operational (SOLR-14498). (DSP-20987)
- Fixed an issue where the audit logging did not capture search queries. (DSP-21058)
- Fixed a bug where after several months of up time an encrypted index wouldn't accept more writes unless the core is reloaded. (DSP-21234)
Cassandra enhancements for DSE 6.0.13
DataStax Enterprise 6.0.13 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
DataStax Enterprise 6.0.13 is compatible with Apache Cassandra™ 3.11, includes all DataStax enhancements from earlier releases.
General upgrade advice for DSE 6.0.13
General upgrade advice for DataStax Enterprise 6.0.13.
DataStax Enterprise 6.0.13 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.13
A list of DataStax Enterprise 6.0.13 production-certified enhancements to TinkerPop 3.3.7.
DataStax Enterprise (DSE) 6.0.13 includes TinkerPop 3.3.7 with all DataStax enhancements from earlier versions. See the TinkerPop upgrade documentation.
DSE 6.0.12 release notes
4 May 2020
6.0.12 DSE core | 6.0.12 DSE Advanced Replication |
6.0.12 DSE Analytics | 6.0.12 DSEFS |
6.0.12 DSE Graph | 6.0.12 DSE Search |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
DSE 6.0.12 Components
- Apache Solr™6.0.1.1.2716
- Apache Spark™2.2.3.13
- Apache Tomcat® 8.0.53
- DataStax Bulk Loader 1.2.1
- DSE Java Driver 1.6.10
- Key Management Interoperability Protocol (KMIP) 1.7.1e
- Netty 4.1.25.6.dse
- Spark Jobserver 0.8.0.45.2 DSE custom version
- TinkerPop 3.3.7 with production-certified changes
For a full list, see DataStax Enterprise 6.0.12 third-party software.
DSE 6.0.12 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
6.0.12 DSE core
Changes and enhancements:
- Added
hostname_verification
toldap_options
in dse.yaml. (DSP-20302) - The frequency of range queries performed by lease manager is now configurable via JMX
and
dsetool
command. (DSP-20696) - Added
dse.ldap.retry_interval.ms
system property, which sets the time between subsequent retries when trying authentication using LDAP server. (DSP-20298) - Removed Jodd Core dependency that created vulnerability to Arbitrary File Writes. (DSP-19206)
- Added a new JMX attribute of
ConnectionSearchPassword
forLdapAuthenticator
bean has been added, which updates the LDAP search password without the need to restart DSE. (DSP-18928) dsetool ring
shows in-progress search index building during bootstrap. (DSP-15281)- Made the search reference visible in the error message for LDAP connections. (DSP-20578)
- DecayingEstimatedHistogram now decays even when there are no updates so invalid metric values do not linger. (DSP-20674)
- Added functionality to query
role_stats
whenstats
is enabled underrole_management_options
in dse.yaml. (DB-4283) - The replica side filtering
dtests test_update_on_wide_table
andtest_complementary_update_with_limit_on_static_column_with_not_empty_partitions
are more reliable. (DB-4043) - Nodesync can now be enabled on all system distributed and protected tables. (DB-3241)
- Improved the estimated values of histogram percentiles reported via JMX. In some cases, the percentiles may go slightly up. (DB-4275)
- Added
anticompaction
tonodetool stop
command help menu. (DB-3821) - Added
--disable-history
option to cqlsh that disables saving history to disk for current execution. Addedhistory
section tocqlshrc
which is called with boolean parameterdisabled
that is set toFalse
by default. (DB-3843) - Improved error messaging for enabled internode SSL encryption in Cassandra Tools test suite. (DB-3957)
- Removed the serialization header partition/clustering key validation (DB-4111)
- Security updates:
- Upgraded Jackson Core and Jackson Mapper to address CVE-2019-10172. (DSP-20073)
Resolved issues:
- LDAP cursors leak. (DSP-20623)
- Bug that prevented
LIST ROLES
andLIST USERS
to work withsystem-keyspace-filtering
enabled. (DB-4221) - Continuous paging sessions could leak if the continuous result sets on the driver side were not exhausted or cancelled. (DB-4313)
- Potentially incorrect dropped messages in case of time drifts on a machine. (DB-3891)
- Read inconsistencies. (CASSANDRA-12126) (DB-3873)
- Error that caused
nodetool viewbuildstatus
to return an incorrect error message. (DB-2397)
6.0.12 DSE Advanced Replication
Resolved issues:
- Advanced Replication's OutOfMemoryErrors caused by Roaring bitmap deserialization. (DSP-15675)
6.0.12 DSE Analytics
- Internal continuous paging sessions were not closed when
LIMIT
clause was added in SQL query, which caused sessions leak and inability to close the Spark application gracefully because the Java driver waited indefinitely for orphaned sessions to finish. (DSP-19804) - Removed Jodd Core dependency that created vulnerability to Arbitrary File Writes. (DSP-19206)
- Added
spark.cassandra.session.consistency.level
parameter to Spark Connector. SetHiveMetaStore
default consistency level toLOCAL_QUORUM
instead ofONE
. (DSP-19982) - During Spark Application startup, Exception: java.lang.ExceptionInInitializerError thrown from the UncaughtExceptionHandler in thread "main" was logged, sometimes instead of a meaningful error. (DSP-20474)
- Security updates:
- Patched hive with HIVE-13390 to fix CVE-2016-3083. (DSP-20612)
6.0.12 DSEFS
Changes and enhancements:
- DSEFS local file system implementation returns alphabetically sorted directories and files when using wildcards and listing command. (DSP-20057)
- When creating a file through WebHDFS API, DSEFS does not verify WX permissions of parent's parent when the parent exists. (DSP-20355)
- DSEFS internode encrypted communication doesn't fail when
server_encryption_options.require_endpoint_verification
is enabled. (DSP-20689)
Resolved issues:
- DSEFS cannot use Mixed Case keyspaces, which was broken by DSP-16825. (DSP-20354)
6.0.12 DSE Graph
Changes and enhancements:
- Exposed configuration and metrics for Gremlin query cache. (DSP-20240)
- Changed classic Graph query so vertices are read from _p tables in Cassandra using
SELECT ... WHERE <vertex primary key columns>
statement. The search predicate is applied in memory. (DSP-20230)
6.0.12 DSE Search
Changes and enhancements:
- Error messages related to Solr errors contain better description of the root cause. (DSP-13792)
- The
dsetool stop_core_reindex
command now mentions the node in the output message. (DSP-17090) - Added indexing reason to output of
dsetool core_indexing_status
command. (DSP-17672) - Improved warnings for search index creation via
dsetool
or CQL. (DSP-17994) - Improved guidance with warnings when index rebuild is required for
ALTER SEARCH INDEX
,RELOAD SEARCH INDEX
, anddsetool reload_core
commands. (DSP-19347) - Improved real-time search to fix a docValues bug. (DSP-20300)
suggest
request handler requiresselect
permission. Previously,suggest
request handler returnedforbidden
response when authorization was on, regardless of the user permissions. (DSP-20697)- Security update:
- Upgraded Apache Solr to address CVE-2018-8026. (DSP-16653)
Cassandra enhancements for DSE 6.0.12
DataStax Enterprise 6.0.12 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
DataStax Enterprise 6.0.12 is compatible with Apache Cassandra™ 3.11, includes all DataStax enhancements from earlier releases.
General upgrade advice for DSE 6.0.12
General upgrade advice for DataStax Enterprise 6.0.12.
DataStax Enterprise 6.0.11 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.12
A list of DataStax Enterprise 6.0.12 production-certified enhancements to TinkerPop 3.3.7.
DataStax Enterprise (DSE) 6.0.12 includes TinkerPop 3.3.7 with all DataStax enhancements from earlier versions. See the TinkerPop upgrade documentation.
DSE 6.0.11 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 |
10 December 2019
6.0.11 DSE core | 6.0.11 DSE Search |
6.0.11 DSE Analytics |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
DSE 6.0.11 Components
- Apache Solr™ 6.0.1.1.2642 *
- Apache Spark™ 2.2.3.9 *
- Apache Tomcat® 8.0.53
- DataStax Bulk Loader 1.2.1
- DSE Java Driver 1.6.10
- Key Management Interoperability Protocol (KMIP) 1.7.1e
- Netty 4.1.25.6.dse
- Spark Jobserver 0.8.0.45.2 * DSE custom version
- TinkerPop 3.3.7 with production-certified changes
For a full list, see DataStax Enterprise 6.0.11 third-party software.
DSE 6.0.11 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
DSE 6.0.11 Highlights
High-value benefits of upgrading to DSE 6.0.11:
DSE Search highlights
- Fixed a bug to avoid multiple disposals of Solr filter cache DocSet objects. (DSP-15765)
- Improve performance, logging, and add options for using the Solr timeAllowed parameter in all queries. The Solr timeAllowed option in queries is now enforced by default to prevent long-running shard queries. (DSP-19781, DSP-19790)
6.0.11 DSE core
Changes and enhancements:
- Add support for nodesync command to specify different IP addresses for JMX and CQL. (DB-2969)
- Enhancements to the offline sstablescrub
utility. (DB-3510, DB-3511)
- Specify which SSTables to scrub.
- Scrub multiple tables of the same keyspace.
- Specify the number of threads to simultaneously scrub SSTables within a table.
- Prevent accepting streamed SSTables or loading SSTables when the clustering order does not match. (DB-3530)
- Dropping and re-adding the same column with incompatible types is not supported. This change prevents unreadable SSTables. (DB-3586)
Resolved issues:
- Background compactions block SSTable operations too long. (DB-3682)
- Post-bootstrap indexing is executed by only a single CPU core. (DB-3692)
- Reads against
ma
andmc
SSTables hit more SSTables than necessary due to the bug fixed by CASSANDRA-14861. (DB-3691) - Error retrieving expired columns with secondary index on key components. (DB-3764)
- The diff logic used by the secondary index does not always pick the latest schema and results in ERROR [CoreThread-8] errors on batch writes. (DB-3838)
- Unexpected CoreThread error thrown by LWT.PROPOSE. (DB-3858)
- Fixed concurrency factor calculation for distributed range read with a maximum 10 times
the number of cores. Configurable maximum concurrency factor with new JVM argument
-Ddse.max_concurrent_range_requests
. (DB-3859) - Prevent continuous triggers with read defragmentation. (DB-3866)
- Cached serialized mutations can cause G1 GC humongous objects. (DB-3867)
- AIO and DSE Metrics Collector are not available on REHL/Centos 6.x because GLIBC_2.14 is not present. (DSP-18603)
- Upgrade Jackson Databind to address CVE-2019-14540 and CVE-2019-16942. (DSP-19764, DSP-19896)
- Using
SELECT JSON
for empty BLOB values incorrectly returns an empty string instead of the expected0x
. (DSP-20022) - RoleManager cache keeps invalid values if the LDAP connectivity is down. (DSP-20098)
- LDAP user login fails due to parsing failure on user DN with parentheses. (DSP-20106)
6.0.11 DSE Analytics
- Add new DSE class
com/datastax/bdp/spark/*
for dse-spark-dependencies. (DSP-16070) - New
du
dsefs shell command lists sizes of the files and directories in a specific directory. (DSP-19572) - Improve configuration of available system resources for Spark Workers. You can now set
the total memory and total cores with new environment variables that take precedence
over the resource_manager_options defined in
dse.yaml. (DSP-19673)
dse.yaml resource_manager_options Environment variable memory_total SPARK_WORKER_TOTAL_MEMORY
cores_total SPARK_WORKER_TOTAL_CORES
- Support for multiple contact points is added for DSEFS implementation of the Hadoop
FileSystem. (DSP-19704)Provide FileSystem URI with:
dsefs://host0\[:port\]\[,host1\[:port\]\]/
6.0.11 DSE Search
- The Solr timeAllowed option in
queries is now enforced by default to prevent long-running shard queries. This change
prevents complex facets and boolean queries from using system resources after the DSE
Search coordinator considers the queries to have timed out. For all queries, the default
for the
timeAllowed
value uses the value of client_request_timeout_seconds setting in dse.yaml. (DSP-19781, DSP-19790)Attention: While using Solr timeAllowed in queries improves performance for long zombie queries, it can cause increased per-request latency cost in mixed workloads. If the per-request latency cost is too high, use the-Ddse.timeAllowed.enabled.default
search system property to disable timeAllowed in your queries. - Upgrade spray-json to prevent Denial Of Service (DoS) vulnerability CVE-2018-18854 and CVE-2018-18853. (DSP-19208)
- Error on disposals of Solr filter cache DocSet objects. (DSP-15765)
- Apply filter cache optimization to remote shard requests when RF=N. . (DSP-19800)
- Filter cache warming doesn't warm parent-only filter correctly when RF=N. (DSP-19802)
- Memory allocation issue causes performance degradation at query time. (DSP-19805)
Cassandra enhancements for DSE 6.0.11
DataStax Enterprise 6.0.11 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
DataStax Enterprise 6.0.11 is compatible with Apache Cassandra™ 3.11, includes all DataStax enhancements from earlier releases, and adds these production-certified changes:
- Handle paging states serialized with a different version than the session version (CASSANDRA-15176)
- Toughen up column drop/recreate type validations (CASSANDRA-15204)
- SSTable min/max metadata can cause data loss (CASSANDRA-14861)
- Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411)
General upgrade advice for DSE 6.0.11
General upgrade advice for DataStax Enterprise 6.0.11.
DataStax Enterprise 6.0.11 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.11
A list of DataStax Enterprise 6.0.11 production-certified enhancements to TinkerPop 3.3.7.
DataStax Enterprise (DSE) 6.0.11 includes TinkerPop 3.3.7 with all DataStax enhancements from earlier versions. See the TinkerPop upgrade documentation.
DSE 6.0.10 release notes
19 September 2019
6.0.10 DSE core | 6.0.10 DSE Graph |
6.0.10 DSE Analytics | 6.0.10 DSE Search |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
DSE 6.0.10 Components
- Apache Solr™ 6.0.1.1.2507 *
- Apache Spark™ 2.2.3.5 *
- Apache Tomcat® 8.0.53
- DataStax Bulk Loader 1.2.1
- DSE Java Driver 1.6.10 *
- 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.10 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
DSE 6.0.10 Highlights
High-value benefits of upgrading to DSE 6.0.10 include these highlights:
DSE Database (DSE core) highlights
- Fixed incorrect handling of frozen type issues to accept all valid CQL statements and reject all invalid CQL statements. (DB-3084)
- Standalone cqlsh client tool provides an interface for developers to interact with the database and issue CQL commands without having to install the database software. From DataStax Labs, download the version of CQLSH that corresponds to your DataStax database version. (DSP-18694)
- New options to select cipher suite and protocol to configure KMIP encryption when connecting to a KMIP server. (DSP-17294)
DSE Analytics highlights
- Storing and revoking permissions for the application owner is removed. The application owner is explicitly assumed to have these permissions. (DSP-19393)
DSE Graph highlights
- Fixed an issue where T values are hidden by property keys of the same name in valueMap(). (DSP-19261)
DSE Search highlights
- Improved search query latency. (DSP-18677)
- Unbounded facet searches are no longer allowed. (DSP-18693)
facet.limit
< 0 is no longer supported. Override the defaultfacet.limit
of 20000 with the-Dsolr.max.facet.limit.size
system property.- This change adds guardrails that can cause misconfigured faceting queries to fail.
Before upgrading, set an explicit
facet.limit
.
6.0.10 DSE core
Changes and enhancements:
- DSE version now appears as a comment in all configuration files. (DB-1022)
- Improved troubleshooting. A log entry is now created when autocompaction is disabled or enabled for a table. (DB-1635)
- Enhanced DroppedMessages logging output adds the size percentiles of the dropped messages, their most common destinations, and the most common tables targeted for read requests or mutations. (DB-1250)
- Reformatted StatusLogger output to reduce details in the INFO level system.log. The detailed output is still present in the debug.log. (DB-2552)
- For
nodetool tpstats -F json
andnodetool tpstats -F yaml
, wait latencies (in ms) appear in the output. Although not labeled, the wait latencies are included in the following order: 50%, 75%, 95%, 98%, 99%, Min, and Max. (DB-3401) - New resources improve debugging leaked chunks before the cache evicts them and provide
more meaningful call stack and stack trace. (DB-3504)
- RandomAccessReader/RandomAccessReader
- AsyncPartitionReader/FlowSource
- AsyncSSTableScanner/FlowSource
- Allocate large buffers directly in the chunk cache. (DB-3506)
- Buffers should return to the pool if a chunk is leaked. (DB-3512)
- New nodetool commands to get current values: getcachecapacity, getcachekeystosave, and gethintedhandoffthrottlekb. (DB-3618)
- New options to select cipher suite and protocol to configure KMIP encryption when connecting to a KMIP server. (DSP-17294)
- Standalone cqlsh client tool provides an interface for developers to interact with the database and issue CQL commands without having to install the database software. From DataStax Labs, download the version of CQLSH that corresponds to your DataStax database version. (DSP-18694)
- Upgraded Apache MINA Core library to 2.0.21 to prevent a security issue where Apache MINA Core was vulnerable to information disclosure. (DSP-19213)
- Update Jackson Databind to 2.9.9.1 for all components except DataStax Bulk Loader. (DSP-19441)
Resolved issues:
- Fix to prevent NPE during repair in mixed-version clusters. (DB-1985)
- Tarball installs to create two instances on the same physical server with remote JMX
access with binding the separated IPs to port 7199 causes
JMX error of Address already in use (Bind failed)
because com.sun.management.jmxremote.host is ignored. (DB-2483) - Prevent changing the replication strategy of system keyspaces. (DB-2960)
- Upgrade Jackson Databind to address CVE-2018-11307 and CVE-2018-19361. (DB-2911, DSP-18099, DSP-19319)
- Slow startup or node hangs when encryption is used. (DB-3050)
- Incorrect handling of frozen type issues: valid CQL statements are not accepted and invalid CQL statements are not property rejected. (DB-3084)
- DSE fails to start with ERROR Attempted serializing to buffer exceeded maximum of 65535 bytes. Improved error to identify a workaround for commitlog corruption. (DB-3162)
- sstabledowngrade needs write access to the snapshot folder for a different output location. (DB-3231)
- The number of pending compactions reported by nodetool compactionstats was incorrect (off by one) for Time Window Compaction Strategy (TWCS). (DB-3284)
- Invalid JSON output for
nodetool tpstats -F json
. (DB-3401) - When unable to send mutations to replicas due to overloading, hints are mistakenly created against the local node. (DB-3421)
- When a non-frozen UDT column is dropped and the table is later re-created from the schema that was created as part of a snapshot, the dropped column record is invalid and may lead to failure loading some SSTables. (DB-3434)
sstablepartitions
incorrectly handles-k
and-x
options. (DB-3442)Workaround: To specify multiple keys, repeat the
-k
or-x
option for each key.- Memory leaks when updating tables with materialized views. (DB-3504)
Error in custom provider
prevents DSE node startup. With this fix, the node will start up but insights is not active. See the DataStax Support Knowledge Base for steps to resolve existing missing or incorrect keyspace replication problems. (DSP-19521)
- On Oracle Linux 7.x, StorageService.java:4970 exception occurs with DSE package
installation. (DSP-19625)
Workaround: On Oracle Linux 7.x operating systems, install DSE using the binary tarball.
6.0.10 DSE Analytics
- Storing and revoking permissions for the application owner is removed. Instead of explicitly storing permission of the application owner to manage and view Spark applications, the application owner is explicitly assumed to have these permissions. (DSP-19393)
- Spark applications incorrectly reported that joins were broken. DirectJoin output check too strict. (DSP-19063)
- 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 with this fix:
- Manually grant permissions to the user before the user starts Spark jobs:
GRANT AUTHORIZE, DESCRIBE, MODIFY ON ANY SUBMISSION IN WORKPOOL 'datacenter_name.workpool' TO role_name;
2. Start Spark jobs for this user.
3. After all Spark jobs are complete for this user, revoke the permissions for this user.
REVOKE AUTHORIZE, DESCRIBE, MODIFY ON ANY SUBMISSION IN WORKPOOL 'datacenter_name.workpool' FROM role_name;
- Manually grant permissions to the user before the user starts Spark jobs:
- Credentials are not masked in the debug level logs for Spark Jobserver and Spark submitted jobs. (DSP-19490)
6.0.10 DSE Graph
Changes and enhancements:
- New graph
truncate
command to remove all data from graph. (DSP-17609) - Support for
ifExists()
beforetruncate()
, likesystem.graph("foo").ifExists().truncate()
, in DSE Graph (classic graph) API. (DSP-19357)
- gremlin-console startup time is improved. (DSP-11550)
- T values get hidden by property keys of the same name in valueMap(). (DSP-19261)
6.0.10 DSE Search
- DSE 6.0 search query latency is on parity with DSE 5.1. (DSP-18677)
- For token ranges dictated by distribution, filter cache warming occurs when a node is restarted, a search index is rebuilt, or when node health score is up to 0.9. New per-core metrics for metric type WarmupMetrics and other improvements. (DSP-8621)
- Unbounded facet searches are no longer allowed. (DSP-18693)
facet.limit
< 0 is no longer supported. Override the defaultfacet.limit
of 20000 with the-Dsolr.max.facet.limit.size
system property.- This change adds guardrails that can cause misconfigured faceting queries to fail.
Before upgrading, set an explicit
facet.limit
.
- Solr CQL count query incorrectly returns the count as all data count but should return all data count minus start offset. (DSP-16153)
- Validation error does not get returned when docValues are applied when types do not
allow docValues. (DSP-16884)With this fix, the following exception behavior is applied:
- Throw exception when
docValues:true
is specified for a column and column type does not support docValues. - Do not throw exception and ignore docValues:true for columns with types that do
not support docValues if
docValues:true
is set for *.
- Throw exception when
- When using live indexing, also known as Real Time (RT) indexing, stale Solr documents contain data that is updated in the database. This issue happens when a facet query is run against a search index (core) while inserting or loading data, and the search core is shut down. (DSP-18786)
- When driver uses paging, CQL query fails when using a Solr index to query with a sort
on a field that contains the primary key name in the field:
InvalidRequest: Error from server: code=2200 [Invalid query] message="Cursor functionality requires a sort containing a uniqueKey field tie breaker"
. (DSP-19210)
- The
count()
query with Solr enabled can be inaccurate or inconsistent. (DSP-19401)
Cassandra enhancements for DSE 6.0.10
DataStax Enterprise 6.0.10 is compatible with Apache Cassandra™ 3.11 and adds production-certified enhancements.
DataStax Enterprise 6.0.10 is compatible with Apache Cassandra™ 3.11, includes all DataStax enhancements from earlier releases, and adds these production-certified changes:
General upgrade advice for DSE 6.0.10
General upgrade advice for DataStax Enterprise 6.0.10.
DataStax Enterprise 6.0.10 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.10
A list of DataStax Enterprise 6.0.10 production-certified enhancements to TinkerPop 3.3.7.
DataStax Enterprise (DSE) 6.0.10 includes TinkerPop 3.3.7 with all DataStax enhancements from earlier versions.
DSE 6.0.9 release notes
9 July 2019
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.9 Components
- Apache Solr™ 6.0.1.1.2460
- Apache Spark™ 2.2.3.4
- Apache Tomcat® 8.0.53
- DataStax Bulk Loader 1.2.0
- 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.9 is compatible with Apache Cassandra™ 3.11 and includes all DataStax enhancements from earlier versions.
DSE 6.0.9 Important bug fix
- Fixed possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
Cassandra enhancements for DSE 6.0.9
DSE 6.0.9 is compatible with Apache Cassandra™ 3.11 and includes all DataStax enhancements from earlier versions.
DataStax Enterprise 6.0.9 is compatible with Apache Cassandra™ 3.11 and includes all DataStax enhancements from earlier releases.
General upgrade advice for DSE 6.0.9
General upgrade advice for DataStax Enterprise 6.0.9.
DataStax Enterprise 6.0.9 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.9
DataStax Enterprise (DSE) 6.0.9 includes TinkerPop 3.3.7 with all DataStax enhancements from earlier versions.
DataStax Enterprise (DSE) 6.0.9 includes TinkerPop 3.3.7 with all DataStax enhancements from earlier versions.
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
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.8 Components
- Apache Solr™ 6.0.1.1.2460 *
- Apache Spark™ 2.2.3.4 *
- Apache Tomcat® 8.0.53 *
- DataStax Bulk Loader 1.2.0
- 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)
- 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)
- New nodetool leaksdetection command
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)
Known issue:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
6.0.8 DSE Analytics
- 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)
- 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:
where reliability_coefficient must be greater than 1, with a minimum reliability_coefficient value between 2 and replication factor (RF) x 2.max_concurrent_sessions = spark_executors_threads_per_node x reliability_coefficient
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:
- The graph configuration and gremlin_server sections in DSE Graph system-level options are now correctly commented out at the top level. (DSP-18477)
- 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:
- Export graph to
DSEFS:
g.V.write.format("csv").save("dsefs://culster1/tmp/vertices") && g.E.write.format("csv").save("dsefs://culster1/tmp/edges")
- 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")
- Export graph to
DSEFS:
- 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 withsolr.KeywordTokenizer
andsolr.LowerCaseFilterFactory
to achieve single-token, case-insensitive indexing on a CQL text field.
- 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 DSLTraversalSource
. - Removed
gperfutils
dependencies from Gremlin Console. - Fixed
PartitionStrategy
when setting vertex label and havingincludeMetaProperties
configured totrue
. - 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 toaddE()
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
forwithin()
andwithout()
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-javascriptclient
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 whengroup()
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
whereaddE()
as a start step was not applying the partition. - Improved performance of
JavaTranslator
by reducing calls toMethod.getParameters()
. - Implemented
EarlyLimitStrategy
which is supposed to significantly reduce backend operations for queries that userange()
. - Reduced chance of hash collisions in Bytecode and its inner classes.
- Added
Symbol.asyncIterator
member to theTraversal
class to provide support forawait ... 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
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 |
cassandra-env.sh
The location of the cassandra-env.sh file depends on the type of installation:Package installations | /etc/dse/cassandra/cassandra-env.sh |
Tarball installations | installation_location/resources/cassandra/conf/cassandra-env.sh |
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 |
1 April 2019
6.0.7 DSE core | 6.0.7 DSE Graph |
6.0.7 DSE Analytics | 6.0.7 DSE Search |
6.0.7 DSEFS |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.7 Components
- Apache Solr™ 6.0.1.1.2407 *
- Apache Spark™ 2.2.3.4 *
- Apache Tomcat® 8.0.53
- DataStax Bulk Loader 1.2.0
- 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)Important: The sstabledowngrade command cannot be used to downgrade system tables or downgrade DSE versions.
- 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
Important: The sstabledowngrade command cannot be used to downgrade system tables or downgrade DSE versions. - 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 asorg.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)
- Configurable memory is supported for offline sstable tools. (DB-2955)
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)
Known issue:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
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:
- 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;
- Start Spark jobs for this user.
- 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;
- Before the user starts the Spark jobs, manually grant permissions to the
user:
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 tobroadcastaddress:dsefs.public_port
, instead of incorrectly usingbroadcastaddress: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
- 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, includes all DataStax enhancements from earlier releases, and adds these production-certified changes:
- 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.
27 February 2019
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
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
- DataStax Bulk Loader 1.2.0
- 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.
DSE 6.0.6 Known issue:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
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
6.0.5 DSE core | 6.0.5 DSE Graph |
6.0.5 DSE Analytics | 6.0.5 DSE Search |
6.0.5 DSEFS |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
DSE 6.0.5 Components
- Apache Solr™ 6.0.1.1.2380 *
- Apache Spark™ 2.2.2.8 *
- Apache Tomcat® 8.0.53 *
- DataStax Bulk Loader 1.2.0
- 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
- 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:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
- 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
- nodetool command changes:
- New tool sstablepartitions identifies large partitions. (DB-803)
- nodetool listendpointspendinghints command prints hint information about the endpoints this node has hints for. (DB-1674)
- nodetool rebuild_view rebuilds materialized views for local data. Existing view data is not cleared. (DB-2451)
- Improved messages for nodetool nodesyncservice ratesimulator command include explanation for single node clusters and when no tables have NodeSync enabled. (DB-2468)
- 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)
- Race condition occurs on bootstrap completion. (DB-1383)
- Running the
nodetool nodesyncservice enable
command reports the errorNodeSyncRecord 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)
- 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
- 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)
- 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
- 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()
- DSE Graph Gremlin console:
- 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
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
- 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)
- 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, includes all DataStax enhancements from earlier releases, and adds these production-certified changes:
- 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.
- Masked sensitive configuration options in the KryoShimServiceLoader logs.
- Fixed a concurrency issue in TraverserSet.
DSE 6.0.4 release notes
8 October 2018
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
DSE 6.0.4 Important bug fix
- Fix wrong offset in size calculation in trie builder. (DB-2477)
DSE 6.0.4 Known issue:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
6.0.4 Components
- Apache Solr™ 6.0.1.1.2338
- Apache Spark™ 2.2.2.5
- Apache Tomcat® 8.0.47
- DataStax Bulk Loader 1.1.0
- 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
cassandra-env.sh
The location of the cassandra-env.sh file depends on the type of installation:Package installations | /etc/dse/cassandra/cassandra-env.sh |
Tarball installations | installation_location/resources/cassandra/conf/cassandra-env.sh |
20 September 2018
6.0.3 DSE core | 6.0.3 DSE Graph |
6.0.3 DSE Analytics | 6.0.3 DSE Search |
6.0.3 DSEFS |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.3 Components
- Apache Solr™ 6.0.1.1.2338 *
- Apache Spark™ 2.2.2.5 *
- Apache Tomcat® 8.0.47
- DataStax Bulk Loader 1.1.0
- 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
- 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)
- 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
- 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)
- 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
- 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
- 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)
- 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)
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
- 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
- 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)
- 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
- 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)
- Jetty Http Utility CVE-2017-7656
- Jetty Http Utility CVE-2017-7657
- Jetty Http Utility CVE-2017-7658
- Jetty Server Core CVE-2018-12538
- Jetty Utilities CVE-2018-12536
- 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
- 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)
- 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
- Maximum evaluation timeout limit is 1094 days. (DSP-16709)
- Gremlin evaluation_timeout parameter:
schema.config().option('graph.traversal_sources.g.evaluation_timeout').set(Duration.ofDays(1094))
- dse.yaml options: analytic_evaluation_timeout, realtime_evaluation_timeout
- Gremlin evaluation_timeout parameter:
- 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.
- 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 .
- 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
- 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)
- 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 |
cassandra-env.sh
The location of the cassandra-env.sh file depends on the type of installation:Package installations | /etc/dse/cassandra/cassandra-env.sh |
Tarball installations | installation_location/resources/cassandra/conf/cassandra-env.sh |
19 July 2018
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 |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.2 Components
- Apache Solr™ 6.0.1.1.2321 *
- Apache Spark™ 2.2.1.2
- Apache Tomcat® 8.0.47
- DataStax Bulk Loader 1.1.0 *
- 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
- sstableloader supports custom config file locations. (DSP-16092)
- -d option to create local encryption keys without configuring the directory in dse.yaml. (DSP-15380)
- 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:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
- 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)
- 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.
- Idle DSEFS internode connections are closed after 120 seconds. Configurable with new dse.yaml option internode_idle_connection_timeout_ms.
- Configurable connection pool with core_max_concurrent_connections_per_host.
- 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
- 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)
- 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
- DataStax Bulk Loader (dsbulk) version 1.1.0 is automatically installed with DataStax Enterprise 6.0.2, and can also be installed as a standalone tool. See DataStax Bulk Loader 1.1.0 release notes. (DSP-16484)
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
- 6.0.1 Components
- 6.0.1 Highlights
- DSE 6.0.1 Known issues
- Cassandra enhancements for DSE 6.0.1
- General upgrade advice DSE 6.0.1
- TinkerPop changes for 6.0.1
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 |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.1 Components
- Apache Solr™ 6.0.1.1.2295 *
- Apache Spark™ 2.2.1.2 *
- Apache Tomcat® 8.0.47
- DataStax Bulk Loader 1.0.2 *
- 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:
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
- 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
- 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)
- 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.
- 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)
- 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
- Can't quote file patterns in DSEFS shell. (DSP-15550)
6.0.1 DSE Graph
- 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)
- 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
- Output Solr foreign filter cache warning only on classes other than DSE classes. (DSP-15625)
- Solr security upgrades bundle. (DSP-15978)
- Apache Directory API All: CVE-2015-3250
- Apache Hadoop Common: CVE-2016-5393, CVE-2017-15713, CVE-2016-3086
- Apache Tika parsers: CVE-2018-1339
- Bouncy Castle Provider: CVE-2018-5382
- Data Mapper for Jackson: CVE-2018-5968, CVE-2017-17485, CVE-2017-15095, CVE-2018-7489, CVE-2018-5968, CVE-2017-7525
- Guava: Google Core Libraries for Java: CVE-2018-10237
- Simple XML: CVE-2017-1000190
- Xerces2-j: CVE-2013-4002
- uimaj-core: CVE-2017-15691
- 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)
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, includes all DataStax enhancements from earlier releases, 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.
- 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
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 |
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 |
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
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 |
The DSE Advanced Performance feature introduced in DSE 6.0 included a fundamental architecture change. Performance is highly dependent on data access patterns and varies from customer to customer. This upgrade impact affects only DataStax customers using DSE Search and/or DSE Graph.
In response to this scenario:
- DataStax has extended DSE 5.1 end of life (EOL) support to April 18, 2024.
- DataStax is offering a free half-day Upgrade Assessment. This assessment is a DataStax Services engagement designed to assess the upgrade compatibility of your DSE 5.1 deployment. If you are using DSE 5.1 and plan to upgrade to DSE 6.0 or DSE 6.7 or DSE 6.8, contact DataStax to schedule your complimentary assessment.
- DataStax continues to investigate performance differences related to DSE Search and DSE Graph that occur after some upgrades to DSE 6.0 and DSE 6.7. Additional details have been and will continue to be included in DSE release notes.
- DataStax recommends 16 or more logical cores for Advanced Performance nodes.
6.0.0 Components
- Apache Solr™ 6.0.1.1.2234
- Apache Spark™ 2.2.0.14
- Apache Tomcat® 8.0.47
- DataStax Bulk Loader 1.0.1
- 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
- SASI indexes.
- in OpsCenter.
- 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
- Possible data loss when using DSE Tiered Storage. (DB-3404)Warning: If using DSE Tiered Storage, you must immediately upgrade to at least DSE 5.1.16, DSE 6.0.9, or DSE 6.7.4. Be sure to follow the upgrade instructions.
- 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:
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)
- aggregated_request_timeout_in_ms
- batchlog_endpoint_strategy to improve batchlog endpoint selection. (DB-1367)
- client_timeout_sec, cancel_timeout_sec, file_cache_size_in_mb, tpc_cores, tpc_io_cores, io_global_queue_depth
- The rpc_* properties are deprecated and renamed to native_transport_*. (DB-1130)
- streaming_connections_per_host
- key_cache_* settings are no longer used in new SSTable format, but retained to support existing SSTable format
- 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:
- batch_size_warn_threshold_in_kb: 64
- column_index_size_in_kb: 16
- memtable_flush_writers: 4
- roles_validity_in_ms: 120000 (2 minutes)
- permissions_validity_in_ms: 120000 (2 minutes)
- 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)
- 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
- 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)
- 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
- Importing graphs using DseGraphFrame.
- DSE Analytics: Additional configuration is required when enabling context-per-jvm in the Spark Jobserver. (DSP-15163)
- 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.
- DSE does not work with Spark Crypto based encryption. (DSP-14140)
6.0.0 DSEFS
- 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
- 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)
- 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
- 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)
- 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
- The dsetool index_checks use an Apache Lucene® experimental feature.
- Search index TTL Expiration thread loops without effect with live indexing (RT indexing). (DSP-16038)
- DSE Search is very IO intensive. Performance is impacted by the Thread Per
Core (TPC) asynchronous read and write paths architecture. (DB-707)Before using DSE Search in DSE 6.0 and later, review and follow the DataStax recommendations:
- On search nodes, change the
tpc_cores
value from its default to the number of physical CPUs. Refer to Tuning TPC cores. - Disable AIO and set the
file_cache_size_in_mb
value to512
. Refer to Disabling AIO. - Locate DSE Cassandra transactional data and Solr-based DSE Search data on separate Solid State Drives (SSDs). Refer to Set the location of search indexes.
- Plan for sufficient memory resources and disk space to meet operational requirements. Refer to Capacity planning for DSE Search.
- On search nodes, change the
- 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 . (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 fromsolr.TextField
tosolr.StrField
. - Updated wikipedia demo syntax.
enable_tokenized_text_copy_fields
replacesenable_string_copy_fields
in spaceSaving profiles.- The spaceSavingNoTextfield resource generation profile is removed.
- The default for CQL
- 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 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 solrvalidation.log is removed. You can safely remove appender
SolrValidationErrorAppender and the logger SolrValidationErrorLogger from
logback.xml. Indexing errors manifest as:
- 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 .
- 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
- 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)
- 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 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)
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.
- 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.