Release Notes
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.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)