.. _version_2.3.5:

=============
Version 2.3.5
=============

Released on 2018/03/20.

.. NOTE::

    If you are upgrading a cluster, you must be running CrateDB
    :ref:`version_1.1.3` or higher before you upgrade to 2.3.5.

    If you want to perform a `rolling upgrade`_, your current CrateDB version
    number must be at least :ref:`version_2.3.0`. Any upgrade from a version
    prior to this will require a `full restart upgrade`_.

.. WARNING::

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

.. _rolling upgrade: https://crate.io/docs/crate/howtos/en/latest/admin/rolling-upgrade.html
.. _full restart upgrade: https://crate.io/docs/crate/howtos/en/latest/admin/full-restart-upgrade.html
.. _back up your data: https://crate.io/docs/crate/reference/en/latest/admin/snapshots.html

.. rubric:: Table of contents

.. contents::
   :local:

Changelog
=========

Fixes
-----

- Fixed handling of ``NULL`` values correctly in the cluster tab of the Admin
  UI.

- Updated the *Size* label in the table detail tab of the Admin UI to *Size
  (Sum of primary shards)*.

- Fixed an issue where ordering by a ``TIMESTAMP`` :ref:`scalar <gloss-scalar>`
  would cause the query to get stuck.

- Fixed a potential ``NullPointerException`` when running ``SHOW CREATE TABLE``
  with plain type indices.

- Fixed an issue that would cause queries ordered by a ``STRING`` :ref:`scalar
  <gloss-scalar>` with possible ``NULL`` values to get stuck.

- Fixed an issue that caused nodes to crash with ``OutOfMemoryException`` when
  executing queries with ``ORDER BY`` on large data sets. Instead, the query
  circuit breaker is tripped, the query is killed and the node’s health is
  unaffected.

- Improved the error handling for a race condition to make sure it doesn't
  cause queries to get stuck.

- Improved the behaviour in case the cluster drops below the number of minimum
  nodes. The root REST endpoint will no longer timeout and ``sys.checks`` can
  still be queried, similar to how ``sys.nodes`` can still be queried.
