Version 2.0.7¶
Released on 2017/08/08.
Note
If you are upgrading a cluster, you must be running CrateDB Version 1.1.3 or higher before you upgrade to 2.0.7.
If you want to perform a rolling upgrade, your current CrateDB version number must be Version 2.0.0. If you want to upgrade from a version prior to this, the upgrade will introduce all of the breaking changes listed for Version 2.0.0, and will require a full restart upgrade.
Consult the upgrade notes for Version 2.0.0 when upgrading.
Warning
If you’re using CrateDB’s BLOB storage you should consult the Upgrade Notes.
Before upgrading, you should back up your data.
Table of contents
Upgrade Notes¶
Due to a bug introduced in Version 2.0.0 that can cause loss of BLOB data, it is necessary to perform a rolling upgrade if you’re running a version >= 2.0.0 and < 2.0.4 and using BLOB tables.
Additionally, the number of replicas needs to be set to at least 1
for
all blob tables and you need to make sure that data is fully replicated
before continuing.
Only then you may upgrade one node after each other.
Changelog¶
Changes¶
Enabled
mapping.total_fields.limit
setting for tables in order to be able to increase the maximum number of columns higher than the default of1000
.
Fixes¶
Fixed an issue where
COPY FROM
,INSERT-BY-SUBQUERY
or bulkINSERT
statements could not be killed when high pressure is put on data node thread pools.Fixed the error message to be more descriptive when the condition in a
CASE/WHEN
expression is not a boolean.Fixed an issue which caused an exception if
EXPLAIN
is used on a statement that uses theANY (array_expression)
operator.Allow support of conditional expressions with different return types that can be converted to a single return type.
Fixed support for negate on null in conditional expressions.
Fixed support for setting
write.wait_for_active_shards
on a partitioned table.Optimized the algorithm that determines the best ordering of the tables in a
JOIN
.Fixed a regression causing incorrect results for queries with
DISTINCT
on scalar functions. E.g.:SELECT DISTINCT upper(name) FROM t
Fixed a null pointer exception when running
SELECT port FROM sys.nodes
whilepsql.enabled: false
was set.Implemented
NOT NULL
constraint validation for nested object columns, which was previously ignored. E.g.:CREATE TABLE test ( stuff object(dynamic) AS ( level1 object(dynamic) AS ( level2 string not null ) NOT NULL ) NOT NULL )