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-IPheader 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 thecratesuperuser. To keep allowing theX-Real-IPheader 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
crateservice no longer automatically starts after package installation, to allow changing the configuration first.Other than that, the structure is now:
bin,jdkandlibare 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/cratechanges, notice, license are in
/usr/share/doc/crateservice file is in
/usr/lib/systemd/systemThe
crate.ymlconfiguration file is in/etc/crate/The default environment configuration file at RPM packages changed to
/etc/default/crateto be consistent with the DEB package. The old location at/etc/sysconfig/crateis 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
Packageindex and also contains packages for ARM64.
Fixes¶
Fixed an issue that caused queries with a
NULLIForORexpression in theWHEREclause to fail evaluatingNULLcorrectly.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 BYon 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
SQLParseExceptionwhen using an escaped quote\'at the end of C-style string.Fixed an issue that caused
ALTER TABLE DROP COLUMNto 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 TABLEandALTER TABLEstatements. E.g.CREATE TABLE t (a INT NULL DEFAULT 1)is now accepted while before theNULLconstraint had to be placed after theDEFAULTconstraint.Fixed an issue introduced with CrateDB
5.5.0that prevented importing JSON file viaCOPY FROMif the file contained JSON entries with same keys but in different order.