Version 5.7.2 - Unreleased

Note

In development. 5.7.2 isn’t released yet. These are the release notes for the upcoming release.

Note

If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.7.2.

We recommend that you upgrade to the latest 5.6 release before moving to 5.7.2.

A rolling upgrade from 5.6.x to 5.7.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.7.0 release notes for a full list of changes in the 5.7 series.

Security Fixes

  • Disabled client-initiated renegotiation for TLS by default. This helps prevent Denial of Service (DoS) attacks.

Fixes

  • Fixed an issue leading to a ArrayIndexOutOfBoundsException instead of a user friendly error message when the WHERE` clause of a query contains all columns of a PRIMARY KEY, uses parameters for them, and binds less actual values than the required, e.g.:

    SELECT * FROM t WHERE pk_col1 = ? AND pk_col2 = ? AND pk_col3 = ?
    

    and less than 3 values are provided.

  • Added memory accounting for multi-phase execution to prevent out-of-memory errors caused by sub-queries such as ‘’SELECT * FROM t1 WHERE id IN (SELECT id FROM t2)’’ or lookup-joins with large intermediate results.

  • Fixed an issue that caused WHERE clause to fail to filter rows when the clause contained CONCAT, CURRENT_SETTING, PG_GET_FUNCTION_RESULT, or PG_ENCODING_TO_CHAR scalar functions under NOT operator.

  • Fixed an issue leading to restoring data into wrong tables when restoring a snapshot with partitioned tables using one of the renaming parameters schema_rename_pattern, schema_rename_replacement, table_rename_pattern or table_rename_replacement. Renamed table was created but used to be empty.

  • Fixed an issue leading to a ArrayIndexOutOfBoundsException when using a correlated sub-query where some of its outputs weren’t used in a parent query.