Version 6.0.1

Released on 2025-09-23.

Warning

Do not use this version when upgrading from any previous version containing tables created before Version 5.5.0 as this may result in data loss!

If the cluster contains tables created before Version 5.5.0, after upgrading to Version 6.0.1 certain actions on such tables like deleting partitions, changing settings, rename, swap, etc. can lead to corrupted table which causes all the data of the columns created in versions before Version 5.5.0 to be shown as NULL. The bug has been fixed in Version 6.0.6, so we highly recommend to avoid upgrading to any earlier 6.0.x version.

Once already affected by the bug, existing data may be lost forever, while new data (via INSERT or UPDATE) can be retrieved normally.

Note

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

We recommend that you upgrade to the latest 5.10 release before moving to 6.0.1.

A rolling upgrade from >= 5.10.1 to 6.0.1 is supported. Before upgrading, you should back up your data.

Warning

Tables that were created before CrateDB 5.x will not function with 6.x and must be recreated before moving to 6.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 6.0.0 release notes for a full list of changes in the 6.0 series.

Fixes

  • Fixed a regression introduced in 5.10.11 that caused generated columns or DEFAULT clauses to not be evaluated on an UPDATE or INSERT INTO (..) ON CONFLICT statement, leading to documents containing null values.

  • Fixed a race condition in the PostgreSQL wire protocol implementation that could lead to it swallowing outbound messages. This led to undefined client behavior and a memory leak on the server The JDBC client for example would sometimes fail with:

    Received resultset tuples, but no field structure for them
    
  • Fixed an issue that led to replication errors due to the seqNo and primaryTerm information missing when replicating new records written as part of INSERT INTO or COPY FROM statements from the primary to replica shards when running in a mixed cluster with 6.0.0 and an earlier version before 5.10.11.

  • Fixed an issue that could lead to a NullPointerException when running DELETE queries.

  • Fixed an issue that could cause SELECT statements to get stuck if executed via a PostgreSQL client that set the maxRow option as part of an EXECUTE message and it matched the number of result rows exactly.

  • Fixed a regression introduced in 6.0.0 that could cause INSERT INTO statements to get stuck during a network partition.

  • Fixed intermittent subscription loss in logical replication during rolling upgrades.

  • Fixed an issue that prevented users to change the value of the indices.recovery.max_concurrent_file_chunks setting.

  • Fixed an issue that could lead to an OutOfMemoryError when running a query with aggregations under memory pressure in a multi-node cluster.

  • Improved error message when attempting to use a column in PARTITION BY clause of a window function, which is not also included in the GROUP BY, e.g.:

    SELECT sum(x) OVER(PARTITION BY x, y)
    FROM unnest([1], [6]) AS t (x, y)
    GROUP BY x
    
  • Fixed an issue that caused a NullPointerException when inserting NULL to an object column with a non-deterministic sub-column.

  • Fixed an issue that caused an IndexOutOfBoundsException when updating a generated column that references a PRIMARY KEY column.

  • Fixed the usage of the FORCE_MERGE thread pool to support parallel shard operations per node when increasing the pools size. As the default size is 1, this change does not affect existing installations.