Release Notes

7.4.0

Features (Supported)

  • Added support to restore from new backup’s partitioned log files. (PR #11901)

  • Added LRU-like cache replacement for in-memory page checksums to save memory usage. (PR #11194)

  • Added gray failure features to track remote processes and allow complaints from storage servers. (PR #11717), (PR #11753)

  • Added network option to disable non-TLS connections. (PR #9984)

Features (Experimental)

  • Added support to bulk load TBs’ snapshot of key-values from S3 to an empty cluster. (Bulk Load User Guide), (PR #11369)

  • Added support to bulk dump TBs’ snapshot of key-values to S3 from an idle cluster. (Bulk Dump User Guide), (PR #11780)

  • Added support to upload/download to/from S3 (for bulk dump and bulk load). (PR #11899)

  • Added support to perform exclusive read range lock that blocks user write traffic to a specific range. (Range Lock User Guide), (PR #11693)

  • Added multiple improvements to the version vector feature, so that commits are sent only to tlogs buddied with the storage server that will receive the mutations.

  • Added support to compute mutation and accumulative checksums to conduct real-time detection of mutation corruptions on write path. (PR #11255)

  • Added support to detect hot shards and throttle commits to them. (PR #10970)

  • Added support to synthesize test data on a cluster. (PR #11107)

  • Added support to compare storage replicas on reads. (PR #11235)

  • Added gRPC integration with Flow. (PR #11782), (PR #11892), (PR #12023)

Performance

  • Improved storage performance with ptree optimizations. (PR #11435)

  • Added yields to backup agents to avoid slow tasks. (PR #10878)

Fixes

  • Fixed a fdbmonitor issue on FreeBSD where child processes continued to run after fdbmonitor termination. (PR #11361)

  • Fixed issues where backup workers missed mutations and caused assertion failures. (PR #11908), (PR #12026), (PR #12046)

  • Fixed AuditStorage empty range read error. (PR #12043)

  • Fixed an issue where failover was triggered even though remote storage servers were lagging behind. (PR #11054)

  • Fixed an issue where fdbserver was not being able to join the cluster during an upgrade. (PR #9814)

  • Fixed an assert in GetMappedRange that depends on the range read returning once it has at least one result. (PR #10522)

  • Fixed an issue where clients connecting to coordination server were never getting a response. (PR #10363)

  • Fixed an issue where describeBackup() never updated continousLogEnd property. (PR #10488)

  • Fixed an issue where watch was stuck due to races. (PR #11112)

  • Fixed an issue where ConnectionMonitor would incorrectly close connections. (PR #10495)

  • Fixed an issue where TSS conversion can be stuck sometimes. (PR #10711)

  • Fixed an issue where status timeout error on Cluster Controller was incorrectly triggering recovery. (PR #10791)

Status

  • Added RocksDB version to status JSON. (PR #11868)

  • Added support to fetch a specific group of status JSON fields. (PR #10927)

  • Added gray failure excluded processes to status JSON. (PR #11758)

Bindings

  • Fixed an issue where not calling Close() on the db object would result in memory leak in Go bindings. This is a breaking change since clients are now expected to close their db to avoid memory leak. (PR #11394)

  • Fixed an issue causing SIGSEGV when network routine was started multiple times concurrently in Go bindings. (PR #11104)

  • Fixed an issue where user’s transaction function FoundationDB error was getting reset in Go bindings. (PR #11810)

  • Fixed an issue causing panic when connecting to database from multiple threads in Go bindings. (PR #10702)

  • Added support to cancel snapshots and R/O transactions in Go bindings. (PR #11614)

  • Added GetClientStatus method to database in Go bindings. (PR #11627)

Other Changes

  • Removed upgrade support from 6.2 and earlier TLogs and made xxhash checksum the default for TLog. (PR #11667)

  • Added rate keeper logs for zones with lowest tps. (PR #11067)

  • Added LOG_CONNECTION_ATTEMPTS_ENABLED and CONNECTION_LOG_DIRECTORY to log all incoming connections to an external file. (PR #11704)

  • Added exclude in progress signal to fdbcli. (PR #11569)

  • Added a sidecar container that refreshes S3 credentials. (PR #11945)

  • Fixed an issue where storage and tlog store types were not valid as part of configure command. (PR #10876)

  • Improved BytesWritten in MovingData trace event to account for non-overlapped server lists. (PR #10076)

Dependencies

  • Upgraded boost to version 1.86. (PR #11788)

  • Upgraded awssdk to version 1.11.473. (PR #11853)

  • Upgraded RocksDB to 9.7.3. (PR #11735)

  • Added support for GCC 13 and Clang 19 compilers.

Earlier release notes