/
2.0.7.rst
108 lines (72 loc) · 3.17 KB
/
2.0.7.rst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
.. _version_2.0.7:
=============
Version 2.0.7
=============
Released on 2017/08/08.
.. NOTE::
If you are upgrading a cluster, you must be running CrateDB
:ref:`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 :ref:`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 :ref:`version_2.0.0`, and will require a `full restart
upgrade`_.
Consult the upgrade notes for :ref:`Version 2.0.0
<version_2.0.0_upgrade_notes>` 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`_.
.. _rolling upgrade: https://crate.io/docs/crate/howtos/en/latest/admin/rolling-upgrade.html
.. _full restart upgrade: https://crate.io/docs/crate/howtos/en/latest/admin/full-restart-upgrade.html
.. _back up your data: https://crate.io/docs/crate/reference/en/latest/admin/snapshots.html
.. rubric:: Table of contents
.. contents::
:local:
Upgrade Notes
=============
Due to a bug introduced in :ref:`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 of
``1000``.
Fixes
-----
- Fixed an issue where ``COPY FROM``, ``INSERT-BY-SUBQUERY`` or bulk
``INSERT`` 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`` :ref:`expression <gloss-expression>` is not a boolean.
- Fixed an issue which caused an exception if ``EXPLAIN`` is used on a
statement that uses the ``ANY (array_expression)`` :ref:`operator
<gloss-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 :ref:`scalar functions <scalar-functions>`. E.g.::
SELECT DISTINCT upper(name) FROM t
- Fixed a null pointer exception when running ``SELECT port FROM sys.nodes``
while ``psql.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
)