Version 4.0.7

Released on 2019/10/24.


Please consult the Upgrade Notes before upgrading from CrateDB 3.x or earlier. Before upgrading to 4.0.7 you should be running a CrateDB cluster that is at least on 3.0.7.

We recommend that you upgrade to the latest 3.3 release before moving to 4.0.7.

If you want to perform a rolling upgrade, your current CrateDB version number must be at least Version 4.0.2. Any upgrade from a version prior to this will require a full restart upgrade.

When restarting, CrateDB will migrate indexes to a newer format. Depending on the amount of data, this may delay node start-up time.


Tables that were created prior CrateDB 3.x will not function with 4.x and must be recreated before moving to 4.x.x.

You can recreate tables using COPY TO and COPY FROM or by inserting the data into a new table.

Before upgrading, you should back up your data.

Table of Contents

See the Version 4.0.0 release notes for a full list of changes in the 4.0 series.


  • Fixed the handling of array values when used in the SET GLOBAL statement.

  • Improved the handling of NULL values in SET GLOBAL statement. They now no longer cause a NullPointerException but instead advice users to use RESET GLOBAL to reset settings to their default value.

  • Fixed evaluation of generated columns when they are based on columns with default constraints and no user given values. Default constraints where not taken into account before.

  • Fixed an issue when using try_cast('invalid-ts' as timestamp) which resulted in a parsing exception instead of an expected NULL value.

  • Tuned the circuit breaker mechanism to reduce the chance of it rejecting queries under low cluster load.

  • Closed some gaps in the memory accounting used for the circuit breaker mechanism. This should help prevent memory intense queries from triggering long GC pauses as they’ll be rejected earlier.

  • Made the documented setting public, so that it can be adjusted using SET GLOBAL.

  • Improved the migration logic for partitioned tables which have been created in CrateDB 2.x. If all current partitions of a partitioned tables have been created in CrateDB 3.x, the table won’t have to be re-indexed anymore to upgrade to CrateDB 4.0+.

  • Changed the error message returned when a CREATE REPOSITORY statement fails so that it includes more information about the cause of the failure.