docs/content/stable/releases/ybdb-releases/v2.20.md
{{< tip title="LTS - Feature availability" >}} All features in stable releases are considered to be {{<tags/feature/ga>}} unless marked otherwise. {{< /tip >}}
What follows are the release notes for the YugabyteDB v2.20 release series. Content will be added as new notable features and changes are available in the patch releases of the YugabyteDB v2.20 release series.
For an RSS feed of all release series to track the latest product updates, point your feed reader to the RSS feed for releases.
{{< warning title="Technical Advisories" >}}
{{< /warning >}}
Build: 2.20.12.0-b30
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.12.0-b30
COPY FROM commands in a transaction block use one transaction unit. {{<issue 27061>}}sst_dump tool. {{<issue 27233>}}remove_corrupt_data_blocks_unsafe flag for yb-ts-cli compact_tablet command. {{<issue 27381>}}FormatBytesAsStr to prevent large memory allocations. {{<issue 27924>}}INSERT ON CONFLICT features on partitioned tables. {{<issue 25147>}}IsRenewRequired works as expected. {{<issue 28226>}}DocRowwiseIterator to correctly include nulls for NULLS FIRST sorting. {{<issue 27031>}}exec_program command with execute_process in CMake, resolving issue 20481 and eliminating potential warning CMP0153 for developers. {{<issue 20481>}}Build: 2.20.11.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.11.1-b2
Build: 2.20.11.0-b34
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.11.0-b34
load_balancer_count_move_as_add flag to simplify cluster balancing. {{<issue 26259>}}REFRESH MATERIALIZED VIEW CONCURRENTLY operation. {{<issue 26205>}}INSERT ON CONFLICT updates. {{<issue 14895>}},{{<issue 25521>}}yb_index_check to verify materialized view indexes' consistency. {{<issue 26639>}}ysql_dump maintains enum sort order during backup and restore. {{<issue 26645>}}pg_enum OID during restore if sortorder is missing, enhancing troubleshooting. {{<issue 26859>}}db_max_flushing_bytes to properly limit memory usage under high write loads. {{<issue 26916>}}COMMIT records are streamed, fixing gRPC connector crashes. {{<issue 26861>}}Build: 2.20.10.0-b29
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.10.0-b29
Build: 2.20.9.0-b47
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.9.0-b47
cql_microseconds_timestamps_used. This tracking occurs if the cql_revert_to_partial_microsecond_support flag is true. {{<issue 24776>}}load_balancer_max_inbound_remote_bootstraps_per_tserver flag. {{<issue 2426>}}RelationBuildTriggers. {{<issue 24951>}}ycql_ignore_group_by_error flag. {{<issue 25030>}}ListMasterServers RPC on a master by returning an error. {{<issue 20372>}}ysql_enable_packed_row is off and existing packed rows are present. {{<issue 24545>}}Slice::Less and Slice::compare methods. {{<issue 25319>}}Build: 2.20.8.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.8.1-b2
This is a YugabyteDB Anywhere-only release, with no significant changes to YugabyteDB.
Build: 2.20.8.0-b53
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.8.0-b53
enable_tablet_split_of_cdcsdk_streamed_tables. {{<issue 24190>}}yb_enable_fkey_catcache. {{<issue 23686>}}master_ts_ysql_catalog_lease_ms improving response times during master leader changes and minimizing disruptions. {{<issue 21249>}}gflag_allowlist.txt for secure callhome data collection, plus version_info in TServer data. {{<issue 24103>}}SIGQUIT for immediate shutdowns to reduce hang-ups, and monitoring for stuck processes on macOS {{<issue 24396>}}UTF8 use instead of SQL_ASCII and adds pg_collation to preloaded tables to prevent specific errors. {{<issue 24149>}}wait_for_ysql_backends_catalog_version_master_tserver_rpc_timeout_ms GFlag, increasing the default timeout value to 60s from 30s. This alteration only impacts one specific RPC - WaitForYsqlBackendsCatalogVersion, not all RPCs, which should diminish time-out incidents. {{<issue 18228>}}RelationBuildTriggers. {{<issue 24951>}}alter table add column commands with a default value. {{<issue 24050>}}min_running_ht initialization until after tablet bootstrap completes. {{<issue 22099>}}Build: 2.20.7.2-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.7.2-b1
RelationBuildTriggers. {{<issue 24951>}}Build: 2.20.7.1-b10
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.7.1-b10
alter table add column commands with a default value. {{<issue 24050>}}Build: 2.20.7.0-b58
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.7.0-b58
yb_make_next_ddl_statement_nonincrementing configuration parameter to reduce catalog version increments during many consecutive DDLs, lowering memory and latency spikes. {{<issue 23786>}}system_schema.functions and system_schema.aggregates to align with Cassandra, aiding Cortex migration. {{<issue 3893>}}GetFlagInfos relocation. {{<issue 23632>}}emergency_repair_mode flag and yb-admin commands dump_sys_catalog_entries and write_sys_catalog_entry to address CatalogEntity data corruption issues. {{<issue 23098>}}shared_ptr::unique to resolve compilation errors on macOS. {{<issue 24012>}}ysql_enable_db_catalog_version_mode flag functionality. {{<issue 23462>}}narrow_cast. {{<issue 22301>}}CoarseMonoClock to MonoClock for precise nanosecond granularity. {{<issue 20335>}}close_timestamp_micros field for partially copied log segments to prevent time-based policy violation. {{<issue 23335>}}SchemaDetailsMap during concurrent GetChanges calls. {{<issue 23394>}},{{<issue 22962>}}UpdateCheckpointForTabletEntriesInCDCState method. {{<issue 22876>}},{{<issue 22835>}},{{<issue 22773>}}calculate_table_size, now matching YBCGetDatabaseOid(rel) for improved reliability. {{<issue 20030>}}Build: 2.20.6.0-b66
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.6.0-b66
log_ysql_catalog_versions flag. {{<issue 20084>}}yb_enable_cdc_consistent_snapshot_streams from a preview into a default true auto flag. {{<issue 22984>}}collect_logs command failures by removing the yugabyted running check even when the yugabyted process is not running. {{<issue 23210>}}kGroupEnd marker that was leading to inaccurate seek results. {{<issue 22615>}}DeleteSnapshot and RestoreSnapshot to prevent deletion or use of snapshots involved in ongoing processes. {{<issue 23055>}}INSERT INTO ...RETURNS STATUS AS ROW for CQL tables with a specific primary key, improving system load and efficiency. {{<issue 23330>}}DELETING_METADATA state as well as ACTIVE state during dynamic table addition. {{<issue 20428>}}cdcsdk_enable_cleanup_of_expired_table_entries to an auto flag now allows more consistent handling and cleanup of expired tables. {{<issue 23367>}}BEGIN record when no DML records are added, preventing potential virtual WAL crashes. {{<issue 21646>}}Build: 2.20.5.0-b72
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.5.0-b72
localhost:13000/statements for more comprehensive database management, including user and database IDs along with varied block level statistics. {{<issue 21735>}}DeleteTabletListAndSendRequests, while also preventing xrepl tablets deletion due to multiple calls to the function. {{<issue 22618>}},{{<issue 22608>}}yb_enable_cdc_consistent_snapshot_streams from a preview flag to a default true auto flag. {{<issue 22984>}}v3.10-yb-19 for enhanced functionality. {{<issue 22982>}}yb_get_range_split_clause robust using PG TRY CATCH block, ensuring YB backup doesn't fail. {{<issue 22356>}}CreateNamespaceIfNotExists function to retry on "already exists" error, preventing race conditions. {{<issue 22512>}}IN expressions on single column from wrongly taking the tuple path, ensuring correct data processing. {{<issue 22704>}}tserver_heartbeat_metrics_interval_ms runtime updatable. {{<issue 22624>}}ysql_skip_row_lock_for_update to an auto-flag to resolve compatibility issues during upgrade, preventing incorrect DB record creations that can affect row visibility and integrity. {{<issue 22057>}}enable_automatic_tablet_splitting gflag from kLocalPersisted (class 2) to kExternal (class 4) to eliminate setup issues with xCluster configurations. {{<issue 22088>}}pg_locks query failure due to missing host node UUID in distributed transactions. {{<issue 22181>}}ACTIVE does not occur. {{<issue 22601>}}DELETING_METADATA state as well as ACTIVE state during dynamic table addition. {{<issue 20428>}}enable_cdcsdk_dynamic_tables_disable_option for better CDC stream management. {{<issue 22876>}},{{<issue 22835>}},{{<issue 22773>}}Build: 2.20.4.1-b5
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.4.1-b5
yb_get_range_split_clause robust using PG TRY CATCH block, ensuring YB backup doesn't fail. {{<issue 22356>}}Build: 2.20.4.0-b50
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.4.0-b50
ycql_suppress_group_by_error available for compatibility issues. {{<issue 13956>}}AreNodesSafeToTakeDown to return earlier and deliver a readable error message when hitting a timeout, using a control flag, are_nodes_safe_to_take_down_timeout_buffer_ms with a default setting of 2 seconds. {{<issue 21855>}}skip_producer_stream_deletion is set on DeleteUniverseReplicationRequestPB. Safe for upgrades and rollbacks. {{<issue 22050>}}join flag without throwing any errors. {{<issue 20684>}}Storage Rows Scanned for EXPLAIN (ANALYZE, DIST) functionality in 2.20 after a successful upgrade fix, enhancing user understanding of data selectivity in filters and index conditions. {{<issue 21229>}},{{<issue 12676>}}defGetBoolean function to parse string values "0" and "1" as false and true respectively, and shifts a verification step to a earlier spot in the CREATE TABLE execution path, ensuring successful table partition creation. {{<issue 20302>}},{{<issue 20914>}}Create Table operation fails if Alter Replication encounters an error, enhancing the reliability of replication setup. {{<issue 21732>}}ysql_skip_row_lock_for_update to an auto-flag to resolve compatibility issues during upgrade, preventing incorrect DB record creations that can affect row visibility and integrity. {{<issue 22057>}}rpcs_.Shutdown in TransactionParticipant::Impl::CompleteShutdown that was altered due to a bad backport commit. {{<issue 22011>}}tablet_peer objects using the = operator, preventing unintentional destruction of underlying objects. {{<issue 22007>}}cached_schema_details when executing a new GetChanges request if the client indicates a necessity for the schema. {{<issue 20698>}}Build: 2.20.3.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.3.1-b2
ysql_skip_row_lock_for_update to an auto-flag to resolve compatibility issues during upgrade, preventing incorrect DB record creations that can affect row visibility and integrity. {{<issue 22057>}}{{< warning title="Use v2.20.3.1 or later.">}} {{< /warning >}}
Roll back upgrades. Ability to roll back a database upgrade in-place and restore the cluster to its state before the upgrade. You can roll back a database upgrade only to the pre-upgrade release. {{<tags/feature/ea>}}
Added support for Red Hat Enterprise Linux 9.3 on x86-based systems. Refer to Operating system support for the complete list of supported operating systems.
pg_temp_<tserver-uuid>_<backend_id> from pg_temp_<backend_id>, making them unique across nodes and preventing temp tables overwriting or deletion. {{<issue 19255>}}REFRESH MATERIALIZED VIEW as a non-disruptive change, preventing unnecessary transaction terminations. The default option, REFRESH MATERIALIZED VIEW NONCONCURRENTLY, modifies metadata but without making a disruptive alteration. {{<issue 20420>}}ybDataSent and ybDataSentForCurrQuery flags for both parent and child transactions, for enhanced error handling and retry mechanism. {{<issue 18638>}}get_tablespace_distance function, enhancing the speed of the yb_is_local_table YSQL function. Reduces query time by caching GeolocationDistance value. {{<issue 20860>}}pg_locks to avoid potential memory issues during batch inserts, and includes additional fields to indicate partial lock info. {{<issue 20765>}}yb_locks_txn_locks_per_tablet to limit the number of rows returned by pg_locks, preventing the system from running out of memory during large transactions. {{<issue 19934>}}AreNodesSafeToTakeDown to check if it's safe to remove or upgrade certain nodes without disrupting overall cluster health. {{<issue 17562>}}AreNodesSafeToTakeDown API that ensures safe node removals during cluster upgrades or maintenance operations by checking tablet health and follower lag, facilitating seamless and risk-free updates. {{<issue 17562>}}FLAGS_tablet_split_min_size_ratio to control tablet splitting based on SST file sizes, ensuring better control over tablet size imbalance. {{<issue 21458>}}safe_time set during GetChanges call, reducing data loss during network failures. Ensures consistent safe_hybrid_time in multiple GetChanges calls. {{<issue 21240>}}EXPLAIN ANALYZE operation, enhancing performance by incorporating storage_metrics_version in YBCPgExecStats and YbInstrumentation. {{<issue 20917>}}ysql_skip_row_lock_for_update to toggle the new row-level locking behavior. {{<issue 15196>}}yb_debug_log_docdb_requests is enabled. {{<issue 19604>}}pending_deletes_ on failed delete tasks thus preventing tablets from being incorrectly retained after task failure or completion. This rectifies a race condition and allows the Load Balancer to perform operations on specific tablets and Tablet Servers. {{<issue 13156>}}pg_locks, providing more accurate output for waiting transactions. {{<issue 18399>}}DocDB system by shifting the acquirement of submit_token_ of the WriteQuery to the post-conflict resolution phase to prevent DDL requests from being blocked, thus optimizing both reads and writes for continued performance and enhanced data consistency. {{<issue 20730>}}clear_deadlocked_txns_info_older_than_seconds. {{<issue 14165>}},{{<issue 19257>}}indexed_table_id with the index in table listings, eliminating the need for a second lookup to associate a main table with an index. {{<issue 21159>}}2.23.0.0-b37-arm. {{<issue 21648>}}disable_tablet_splitting, addressing a previous condition where only one was required, thereby enhancing backup process reliability. {{<issue 8744>}}cdc_sdk_safe_time during explicit checkpointing, along with tests to ensure validity. {{<issue 15718>}}CDCSDKYsqlTest.TestLargeTxnWithExplicitStream test by setting FLAGS_cdc_max_stream_intent_records value from 40 to 41, overcoming the issue of multiple records for a single insert when packed row size exceeds ysql_packed_row_size_limit. {{<issue 20310>}}Build: 2.20.2.4-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.2.4-b3
Build: 2.20.2.3-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.2.3-b2
This is a YugabyteDB Anywhere-only release, with no changes to YugabyteDB.
Build: 2.20.2.2-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.2.2-b1
This is a YugabyteDB Anywhere-only release, with no changes to the database.
Build: 2.20.2.1-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.2.1-b3
Build: 2.20.2.0-b145
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.2.0-b145
Added support for read-only mode for DR replica, currently supported for YSQL tables.
Tablet splitting now can be enabled on tables with CDC configured. {{<issue 18479>}}
Transactional CDC now supports consistent snapshots, ensuring data integrity during replication to a sink. Snapshots, ordered by commit time across all tables and tablets, establish a reliable replication order. {{<issue 19682>}}
yb_silence_advisory_locks_not_supported_error as a temporary solution, avoiding disruption while users transition from the use of advisory locks. {{<issue 19974>}}ysql_suppress_unsafe_alter_notice flag to true. {{<issue 19360>}}ysql_max_read_restart_attempts and ysql_max_write_restart_attempts flags with yb_max_query_layer_retries, applies limit to Read Committed isolation statement retries, and adjusts retry_backoff_multiplier and retry_min_backoff defaults. {{<issue 20359>}}ALTER INDEX SET TABLESPACE command and regulates column statistics using the ALTER INDEX ALTER COLUMN SET STATISTICS command. Also, allows the creation and alteration of materialized views with the specified tablespace. Suppress the beta feature warning by enabling ysql_beta_feature_tablespace_alteration flag. {{<issue 6639>}}FLAGS_retryable_request_timeout_secs =0. {{<issue 18736>}}num_open_tablets_metadata_simultaneously, which sets the number of threads for opening tablet metadata. This allows for parallel opening of metadata, improving response times even in cases with large numbers of tablets. Additionally, the handling of tablets marked as Deleted or Tombstoned is managed asynchronously, marking tombstoned tablets as dirty for inclusion in the next heartbeat. {{<issue 15088>}}auto_flags_apply_delay_ms) between AutoFlag configuration updates and their application, allowing all TServers to receive the new configuration before applying it. This change enhances configuration consistency and update safety. {{<issue 19932>}}Wthread-safety-reference to check when guarded members are passed by reference and resolving all build errors resulting from this change. {{<issue 19365>}}demote_single_auto_flag yb-admin command by returning distinct error messages for invalid process_name, flag_name, or non-promoted flag, thereby aiding easier identification of errors. Replaces HasSubstring with ASSERT_STR_CONTAINS in the AutoFlags yb-admin test. {{<issue 20004>}}ProducerEntryPB, triggers if the AutoFlag configuration changes during upgrades and rollbacks. This prevents unnecessary RPC calls if no AutoFlag configurations have changed. Also includes fixes for cds initialization bugs in TestThreadHolder. {{<issue 19518>}}DeleteTablet operation. {{<issue 19840>}}retain_delete_markers property to enhance performance. {{<issue 20247>}}Corrects the CPU usage reporting in the sankey diagram by filtering nodes based on region selection on the performance page. {{<issue 19991>}}
Repairs yugabyted-ui functionality when using custom YSQL and YCQL ports by passing values to yugabyted-ui, ensuring the correct operation of the user interface. {{<issue 20406>}}
pg_stat_statements.yb_qtext_size_limit flag to control the maximum file size read into memory, preventing system crashes due to oversized or corrupt qtext files. {{<issue 20211>}}pg_locks view for waiting transactions. {{<issue 18603>}},{{<issue 20120>}}yb_catalog_version, by ensuring the function's existence post-normal migration. {{<issue 18507>}}PDEATH_SIG mechanism signals child processes of their parent process's exit, by correctly configuring all PG backends immediately after their fork from the postmaster process. {{<issue 20396>}}SELECT DISTINCT queries. Enables successful execution of queries without errors and prevents server connection closures by disabling distinct pushdown. This fix improves the stability and effectiveness of SELECT DISTINCT queries. {{<issue 20893>}}WriteQuery leak issue in CQL workloads, ensuring proper execution and destruction of queries, while preventing possible tablet shutdown blockages during conflict resolution failure. {{<issue 19919>}}kMinAutoFlagsConfigVersion to 1 to resolve flag configuration mismatch issue. {{<issue 19985>}}SendAbortToOldStatusTabletIfNeeded try to send the abort RPC, thus preventing avoidable FATALs for failed geo promotions. {{<issue 17113>}}kConflict error, enhancing overall system throughput by eliminating unnecessary blockages without waiting for the next RPC restart. {{<issue 20329>}}request is too old errors during YSQL DDLs. {{<issue 20330>}}cdcsdk_sent_lag metric to prevent steep, disproportionate increases by updating the last_sent_record_time when a SafePoint record is spotted, in addition to DMLs and READ ops. {{<issue 15415>}}tserver start and tserver stop scripts to successfully terminate all running PG processes, irrespective of their PID digit count. {{<issue 19817>}}Build: 2.20.1.3-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
docker pull yugabytedb/yugabyte:2.20.1.3-b3
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
Return correct results when Batch Nested Loop join is used for queries involving Nested LEFT JOINs on LATERAL views. {{<issue 19642>}},{{<issue 19946>}}
Added a regression test for nested correlated subquery. {{<issue 20316>}}
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
--include-yb-metadata argument, to circumvent unnecessary automatic index backfilling. This avoids unnecessary RPC calls. {{<issue 19457>}}pgcrypto: Check for error return of px_cipher_decrypt upstream PostgreSQL patch; OpenSSL 3.0+ prerequisite. {{<issue 19732>}}Disable OpenSSL EVP digest padding in pgcrypto; OpenSSL 3.0+ prerequisite. {{<issue 19733>}}NOT NULL constraint and a non-volatile DEFAULT value, enhancing ADD COLUMN operations. {{<issue 19355>}}ALTER <object>DEPENDS ON EXTENSION in future for objects like function, procedure, routine, trigger, materialized view, and index. {{<issue 14419>}}yb_silence_advisory_locks_not_supported_error as a temporary solution, avoiding disruption while users transition from the use of advisory locks. {{<issue 19974>}}rocksdb_max_sst_write_retries flag: maximum allowed number of attempts to write SST file in case of detected corruption after write (by default 0 which means no retries). Implemented for both flushes and compactions. {{<issue 19730>}}Last Status field, for improved visibility. {{<issue 19568>}}master_join_existing_universe flag is set. {{<issue 19357>}}DoGetLockStatus to fetch locks swiftly, enhancing the database's response time while retrieving old transactions. {{<issue 18034>}}get_auto_flags_config yb-admin command, returning the current AutoFlags config. {{<issue 20046>}}cdc_state table for newly split tablets; prevents race conditions by reversing the order of operations during the CleanUpCDCStreamsMetadata process. {{<issue 19746>}}0.0.0.0 to 127.0.0.1 as the IP for master, TServer and yugabyted-UI when 0.0.0.0 is specified as the advertise_address in yugabyted start command. {{<issue 18580>}}Alert messages from different nodes by adjusting the /alerts endpoint in the API server to include a node_address parameter. {{<issue 19972>}}use_initial_sys_catalog_snapshot flag in yugabyted, thus reducing log warning messages. {{<issue 20056>}}DeleteTablet command, minimizing data loss risks and enhancing reliability. This feature, enabled with master_enable_deletion_check_for_orphaned_tablets=true, is upgrade and downgrade safe. {{<issue 18332>}}pg_regress to run on alternative expected files alongside default_expectfile and platform_expectfile, fixing unintended mismatches. {{<issue 19737>}}ysql_enable_pg_per_database_oid_allocator. {{<issue 16130>}}ProcStruct to wait on a lock. {{<issue 18000>}}element_typeid in Batched Nested Loop (BNL) queries; casts both sides to text to ensure valid equality expression. {{<issue 20003>}}:13000/memz and :13000/webserver-heap-prof, which print tcmalloc stats and display currents or peak allocations respectively. {{<issue 20157>}}/rpcz calls and logging every hundredth attempt. {{<issue 20274>}}RefinedStream::Connected returns status instead of calling context_->Destroy(status). {{<issue 19727>}}is_running state instead of checking the index state directly; prevents inaccurate values in old indexes and ensuring retain_delete_markers are correctly set to false. {{<issue 19933>}}StartShutdown and process callbacks during CompleteShutdown. {{<issue 19867>}}MasterChangeConfigTest.TestBlockRemoveServerWhenConfigHasTransitioningServer by letting asynchronous threads operate on ExternalMaster* copies, not current_masters. {{<issue 19927>}}Transaction Metadata Missing errors during a deadlock by replacing them with more accurate deadlock-specific messages. {{<issue 20016>}}enable_process_lifetime_heap_sampling flag in favor of directly setting profiler_sample_freq_bytes for controlling tcmalloc sampling, enhancing control over sampling process. {{<issue 20236>}}{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
This is a YugabyteDB Anywhere-only release, with no changes to the database.
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
is_single_row_txn from is_non_transactionalyb_fetch_size_limit to bytes from kilobytesGetCheckpointResponse only if it is presentpg_stat_activity taking exclusive lock on t-server session--join flag provided.cdc_state in CleanUpCDCStreamsMetadataGetChangesRequest when it is not null, Set snapshot key from correct parameter in explicit checkpointing