############# Release Notes ############# 4.5.6 ===== Fixes ----- * Disabled debug SevError trace event when applyMutations is cancelled * Fixed problem skipping publishable files * Publish debug symbols for files for all platforms 4.5.5 ===== Fixes ----- * DR and backup restoration could stall when encountering transactions larger than 5 MB. * The ``_valid`` field in layer status was missing when the client couldn't communicate with the cluster. * Backup uploads to blobstore were not verifying their checksums. 4.5.4 ===== Fixes ----- * Creating transactions with the multi-version client was not thread safe. * The status latency probe is now performed separately from other status gathering code. * Watches could fire early needlessly and in rare cases may not fire when they should. * Change the type of the ``query_queue_max`` attribute in status from an object to an integer. * ``fdbserver`` arguments were not properly preserved in log output. * Increase priority of getting read versions over commits on the master proxy. * Java: Inserting a non-Long number into a Tuple and reading it back out threw a ClassCastException. 4.5.3 ===== Fdbcli ------ * Fix: key and value output did not escape the backslash ('\\') character. * Spaces in key and value output are no longer escaped. Java-completable ---------------- * Fix: Range queries with a limit could sometimes return fewer items than requested. Status ------ * Fix: backup and DR ``range_bytes_written`` and ``mutation_log_bytes_written`` are reset when backup or DR is restarted. * Added ``_valid`` and ``_error`` fields to layer status. 4.5.2 ===== Fixes ----- * Fixed thread safety issues with backup and DR. * Fixed a load balancing problem when a machine was already failed when a client starts. * Golang: adding an explicit conflict key included the key immediately following in the conflict range. 4.5.1 ===== Features -------- * When a process is added to a cluster, it will be given data at a much faster rate. * Improved the speed at which the cluster reacts to a failed process. Fixes ----- * Calculating status in large databases could cause slow tasks. * Fdbrestore printed an error when passed the ``--help`` flag. * A multi-version API external client that was a duplicate could cause a crash at client shutdown. * A multi-version API external client that failed to load would cause a crash at client shutdown. * Status could report an incorrect database size in rare scenarios. * Data distribution would stop working (both exclude and new recruitment) if a call to commit on the storage server could hang indefinitely. * ``fdbcli`` would quit on some commands that were not errors or continue after some real errors when run with ``--exec``. * Trace files generated by clients using the multi-version API could have name collisions. Fdbcli ------ * Client issues are now aggregated by name and have an addresses list. Status details prints a truncated view of these. * Status json lists incompatible clients. * Status json includes processes that couldn't be reached in the processes list. * Exclude does not run if it will drop free space below 10%. This check can be bypassed by adding the word ``FORCE`` as a parameter. * Added write mode, which must be turned on to set or clear keys. * Added the ``kill`` command for killing processes. Fdbmonitor ---------- * The restart logic for dead child processes now uses a backoff. * Added option to remove WD40 environment variables. * ``fdbmonitor`` will create the lockfile directory if it doesn't exist. * Added support for monitoring symbolic link changes in the configuration file path. * Added an option to disable killing of child processes when the configuration changes. * Added support for larger process IDs. Backup ------ * Blobstore URLs can now contain multiple IP addresses, separated by commas, over which to load balance requests. Bindings -------- * API version updated to 450. There are no behavior changes in this API version. See the :ref:`API version upgrade guide ` for upgrade details. * Add error predicate testing to client bindings. This new functionality should help complex use cases write correct transaction retry loops where dispatching on error classes is needed. Other Changes ------------- * Maximum shard size increased from 100MB to 500MB. * Support backslash as an escape character for semicolons and backslashes when setting network options using environment variables. * Add ``logGroup`` attribute to rolled trace events. * Calling get range with a begin key == ``\xff\xff/worker_interfaces`` will return a list of serialized worker interfaces. Calling set with the key ``\xff\xff/reboot_worker`` and a value which is a serialized worker interface will reboot that process. Earlier release notes --------------------- * :doc:`4.4 (API Version 440) ` * :doc:`4.3 (API Version 430) ` * :doc:`4.2 (API Version 420) ` * :doc:`4.1 (API Version 410) ` * :doc:`4.0 (API Version 400) ` * :doc:`3.0 (API Version 300) ` * :doc:`2.0 (API Version 200) ` * :doc:`1.0 (API Version 100) ` * :doc:`Beta 3 (API Version 23) ` * :doc:`Beta 2 (API Version 22) ` * :doc:`Beta 1 (API Version 21) ` * :doc:`Alpha 6 (API Version 16) ` * :doc:`Alpha 5 (API Version 14) `