.. _release-notes: ############# 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) Earlier release notes --------------------- * :doc:`7.2 (API Version 720) ` * :doc:`7.1 (API Version 710) ` * :doc:`7.0 (API Version 700) ` * :doc:`6.3 (API Version 630) ` * :doc:`6.2 (API Version 620) ` * :doc:`6.1 (API Version 610) ` * :doc:`6.0 (API Version 600) ` * :doc:`5.2 (API Version 520) ` * :doc:`5.1 (API Version 510) ` * :doc:`5.0 (API Version 500) ` * :doc:`4.6 (API Version 460) ` * :doc:`4.5 (API Version 450) ` * :doc:`4.4 (API Version 440) ` * :doc:`4.3 (API Version 430) ` * :doc:`4.2 (API Version 420) ` * :doc:`4.1 (API Version 410) ` * :doc:`4.0 (API Version 400) ` * :doc:`3.0 (API Version 300) ` * :doc:`2.0 (API Version 200) ` * :doc:`1.0 (API Version 100) ` * :doc:`Beta 3 (API Version 23) ` * :doc:`Beta 2 (API Version 22) ` * :doc:`Beta 1 (API Version 21) ` * :doc:`Alpha 6 (API Version 16) ` * :doc:`Alpha 5 (API Version 14) `