Version 5.5.2¶
Released on 2023-12-21.
Note
If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.5.2.
We recommend that you upgrade to the latest 5.4 release before moving to 5.5.2.
A rolling upgrade from 5.4.x to 5.5.2 is supported. Before upgrading, you should back up your data.
Warning
Tables that were created before CrateDB 4.x will not function with 5.x and must be recreated before moving to 5.x.x.
You can recreate tables using COPY TO
and COPY FROM
or by
inserting the data into a new table.
Table of contents
See the Version 5.5.0 release notes for a full list of changes in the 5.5 series.
Security Fixes¶
The HTTP transport will not trust any
X-Real-IP
header by default anymore. This prevents a client from spoofing its IP address by setting these headers and thus bypassing IP based authentication with is enabled by default for thecrate
superuser. To keep allowing theX-Real-IP
header to be trusted, you have to explicitly enable it via the auth.trust.http_support_x_real_ip node setting.
Packaging Changes¶
The RPM and DEB packages changed slightly to unify the build process. The most important change is that the
crate
service no longer automatically starts after package installation, to allow changing the configuration first.Other than that, the structure is now:
bin
,jdk
andlib
are installed into/usr/share/crate
. In the RPM package this used to be in/opt/crate
.The home directory of the crate user is
/usr/share/crate
changes, notice, license are in
/usr/share/doc/crate
service file is in
/usr/lib/systemd/system
The
crate.yml
configuration file is in/etc/crate/
The default environment configuration file at RPM packages changed to
/etc/default/crate
to be consistent with the DEB package. The old location at/etc/sysconfig/crate
is not supported anymore.
If you haven’t made any significant configuration changes the new packages should keep working out of the box.
Important for Debian and Ubuntu users: There is now a new repository.
You’ll have to update the repository configuration to install CrateDB newer than 5.5.1.
This new repository keeps old CrateDB versions in the
Package
index and also contains packages for ARM64.
Fixes¶
Fixed an issue that caused queries with a
NULLIF
orOR
expression in theWHERE
clause to fail evaluatingNULL
correctly.Fixed a race condition that could lead to a memory leak when relocating a shard from one node to another and concurrently running queries.
- Fixed a performance regression introduced in 5.5.0 for queries with
GROUP BY
on a single column.
Fixed an issue that allowed adding a column under the same name as an existing index definition.
Fixed an issue with wrong escaping of backslash in C-style escaped strings.
SELECT E'\%'
used to return\%
instead of%
.Fixed an issue which led to
SQLParseException
when using an escaped quote\'
at the end of C-style string.Fixed an issue that caused
ALTER TABLE DROP COLUMN
to falsely report success on dropping system columns despite any follow up queries on the dropped columns work as expected. Now an exception is thrown.Fixed the SQL parser to be lenient with the position of constraint definitions at the column definition of
CREATE TABLE
andALTER TABLE
statements. E.g.CREATE TABLE t (a INT NULL DEFAULT 1)
is now accepted while before theNULL
constraint had to be placed after theDEFAULT
constraint.Fixed an issue introduced with CrateDB
5.5.0
that prevented importing JSON file viaCOPY FROM
if the file contained JSON entries with same keys but in different order.