Release Notes

7.3.55

  • Same as 7.3.54 release with AVX enabled.

7.3.54

  • Addressed urgent consistency checker related issues. (PR #11736)

  • Addressed a downgrade related incompatibility issue between 7.3 patch releases. (PR #11732)

  • Added knob LOG_CONNECTION_ATTEMPTS_ENABLED to log all incoming connections. (PR #11713)

7.3.53

  • Same as 7.3.52 release with AVX enabled.

7.3.52

  • Improved Sharded Rocksdb to use a single iterator pool for all physical shards. (PR #11694)

  • Changed the default values of various Sharded Rocksdb related knobs. (PR #11706)

  • Removed CC_PAUSE_HEALTH_MONITOR knob. (PR #11701)

  • Addressed protocol incompatibility issues between 7.3 patch releases. (PR #11697), (PR #11705)

7.3.51

  • Same as 7.3.50 release with AVX enabled.

7.3.50

7.3.49

  • Same as 7.3.48 release with AVX enabled.

7.3.48

  • Added various fdb-kubernetes-monitor improvements. (PR #11456), (PR #11462), and (PR #11488)

  • Added more debug information for the fdbcli’s checkall command. (PR #11477)

  • Improved distributed consistency checker and updated the documentation. (PR #11496)

  • Fixed a known committed version computation when version vector unicast is enabled. (PR #11520)

  • Added PeerAddress to all PeerAddr/Peer TraceEvents. (PR #11521)

  • Added a dynamic knob CC_PAUSE_HEALTH_MONITOR to disable gray failure recoveries. (PR #11526)

  • Changed the default base Docker image to RockyLinux9. (PR #11549)

  • Fixed a storage server crash when there are conflicting physical shard moves. (PR #11485)

  • Fixed a rare cluster controller crash when serving status requests. (PR #11580)

7.3.47

  • Same as 7.3.46 release with AVX enabled.

7.3.46

  • Added exponential backoff when restarting fdbserver processes in fdb-kubernetes-monitor. (PR #11453)

7.3.45

  • Same as 7.3.44 release with AVX enabled.

7.3.44

  • Fixed negative free disk space in RkUpdate metrics. (PR #11413)

  • Corrected the path where the fdb-kubernetes-monitor copies the binary into when running in sidecar mode. (PR #11439)

7.3.43

  • Same as 7.3.42 release with AVX enabled.

7.3.42

  • Fixed a segfault when tlog encounters a platform_error. (PR #11406)

  • Fixed an assertion failure of cluster controller when waiting for recovery. (PR #11402)

  • Fixed a global config bug that causes client latency metrics to be missing after upgrade. (PR #11400)

  • Added a knob for shard merge parallelism and added logs for max shard size. (PR #11389)

  • Updated the RocksDB memtable max range deletions knob. (PR #11387)

  • Improved visibility when Sharded RocksDB takes a long time to commit. (PR #11362)

  • Fixed data move trigger for rebalancing storage queue. (PR #11375)

  • Fixed an infinite retry of GRV request bug. (PR #11353)

  • Improved distributed consistency checker to continuously run by default and visibility of recruitment errors. (PR #11349)

  • Fixed add-prefix and remove-prefix for fdbrestore. (PR #11344)

  • Fixed a crash of data distributor when taking a snapshot. (PR #11341)

  • Increased visibility of gray failure actions. (PR #11324)

  • Increased visibility of CommitProxyTerminated events for failed_to_progress errors. (PR #11315)

7.3.41

  • Same as 7.3.40 release with AVX enabled.

7.3.40

7.3.39

  • Same as 7.3.38 release with AVX enabled.

7.3.38

7.3.37

  • Same as 7.3.36 release with AVX enabled.

7.3.36

  • Fixed a DR corruption issue where destination cluster gets no mutations. (PR #11246)

  • Added rocksdb direct_io knobs. (PR #11267)

7.3.35

  • Same as 7.3.34 release with AVX enabled.

7.3.34

  • Added storage-queue-aware load balancer for data distributor. (PR #11195)

  • Added a checksum field in MutationRef. (PR #11193)

  • Abort processes when abnormal shutdown is initiated to enable coredumps. (PR #11198)

  • Fixed fdbcli’s checkall debug command. (PR #11208)

  • Added knobs for enabling RocksDB in-memory checksums for data structures. (PR #11214)

  • Fixed calculation of EmptyMessageRatio when version vector was enabled. (PR #11227)

  • Added consistency checker urgent mode. (PR #11228)

  • Disabled compaction compaction for newly added shard and fixed block cache usage reporting. (PR #11247)

  • Fixed setting perpetual_storage_wiggle_engine is considered as wrongly configured. (PR #11252)

  • Added a max range deletions knob before flush. (PR #11243)

7.3.33

  • Same as 7.3.32 release with AVX enabled.

7.3.32

  • Enabled data distributor verbose tracing by default. (PR #11159)

  • Added RocksDB file checksum knobs. (PR #11171)

  • Fixed a regression that caused rebalance data moves to be scheduled at a much lower frequency. (PR #11167)

  • Added throttling of RocksDB flushes when memtable layers exceed a limit. (PR #11182)

  • Added a trace event when a log router cannot find its primary peek location. (PR #11180)

  • Upgraded RocksDB version to 8.10.0. (PR #11175)

  • Added periodical logging for RocksDB compaction reasons. (PR #11186)

7.3.31

  • Same as 7.3.30 release with AVX disabled.

7.3.30

  • Fixed an issue in Ratekeeper that could cause StorageQueueInfo loss. (PR #11124)

  • Fixed checkall command for large shards. (PR #11121)

7.3.29

  • Same as 7.3.28 release with AVX disabled.

7.3.28

  • Fixed a race condition in kvstorerockddb when accessing latencySample. (PR #11114)

  • Added support for physical shard move. (PR #11086)

  • Disabled CPU based team selection in rebalance data move. (PR #11110)

7.3.27

  • Same as 7.3.26 release with AVX disabled.

7.3.26

7.3.25

  • Same as 7.3.24 release with AVX enabled.

7.3.24

  • Released with AVX disabled.

  • Added support for large shard. (PR #10965)

  • Fixed perpetual wiggle locality match regex. (PR #10973)

  • Added a knob to throttle perpetual wiggle data move. (PR #10957)

7.3.23

  • Same as 7.3.22 release with AVX enabled.

7.3.22

  • No code change, only version bumped.

7.3.21

  • Same as 7.3.20 release with AVX enabled.

7.3.20

7.3.19

  • Same as 7.3.18 release with AVX enabled.

7.3.18

  • Released with AVX disabled.

  • Changed Event to use std::latch from c++20. (PR #10929)

  • Added support for preinstalled libfmt. (PR #10929)

  • Changed perpetual_storage_wiggle_locality database option to take a list of localities. (PR #10928)

  • Fixed the trailing newline in c++filt output for Implib.so. (PR #10921)

  • Stopped tracking a storage server after its removal. (PR #10921)

  • Fixed Ratekeeper for not accounting dropped requests. (PR #10921)

  • Fixed a memory leak of cluster controller’s status json invocation. (PR #10921)

  • Fixed cluster controller from issuing many point reads for storage metadata. (PR #10906)

  • Fixed multiple issues with AuditStorage. (PR #10895)

  • Disabled storage server read sampling by default. (PR #10899)

7.3.17

  • Same as 7.3.16 release with AVX enabled.

7.3.16

  • Released with AVX disabled.

  • Added location_metadata fdbcli to query shard locations and assignements. (PR #10428)

  • Added degraded/disconnected peer recovery in gray failure. (PR #10541)

  • Added replica and metadata audit support. (PR #10631)

  • Added a SecurityMode for data distributor where data movements are not allowed but auditStorage is enabled. (PR #10660)

  • Remove SS entries from RateKeeper once it is down. (PR #10681)

  • Added the support of manual compaction for Sharded RocksDB. (PR #10815)

7.3.0

Fixes

  • Fixed a consistency scan infinite looping without progress bug when a storage server is removed. (PR #9154)

  • Fixed a backup worker assertion failure. (PR #8886)

  • Fixed a DD stuck issue when the remote data center is dead. (PR #9338)

  • Exclude command will not perform a write if the addresses being excluded are already excluded. (PR #9873)

  • ConsistencyCheck should finish after complete scan than failing on first mismatch. (PR #8539)

Bindings

Performance

  • Improvements on physical shard creation to reduce shard count. (PR #9067)

  • Older TLog generations are garbage collected as soon as they are no longer needed. (PR #10289)

Reliability

  • Gray failure will monitor satellite TLog disconnections.

  • Storage progress is logged during the slow recovery. (PR #9041)

  • Added a new network option fail_incompatible_client. If the option is set, transactions are failing with fail_incompatible_client in case of an attempt to connect to a cluster without providing a compatible client library

Status

Other Changes

  • Added MonotonicTime field, based on system clock, to CommitDebug trace events, for accurate timing.

  • Added a new function fdb_database_get_client_status providing a client-side connection status information in json format.

  • Added a new network option retain_client_library_copies to avoid deleting the temporary library copies after completion of the process. This may be useful in various debugging and profiling scenarios.

  • Added a new network option trace_initialize_on_setup to enable client traces already on fdb_setup_network, so that traces do not get lost on client configuration issues

  • TraceEvents related to TLS handshake, new connections, and tenant access by authorization token are no longer subject to suppression or throttling, using an internal “AuditedEvent” TraceEvent classification

  • Usage of authorization token is logged as part of AuditedEvent, with 5-second suppression time window for duplicate entries (suppression time window is controlled by AUDIT_TIME_WINDOW flow knob)

Earlier release notes