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
Converted an assertion for Sharded Rocksdb in storage server to error logs. (PR #11622)
Fixed backup agents from retrying uploading in the presence of S3 token errors. (PR #11602)
Fixed an inconsistent location metadata issue and invalid shard IDs generated by seed shard servers when SHARD_ENCODE_LOCATION_METADATA is enabled. (PR #11640) and (PR #11647)
Enabled direct_io for RocksDB storage engine and wiggle knobs. (PR #11636)
Added knobs for caching index blocks for Sharded RocksDB. (PR #11649) and (PR #11680)
Added various data distributor knobs for performance tuning. (PR #11668) and (PR #11665)
Increased the minimum age to wiggle to avoid re-wiggling migrated storage servers. (PR #11684)
Added various version vector improvements. (PR #11590), (PR #11599), (PR #11605), (PR #11608), (PR #11620), (PR #11626) and (PR #11631)
Removed upgrade tests before FDB 6.3. (PR #11662)
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
Upgraded RocksDB to version 8.11.4. (PR #11327)
7.3.39
Same as 7.3.38 release with AVX enabled.
7.3.38
Fixed the detection of private mutations in version vector. (PR #11279)
Added accumulative checksum feature. (PR #11281) and (PR #11289)
Added Go tenanting support. (PR #11299)
Added RocksDB caching knobs. (PR #11312)
Added RocksDB metrics in status json. (PR #11320)
Various Sharded RocksDB improvements. (PR #11332)
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
Updated RocskDB version to 8.6.7. (PR #11043)
Changed RocksDB rate limiter to all IO. (PR #11016)
Added
fdb_c_apiversion.g.h
to OSX package. (PR #11042)Added write traffic metrics to ddMetricsGetRange. (PR #10998)
Fixed several locality-based exclusion bugs. (PR #11024), (PR #11007), and (PR #11005)
Fixed the null pointer issue in proxy setup. (PR #11039)
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
Added data move throttling for perpetual wiggle. (PR #10957)
Fixed AuditStorage to check all DC replicas. (PR #10966)
Added large shards support. (PR #10965)
Fixed bugs for locality-based exclusion. (PR #10946)
Fixed various memory-related bugs. (PR #10952) and (PR #10969)
Fixed perpetual wiggling locality match regex. (PR #10972)
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
Allow Ruby bindings to run on arm64. (PR #9575)
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)