.. _version_4.6.4:

=============
Version 4.6.4
=============

Released on 2021-09-30.

.. NOTE::

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

    We recommend that you upgrade to the latest 4.3 release before moving to
    4.6.4.

    A rolling upgrade from 4.5.x to 4.6.4 is supported.

    Before upgrading, you should `back up your data`_.

.. _back up your data: https://crate.io/docs/crate/reference/en/latest/admin/snapshots.html



.. rubric:: Table of Contents

.. contents::
   :local:


See the :ref:`version_4.6.0` release notes for a full list of changes in the
4.6 series.

Fixes
=====

- Improved the internal dynamic batching mechanism for operations like ``INSERT
  INTO FROM QUERY`` and ``COPY FROM``. It should more aggressively throttle
  these operations in case of memory pressure, reducing the chance of them
  failing with a ``CircuitBreakingException``.

- Fixed a second issue that could cause clients to receive a ``400 Bad
  Request`` error when using the HTTP interface early during node startup. The
  previous fix within the ``4.6.3`` release was incomplete.

- Reduced the default :ref:`initial concurrency limit
  <overload_protection.dml.initial_concurrency>` for operations like ``INSERT
  INTO FROM QUERY`` from 50 to 5. This is closer to the behavior before 4.6.0.
  If the nodes have spare capacity for a higher concurrency the effective
  concurrency limit will grow dynamically over time, but it will start out
  lower to avoid overloading a cluster with an initial spike of internal
  requests.

- Added various :ref:`overload protection <overload_protection>` settings to
  control the concurrency of operations like ``INSERT INTO FROM QUERY``.

- Fixed an issue that caused ``ALTER TABLE <tbl> ADD COLUMN <columName> INDEX
  USING FULLTEXT`` statements to ignore the ``INDEX USING FULLTEXT`` part.

- Fixed a performance regression introduced in 4.2 which could cause queries
  including joins, virtual tables and ``LIMIT`` operators to run slower than
  before.

- Fixed an issue that caused ``INSERT INTO`` statements to fail on partitioned
  tables where the partitioned column is generated and the column and value are
  provided in the statement.

- Fixed an issue that caused showing an incorrect log message in case of an
  authentication failure. "Password authentication" used to be shown instead
  of the actual authentication method name.

- Fixed an issue that caused ``NullPointerException`` when inserting into
  previously altered tables that were partitioned and had generated columns.

- Fixed an issue in the administration console: Nested arrays in
  ``OBJECT(IGNORED)`` columns will now be displayed correctly.