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.4
Fixes
- Creating transactions with the multi-version client was not thread safe. <rdar://problem/28546688>
- The status latency probe is now performed separately from other status gathering code. <rdar://problem/28119480>
- Watches could fire early needlessly and in rare cases may not fire when they should. <rdar://problem/27957628>
- Change the type of the
query_queue_max
attribute in status from an object to an integer. <rdar://problem/26709846>
fdbserver
arguments were not properly preserved in log output. <rdar://problem/28407513>
- 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. <rdar://problem/28260594>
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. <rdar://problem/24075759>
- Improved the speed at which the cluster reacts to a failed process.
Fixes
- Calculating status in large databases could cause slow tasks. <rdar://problem/25805251>
- Fdbrestore printed an error when passed the
--help
flag. <rdar://problem/26126793>
- A multi-version API external client that was a duplicate could cause a crash at client shutdown. <rdar://problem/25838039>
- A multi-version API external client that failed to load would cause a crash at client shutdown. <rdar://problem/26611919>
- Status could report an incorrect database size in rare scenarios. <rdar://problem/25295683>
- Data distribution would stop working (both exclude and new recruitment) if a call to commit on the storage server could hang indefinitely. <rdar://problem/26276166>
fdbcli
would quit on some commands that were not errors or continue after some real errors when run with --exec
. <rdar://problem/25755317>
- Trace files generated by clients using the multi-version API could have name collisions. <rdar://problem/25884486>
Fdbcli
- Client issues are now aggregated by name and have an addresses list. Status details prints a truncated view of these. <rdar://problem/23469072>
- Status json lists incompatible clients. <rdar://problem/24415680>
- Status json includes processes that couldn’t be reached in the processes list. <rdar://problem/26703551>
- 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. <rdar://problem/22922266>
- Added write mode, which must be turned on to set or clear keys. <rdar://problem/25779641>
- Added the
kill
command for killing processes.
Backup
- Blobstore URLs can now contain multiple IP addresses, separated by commas, over which to load balance requests. <rdar://problem/23095572>
Bindings
- API version updated to 450. There are no behavior changes in this API version. See the 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. <rdar://problem/24492860>
Other Changes
- Maximum shard size increased from 100MB to 500MB. <rdar://problem/21225031>
- Support backslash as an escape character for semicolons and backslashes when setting network options using environment variables. <rdar://problem/23902390>
- Add
logGroup
attribute to rolled trace events. <rdar://problem/25726509>
- 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. <rdar://problem/26101019>