documentation/sphinx/source/release-notes/release-notes-620.rst
############# Release Notes #############
unknown_error. (PR #4437) <https://github.com/apple/foundationdb/pull/4437>_(PR #4428) <https://github.com/apple/foundationdb/pull/4428>_(PR #4428) <https://github.com/apple/foundationdb/pull/4428>_proxy_memory_limit_exceeded. (PR #4529) <https://github.com/apple/foundationdb/pull/4529>_administration notes <downgrade-specific-version>. (PR #4673) <https://github.com/apple/foundationdb/pull/4673>_ (PR #4469) <https://github.com/apple/foundationdb/pull/4469>_(PR #4380) <https://github.com/apple/foundationdb/pull/4380>_PR #4076 <https://github.com/apple/foundationdb/pull/4076>. (PR #4317) <https://github.com/apple/foundationdb/pull/4317>(PR #4218) <https://github.com/apple/foundationdb/pull/4218>_low_priority_queries to the processes.roles section of status to record the number of deprioritized reads on each storage server. (PR #4218) <https://github.com/apple/foundationdb/pull/4218>_low_priority_reads to the workload.operations section of status to record the total number of deprioritized reads. (PR #4218) <https://github.com/apple/foundationdb/pull/4218>_(PR #4199) <https://github.com/apple/foundationdb/pull/4199>_(PR #4153) <https://github.com/apple/foundationdb/pull/4153>_(PR #4259) <https://github.com/apple/foundationdb/pull/4259>_(PR #4243) <https://github.com/apple/foundationdb/pull/4243>_(PR #4076) <https://github.com/apple/foundationdb/pull/4076>_(PR #4087) <https://github.com/apple/foundationdb/pull/4087>_(PR #4113) <https://github.com/apple/foundationdb/pull/4113>_(PR #4060) <https://github.com/apple/foundationdb/pull/4060>_(PR #4099) <https://github.com/apple/foundationdb/pull/4099>_(PR #4166) <https://github.com/apple/foundationdb/pull/4166>_(PR #4130) <https://github.com/apple/foundationdb/pull/4130>_(PR #4166) <https://github.com/apple/foundationdb/pull/4166>_(PR #3912) <https://github.com/apple/foundationdb/pull/3912>_(PR #3964) <https://github.com/apple/foundationdb/pull/3964>_(PR #3834) <https://github.com/apple/foundationdb/pull/3834>_(PR #3891) <https://github.com/apple/foundationdb/pull/3891>_(PR #3849) <https://github.com/apple/foundationdb/pull/3849>_(PR #3809) <https://github.com/apple/foundationdb/pull/3809>_fdb_future_block_until_ready would cause a deadlock, and throw blocked_from_network_thread if it would definitely cause a deadlock. (PR #3786) <https://github.com/apple/foundationdb/pull/3786>_\xff "metadata" keys, committed concurrently with locking the database, can cause corruption. If a non-lockaware transaction manually sets its read version to a version where the database is locked, and changes metadata keys, this can still cause corruption. (PR #3674) <https://github.com/apple/foundationdb/pull/3674>_(PR #3686) <https://github.com/apple/foundationdb/pull/3686>_suspend command to fdbcli which kills a process and prevents it from rejoining the cluster for a specified duration. (PR #3550) <https://github.com/apple/foundationdb/pull/3550>_usable_regions=2 data distribution could temporarily lower the replication of a shard when moving it. (PR #3487) <https://github.com/apple/foundationdb/pull/3487>_(PR #3487) <https://github.com/apple/foundationdb/pull/3487>_(PR #3487) <https://github.com/apple/foundationdb/pull/3487>_grv_latency_statistics and commit_latency_statistics on proxy roles and read_latency_statistics on storage roles. (PR #3480) <https://github.com/apple/foundationdb/pull/3480>_cluster.active_primary_dc that indicates which datacenter is serving as the primary datacenter in multi-region setups. (PR #3320) <https://github.com/apple/foundationdb/pull/3320>_(PR #3282) <https://github.com/apple/foundationdb/pull/3282>_(PR #3284) <https://github.com/apple/foundationdb/pull/3284>_(PR #3027) <https://github.com/apple/foundationdb/pull/3027>_fdbrestore prefix options required exactly a single hyphen instead of the standard two. (PR #3056) <https://github.com/apple/foundationdb/pull/3056>_(PR #3123) <https://github.com/apple/foundationdb/pull/3123>_(PR #3268) <https://github.com/apple/foundationdb/pull/3268>_(PR #3265) <https://github.com/apple/foundationdb/pull/3265>_getversion command to fdbcli which returns the current read version of the cluster. (PR #2882) <https://github.com/apple/foundationdb/pull/2882>_advanceversion command to fdbcli which increases the current version of a cluster. (PR #2965) <https://github.com/apple/foundationdb/pull/2965>_lock and unlock commands to fdbcli which lock or unlock a cluster. (PR #2890) <https://github.com/apple/foundationdb/pull/2890>_(PR #2976) <https://github.com/apple/foundationdb/pull/2976>_fdbbackup are no longer tracked as clients in status (introduced in 6.2.18) (PR #2849) <https://github.com/apple/foundationdb/pull/2849>_(PR #2993) <https://github.com/apple/foundationdb/pull/2993>_ (PR #2977) <https://github.com/apple/foundationdb/pull/2977>_(PR #2812) <https://github.com/apple/foundationdb/pull/2812>_.proxy class would not become the first proxy when put with other stateless class processes. (PR #2819) <https://github.com/apple/foundationdb/pull/2819>_.(PR #2815) <https://github.com/apple/foundationdb/pull/2815>_.usable_regions=1. (PR #2813) <https://github.com/apple/foundationdb/pull/2813>_.(PR #2814) <https://github.com/apple/foundationdb/pull/2814>_.fdbcli status JSON could become truncated because of unprintable characters. (PR #2807) <https://github.com/apple/foundationdb/pull/2807>_.(PR #2806) <https://github.com/apple/foundationdb/pull/2806>_.cluster.workload.operations.memory_errors to measure the number of requests rejected by the proxies because the memory limit has been exceeded. (PR #2812) <https://github.com/apple/foundationdb/pull/2812>_.cluster.workload.operations.location_requests to measure the number of outgoing key server location responses from the proxies. (PR #2812) <https://github.com/apple/foundationdb/pull/2812>_.cluster.recovery_state.active_generations to track the number of generations for which the cluster still requires transaction logs. (PR #2814) <https://github.com/apple/foundationdb/pull/2814>_.network.tls_policy_failures to the processes section to record the number of TLS policy failures each process has observed. (PR #2811) <https://github.com/apple/foundationdb/pull/2811>_.--debug-tls as a command line argument to fdbcli to help diagnose TLS issues. (PR #2810) <https://github.com/apple/foundationdb/pull/2810>_.(PR #2774) <https://github.com/apple/foundationdb/pull/2774>_.(PR #2776) <https://github.com/apple/foundationdb/pull/2776>_.(PR #2780) <https://github.com/apple/foundationdb/pull/2780>_.(PR #2775) <https://github.com/apple/foundationdb/pull/2775>_.(PR #2781) <https://github.com/apple/foundationdb/pull/2781>_.(PR #2777) <https://github.com/apple/foundationdb/pull/2777>_.fdbcli. (PR #2773) <https://github.com/apple/foundationdb/pull/2773>_.(PR #2773) <https://github.com/apple/foundationdb/pull/2773>_.(PR #2755) <https://github.com/apple/foundationdb/pull/2755>_.(PR #2589) <https://github.com/apple/foundationdb/pull/2589>_.(PR #2722) <https://github.com/apple/foundationdb/pull/2722>_.(PR #2650) <https://github.com/apple/foundationdb/pull/2650>_.(PR #2646) <https://github.com/apple/foundationdb/pull/2646>_.(PR #2698) <https://github.com/apple/foundationdb/pull/2698>_.(PR #2617) <https://github.com/apple/foundationdb/pull/2617>_.(PR #2653) <https://github.com/apple/foundationdb/pull/2653>_.TR_FLAG_DISABLE_MACHINE_TEAM_REMOVER, TR_FLAG_REMOVE_MT_WITH_MOST_TEAMS, TR_FLAG_DISABLE_SERVER_TEAM_REMOVER, and BUGGIFY_ALL_COORDINATION knobs could not be set at runtime. (PR #2661) <https://github.com/apple/foundationdb/pull/2661>_.(PR #2693) <https://github.com/apple/foundationdb/pull/2693>_.(PR #2703) <https://github.com/apple/foundationdb/pull/2703>_.(PR #2708) <https://github.com/apple/foundationdb/pull/2708>_.(PR #2583) <https://github.com/apple/foundationdb/pull/2583>_.(PR #2575) <https://github.com/apple/foundationdb/pull/2575>_.(PR #2562) <https://github.com/apple/foundationdb/pull/2562>_.(PR #2562) <https://github.com/apple/foundationdb/pull/2562>_.(PR #2562) <https://github.com/apple/foundationdb/pull/2562>_.(PR #2536) <https://github.com/apple/foundationdb/pull/2536>_.(PR #2546) <https://github.com/apple/foundationdb/pull/2546>_.(PR #2529) <https://github.com/apple/foundationdb/pull/2529>_.(PR #2430) <https://github.com/apple/foundationdb/pull/2430>_.(PR #2527) <https://github.com/apple/foundationdb/pull/2527>_.(PR #2526) <https://github.com/apple/foundationdb/pull/2526>_.kill command from fdbcli. (PR #2512) <https://github.com/apple/foundationdb/pull/2512>_.--traceclock parameter to fdbserver incorrectly had no effect. (PR #2420) <https://github.com/apple/foundationdb/pull/2420>_.commit if client buggification was enabled. (PR #2427) <https://github.com/apple/foundationdb/pull/2427>_.(PR #2483) <https://github.com/apple/foundationdb/pull/2483>_.(PR #2515) <https://github.com/apple/foundationdb/pull/2515>_.(PR #2377) <https://github.com/apple/foundationdb/pull/2377>_.(PR #2380) <https://github.com/apple/foundationdb/pull/2380>_.(PR #2371) <https://github.com/apple/foundationdb/pull/2371>_.backup_agent crashed on startup. (PR #2356) <https://github.com/apple/foundationdb/pull/2356>_.(PR #2344) <https://github.com/apple/foundationdb/pull/2344>_.(PR #2344) <https://github.com/apple/foundationdb/pull/2344>_.kill command from fdbcli could take a long time before being executed by a busy process. (PR #2339) <https://github.com/apple/foundationdb/pull/2339>_.(PR #2350) <https://github.com/apple/foundationdb/pull/2350>_.(PR #2353) <https://github.com/apple/foundationdb/pull/2353>_.(PR #2307) <https://github.com/apple/foundationdb/pull/2307>_ (PR #2323) <https://github.com/apple/foundationdb/pull/2323>_.system_kv_size_bytes status field could report a size much larger than the actual size of the system keyspace. (PR #2305) <https://github.com/apple/foundationdb/pull/2305>_.(PR #1731) <https://github.com/apple/foundationdb/pull/1731>_.(PR #1447) <https://github.com/apple/foundationdb/pull/1477>_.(PR #1582) <https://github.com/apple/foundationdb/pull/1582>_.(PR #1336) <https://github.com/apple/foundationdb/pull/1336>_.(PR #1684) <https://github.com/apple/foundationdb/pull/1684>_.(PR #1584) <https://github.com/apple/foundationdb/pull/1584>_.(PR #1640) <https://github.com/apple/foundationdb/pull/1640>_.(PR #1768) <https://github.com/apple/foundationdb/pull/1768>_.(PR #1768) <https://github.com/apple/foundationdb/pull/1768>_.(PR #1909) <https://github.com/apple/foundationdb/pull/1909>_.(PR #1784) <https://github.com/apple/foundationdb/pull/1784>_.(PR #1713) <https://github.com/apple/foundationdb/pull/1713>_.(PR #1785) <https://github.com/apple/foundationdb/pull/1785>_.(PR #1853) <https://github.com/apple/foundationdb/pull/1853>_.(PR #1506) <https://github.com/apple/foundationdb/pull/1506>_.log_version >= 4. (PR #1729) <https://github.com/apple/foundationdb/pull/1729>_.log_version >= 4. (PR #1795) <https://github.com/apple/foundationdb/pull/1795>_.(PR #2019) <https://github.com/apple/foundationdb/pull/2019>_.(PR #2101) <https://github.com/apple/foundationdb/pull/2101>_.(PR #2234) <https://github.com/apple/foundationdb/pull/2234>_.(PR #1767) <https://github.com/apple/foundationdb/pull/1767>_.onError call, the cluster could return a cluster_version_changed error. (PR #1734) <https://github.com/apple/foundationdb/pull/1734>_.\xff keyspace. This avoids an issue with backup where the write-heavy mutation log shards could concentrate on a single process that has less data than everybody else. (PR #1916) <https://github.com/apple/foundationdb/pull/1916>_.--machine_id (or -i) for an fdbserver process now sets locality_machineid in addition to locality_zoneid. (PR #1928) <https://github.com/apple/foundationdb/pull/1928>_.(PR #1581) <https://github.com/apple/foundationdb/pull/1581>_.fdbrestore commands other than start required a default cluster file to be found but did not actually use it. (PR #1912) <https://github.com/apple/foundationdb/pull/1912>_.(PR #1768) <https://github.com/apple/foundationdb/pull/1768>_.(PR #1919) <https://github.com/apple/foundationdb/pull/1919>_.(PR #1858) <https://github.com/apple/foundationdb/pull/1858>_.(PR #1976) <https://github.com/apple/foundationdb/pull/1976>_.(PR #1999) <https://github.com/apple/foundationdb/pull/1999>_.fileconfigure command in fdbcli could fail with an unknown error if the file did not contain a valid JSON object. (PR #2017) <https://github.com/apple/foundationdb/pull/2017>_.(PR #2017) <https://github.com/apple/foundationdb/pull/2017>_.(PR #2019) <https://github.com/apple/foundationdb/pull/2019>_.(PR #2110) <https://github.com/apple/foundationdb/pull/2110>_.(PR #2170) <https://github.com/apple/foundationdb/pull/2170>_.fdb_c library as a secondary client using the multi-version client could lead to an infinite recursion when run with API versions older than 610. [6.2.5] (PR #2169) <https://github.com/apple/foundationdb/pull/2169>_(PR #2169) <https://github.com/apple/foundationdb/pull/2169>_(PR #2191) <https://github.com/apple/foundationdb/pull/2191>_(PR #2230) <https://github.com/apple/foundationdb/pull/2230>_(PR #2241) <https://github.com/apple/foundationdb/pull/2241>_.proxy or resolver class processes prevented stateless class processes from being recruited as proxies or resolvers. [6.2.6] (PR #2241) <https://github.com/apple/foundationdb/pull/2241>_.(PR #2252) <https://github.com/apple/foundationdb/pull/2252>_.(PR #2202) <https://github.com/apple/foundationdb/pull/2202>_.(PR #2279) <https://github.com/apple/foundationdb/pull/2279>_.(PR #2256) <https://github.com/apple/foundationdb/pull/2256>_.(PR #1818) <https://github.com/apple/foundationdb/pull/1818>_ (PR #2276) <https://github.com/apple/foundationdb/pull/2276>_.(PR #2286) <https://github.com/apple/foundationdb/pull/1818>_.run_loop_busy to the processes section to record the fraction of time the run loop is busy. (PR #1760) <https://github.com/apple/foundationdb/pull/1760>_.cluster.page_cache section to status. In this section, added two new statistics storage_hit_rate and log_hit_rate that indicate the fraction of recent page reads that were served by cache. (PR #1823) <https://github.com/apple/foundationdb/pull/1823>_.cluster.workload.transactions. The new counters are named started_immediate_priority, started_default_priority, and started_batch_priority. (PR #1836) <https://github.com/apple/foundationdb/pull/1836>_.cluster.datacenter_version_difference and replace it with cluster.datacenter_lag that has subfields versions and seconds. (PR #1800) <https://github.com/apple/foundationdb/pull/1800>_.local_rate to the roles section to record the throttling rate of the local ratekeeper (PR #1712) <http://github.com/apple/foundationdb/pull/1712>_.cluster.fault_tolerance fields max_machines_without_losing_availability and max_machines_without_losing_data to max_zones_without_losing_availability and max_zones_without_losing_data (PR #1925) <https://github.com/apple/foundationdb/pull/1925>_.fdbcli status now reports the configured zone count. The fault tolerance is now reported in terms of the number of zones unless machine IDs are being used as zone IDs. (PR #1924) <https://github.com/apple/foundationdb/pull/1924>_.connected_clients is now only a sample of the connected clients, rather than a complete list. (PR #1902) <https://github.com/apple/foundationdb/pull/1902>_.max_protocol_clients to the supported_versions section, which provides a sample of connected clients which cannot connect to any higher protocol version. (PR #1902) <https://github.com/apple/foundationdb/pull/1902>_.Unknown version in the supported_versions section. [6.2.2] (PR #1990) <https://github.com/apple/foundationdb/pull/1990>_.coordinator to the list of roles that can be reported for a process. [6.2.3] (PR #2006) <https://github.com/apple/foundationdb/pull/2006>_.worst_durability_lag_storage_server and limiting_durability_lag_storage_server to the cluster.qos section, each with subfields versions and seconds. These report the durability lag values being used by ratekeeper to potentially limit the transaction rate. [6.2.3] (PR #2003) <https://github.com/apple/foundationdb/pull/2003>_.worst_data_lag_storage_server and limiting_data_lag_storage_server to the cluster.qos section, each with subfields versions and seconds. These are meant to replace worst_version_lag_storage_server and limiting_version_lag_storage_server, which are now deprecated. [6.2.3] (PR #2003) <https://github.com/apple/foundationdb/pull/2003>_.system_kv_size_bytes to the cluster.data section to record the size of the system keyspace. [6.2.5] (PR #2170) <https://github.com/apple/foundationdb/pull/2170>_.API version upgrade guide <api-version-upgrade-guide-620> for upgrade details.(PR #1725) <https://github.com/apple/foundationdb/pull/1725>_.fdb_transaction_get_approximate_size in the C binding. (PR #1756) <https://github.com/apple/foundationdb/pull/1756>_.fdb_future_get_version has been renamed to fdb_future_get_int64. (PR #1756) <https://github.com/apple/foundationdb/pull/1756>_.libfdb_c can now use pkg-config foundationdb-client or find_package(FoundationDB-Client ...) (for cmake) to get the proper flags for compiling and linking. (PR #1636) <https://github.com/apple/foundationdb/pull/1636>_.(PR #1451) <https://github.com/apple/foundationdb/pull/1451>_.(PR #1844) <https://github.com/apple/foundationdb/pull/1844>_.get_addresses_for_key includes a port in the address. This will be deprecated in api version 630, and addresses will include ports by default. [6.2.4] (PR #2060) <https://github.com/apple/foundationdb/pull/2060>_.Versionstamp comparisons didn't work in Python 3. [6.2.4] (PR #2089) <https://github.com/apple/foundationdb/pull/2089>_.cleanup command to fdbbackup which can be used to remove orphaned backups or DRs. [6.2.5] (PR #2170) <https://github.com/apple/foundationdb/pull/2170>_.satellite_logs by satellite location. This will overwrite the region configure of satellite_logs if both are present. [6.2.6] (PR #2241) <https://github.com/apple/foundationdb/pull/2241>_.(PR #1733) <https://github.com/apple/foundationdb/pull/1733>_.(PR 1090) <https://github.com/apple/foundationdb/pull/1090>_.transaction_too_old when attempting to read if setVersion was called with a version smaller than the smallest read version obtained from the cluster. This is a protection against reading from the wrong cluster in multi-cluster scenarios. (PR #1413) <https://github.com/apple/foundationdb/pull/1413>_.(PR #1828) <https://github.com/apple/foundationdb/pull/1828>_.TransactionMetrics log events by adding a random UID to distinguish multiple open connections, a flag to identify internal vs. client connections, and logging of rates and roughness in addition to total count for several metrics. (PR #1808) <https://github.com/apple/foundationdb/pull/1808>_.(PR #1666) <https://github.com/apple/foundationdb/pull/1666>_.(PR #1678) <https://github.com/apple/foundationdb/pull/1678>_.(PR #1417) <https://github.com/apple/foundationdb/pull/1417>_.--cache_memory parameter for fdbserver processes to control the amount of memory dedicated to caching pages read from disk. (PR #1889) <https://github.com/apple/foundationdb/pull/1889>_.MakoWorkload, used as a benchmark to do performance testing of FDB. (PR #1586) <https://github.com/apple/foundationdb/pull/1586>_.fdbserver now accepts a comma separated list of public and listen addresses. (PR #1721) <https://github.com/apple/foundationdb/pull/1721>_.CAUSAL_READ_RISKY has been enhanced to further reduce the chance of causally inconsistent reads. Existing users of CAUSAL_READ_RISKY may see increased GRV latency if proxies are distantly located from logs. (PR #1841) <https://github.com/apple/foundationdb/pull/1841>_.CAUSAL_READ_RISKY can be turned on for all transactions using a database option. (PR #1841) <https://github.com/apple/foundationdb/pull/1841>_.no_wait option to the fdbcli exclude command to avoid blocking. (PR #1852) <https://github.com/apple/foundationdb/pull/1852>_.(PR #1697) <https://github.com/apple/foundationdb/pull/1697>_.cluster.incompatible_connections) may now spuriously include clients that use the multi-version API to try connecting to the cluster at multiple versions.(PR #1976) <https://github.com/apple/foundationdb/pull/1976>_.(PR #1976) <https://github.com/apple/foundationdb/pull/1976>_.max_protocol_clients were incorrectly added to the connected_clients list. [6.2.2] (PR #1990) <https://github.com/apple/foundationdb/pull/1990>_.(PR #2012) <https://github.com/apple/foundationdb/pull/2012>_.(PR #2045) <https://github.com/apple/foundationdb/pull/2045>_.(PR #2048) <https://github.com/apple/foundationdb/pull/2048>_.(PR #2048) <https://github.com/apple/foundationdb/pull/2048>_.(PR #2086) <https://github.com/apple/foundationdb/pull/2086>_.(PR #2099) <https://github.com/apple/foundationdb/pull/2099>_.(PR #2065) <https://github.com/apple/foundationdb/pull/2065>_.(PR #2170) <https://github.com/apple/foundationdb/pull/2170>_.(PR #2170) <https://github.com/apple/foundationdb/pull/2170>_.(PR #2225) <https://github.com/apple/foundationdb/pull/2225>_.(PR #2274) <https://github.com/apple/foundationdb/pull/2274>_.6.1 (API Version 610) </release-notes/release-notes-610>6.0 (API Version 600) </release-notes/release-notes-600>5.2 (API Version 520) </release-notes/release-notes-520>5.1 (API Version 510) </release-notes/release-notes-510>5.0 (API Version 500) </release-notes/release-notes-500>4.6 (API Version 460) </release-notes/release-notes-460>4.5 (API Version 450) </release-notes/release-notes-450>4.4 (API Version 440) </release-notes/release-notes-440>4.3 (API Version 430) </release-notes/release-notes-430>4.2 (API Version 420) </release-notes/release-notes-420>4.1 (API Version 410) </release-notes/release-notes-410>4.0 (API Version 400) </release-notes/release-notes-400>3.0 (API Version 300) </release-notes/release-notes-300>2.0 (API Version 200) </release-notes/release-notes-200>1.0 (API Version 100) </release-notes/release-notes-100>Beta 3 (API Version 23) </release-notes/release-notes-023>Beta 2 (API Version 22) </release-notes/release-notes-022>Beta 1 (API Version 21) </release-notes/release-notes-021>Alpha 6 (API Version 16) </release-notes/release-notes-016>Alpha 5 (API Version 14) </release-notes/release-notes-014>