Release Notes


  • Same as 7.1.8 release with AVX enabled.


  • Released with AVX disabled.
  • Fixed a performance regression in network run loop. (PR #7342)
  • Added RSS bytes for processes in status json output and corrected available_bytes calculation. (PR #7348)
  • Added versionstamp support in tuples. (PR #7313)
  • Fixed some spammy trace events. (PR #7300)
  • Fixed a memory corruption bug for using streaming peeks. (PR #7288)
  • Fixed a hang bug in fdbcli exclude command. (PR #7268)
  • Fixed an issue that a remote TLog blocks peeks. (PR #7255)
  • Fixed a connection issue using hostnames. (PR #7264)
  • Added support of the reboot command in go bindings. (PR #7270)
  • Fixed several issues in profiling special keys using GlobalConfig. (PR #7120)
  • Fixed a stuck transaction system bug due to inconsistent recovery transaction version. (PR #7261)
  • Fixed a unknown_error crash due to not resolving hostnames. (PR #7254)
  • Fixed a heap-use-after-free bug. (PR #7250)
  • Fixed a performance issue that remote TLogs are sending too many pops to log routers. (PR #7235)
  • Fixed an issue that SharedTLogs are not displaced and leaking disk space. (PR #7246)
  • Fixed an issue that coordinatorsKey does not store DNS names. (PR #7203)
  • Fixed a sequential execution issue for fdbcli kill, suspend, and expensive_data_check commands. (PR #7211)


  • Same as 7.1.6 release with AVX enabled.


  • Released with AVX disabled.
  • Fixed a fdbserver crash when given invalid knob name. (PR #7189)
  • Fixed a storage server bug that read data after its failure. (PR #7217)


  • Fixed a fdbcli kill bug that was not killing in parallel. (PR #7150)
  • Fixed a bug that prevents a peer from sending messages on a previously incompatible connection. (PR #7124)
  • Added rocksdb throttling counters to trace event. (PR #7096)
  • Added a backtrace before throwing serialization_failed. (PR #7155)


  • Fixed a bug that prevents client from connecting to a cluster. (PR #7060)
  • Fixed a performance bug that overloads Resolver CPU. (PR #7068)
  • Optimized storage server performance for “get range and flat map” feature. (PR #7078)
  • Optimized both Proxy performance and Resolver (when version vector is enabled) performance. (PR #7076)
  • Fixed a key size limit bug when using tenants. (PR #6986)
  • Fixed operation_failed thrown incorrectly from transactions. (PR #6993)
  • Fixed a version vector bug when GRV cache is used. (PR #7057)
  • Fixed orphaned storage server due to force recovery. (PR #7028)
  • Fixed a bug that a storage server reads stale cluster ID. (PR #7026)
  • Fixed a storage server exclusion status bug that affects wiggling. (PR #6984)
  • Fixed a bug that relocate shard tasks move data to a removed team. (PR #7023)
  • Fixed recruitment thrashing when there are temporarily multiple cluster controllers. (PR #7001)
  • Fixed change feed deletion due to multiple sources race. (PR #6987)
  • Fixed TLog crash if more TLogs are absent than the replication factor. (PR #6991)
  • Added hostname DNS resolution logic for cluster connection string. (PR #6998)
  • Fixed a limit bug in indexPrefetch. (PR #7005)


  • Added logging measuring commit compute duration. (PR #6906)
  • RocksDb used aggregated property metrics for pending compaction bytes. (PR #6867)
  • Fixed a perpetual wiggle bug that would not react to a pause. (PR #6933)
  • Fixed a crash of data distributor. (PR #6938)
  • Added new c libs to client package. (PR #6921)
  • Fixed a bug that prevents a cluster from fully recovered state after taking a snapshot. (PR #6892)


  • Fixed failing upgrades due to non-persisted initial cluster version. (PR #6864)
  • Fixed a client load balancing bug because ClientDBInfo may be unintentionally not set. (PR #6878)
  • Fixed stuck LogRouter due to races of multiple PeekStream requests. (PR #6870)
  • Fixed a client-side infinite loop due to provisional GRV Proxy ID not set in GetReadVersionReply. (PR #6849)




  • Added USE_GRV_CACHE transaction option to allow read versions to be locally cached on the client side for latency optimizations. (PR #5725) (PR #6664)
  • Added “get range and flat map” feature with new APIs (see Bindings section). Storage servers are able to generate the keys in the queries based on another query. With this, upper layer can push some computations down to FDB, to improve latency and bandwidth when read. (PR #5609), (PR #6181), etc..





  • Added cluster.storage_wiggler field report storage wiggle stats (PR #6219)


  • C: Added fdb_transaction_get_range_and_flat_map function to support running queries based on another query in one request. (PR #5609)
  • Java: Added Transaction.getRangeAndFlatMap function to support running queries based on another query in one request. (PR #5609)

Other Changes

  • OpenTracing support is now deprecated in favor of OpenTelemetry tracing, which will be enabled in a future release. (PR #6478)
  • Changed memory option to limit resident memory instead of virtual memory. Added a new memory_vsize option if limiting virtual memory is desired. (PR #6719)
  • Change perpetual storage wiggle to wiggle the storage servers based on their created time. (PR #6219)