What's new in the YugabyteDB Anywhere v2.20 LTS release series
YugabyteDB release notes
The release notes for YugabyteDB are on their own page.What follows are the release notes for all releases in the YugabyteDB Anywhere v2.20 series. Content will be added as new notable features and changes are available in the patch releases of the YBA v2.20 series.
For an RSS feed of all release series, point your feed reader to the RSS feed for releases.
Technical Advisories
Index update can be wrongly applied
Impacts: v2.20.0.0 to 2.20.1.2
The impacted releases contain an issue where an index update can be wrongly applied, leading to index corruption in the following rare cases:
- Update to a table with non-unique indexes and self-referential triggers where both the index updates, and the trigger application affect the same rows.
- Multi-row update to a table with a non-unique partial index.
For more information, see #20648.
If you're using a v2.20 series release prior to v2.20.1.3, it is recommended that you upgrade to YugabyteDB 2.20.1.3 or later.
Correctness issue for queries using SELECT DISTINCT
Impacts: v2.20.1.0 to 2.20.1.3
The impacted releases contain a correctness issue for queries using SELECT DISTINCT clause. The queries may return incorrect results when the following conditions are true:
BatchNestedLoopJoin
is enabled.JOIN
clause is present in the query.DISTINCT
clause is present in the query.- Table has range indexes.
For more information, see #20827.
v2.20.2.0 - March 4, 2024
Build: 2.20.2.0-b145
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Download
New features
-
Nutanix Ready. YugabyteDB and YugabyteDB Anywhere has been certified to be compatible as part of the Nutanix Ready AHV program.
-
Automated Linux OS patching and upgrades for on-prem. You can now use safety-improved YugabyteDB Anywhere APIs when automating your rolling patch scripts for Linux OSs (typically, for OS security, and minor or major OS upgrades). PLAT-10591, PLAT-10988
-
REST API versioning and clean-up. REST API simplification and streamlining for most important APIs. PLAT-11133
-
Improved Auth when using GCS for backups for Kubernetes universes. When taking backups of a Kubernetes universe to Google GCP, allow use of the Google GKE's Service Account for authentication to the Google Storage. PLAT-10571
-
Asymmetric nodes in each region (API support only). In a stretched cluster, nodes in each region can now have different instance types (that is, different number of CPU cores, memory, and so on).
-
Task Retryability for VM-based universes. You can now address the cause of a failure for a complex operation and retry. For example, if adding nodes to a universe fails due to a cloud quota limit, you can fix the quota issue and retry the task. EA PLAT-6141
-
Backup portability. After sending backups to a cloud object store (such as S3, GCS, or Azure blob storage), you can now copy those backup sets to other cloud storage buckets and restore from them. EA PLAT-10179
-
xCluster DR. A turnkey solution for business continuity and disaster recovery, allowing you to recover from an unplanned outage (failover) or to perform a planned switchover. EA
-
Edit universe providers. You can now add and remove regions and change service accounts for providers with active universes.
Improvements
- Re-implements master operation completion checks using ListMasters or ListMasterRaftPeers, enhancing ChangeMasterConfig finish evaluations and refining local provider tests. PLAT-10162
- Allows backups to be restored from a different bucket in the same or another cloud, removing the preflight check that compared buckets from backup metadata and the provided bucket during restoration—only constraint being all relative directories inside the bucket remain unchanged. PLAT-10179
- Modifies the follower lag check to use the node endpoint instead of Prometheus metrics, ensuring more accurate assessment even if Prometheus is down. Introduces a new runtime config,
follower_lag.max_threshold
, for customising lag allowance. This change notably enhances upgrade processes and mitigates false positive scenarios. PLAT-10286 - Allows removing the kube config and pull secret file from Kubernetes providers configurations without needing a replacement. PLAT-10348
- Suppresses partial data deletions and enhances predictability by disabling the callback when a master is removed, and instead, lets YBAdm to properly clean out the state on add master. PLAT-10401
- Enables the
master_join_existing_universe
flag for existing VM universes, replacing cluster configurations atomically for a seamless transition. PLAT-10511 - Rearranges the xCluster table listing based on severity of status in reverse order for GET xClusterConfig and GET DrConfig endpoint for better visibility. PLAT-10580
- Enhances upgrade task retryability and introduces a two-phase universe lock, allowing validations to be run between lock and freeze stages, thus improving task recovery efforts and stability. PLAT-10701,PLAT-10705
- Introduces universe name and zone labels to DB pods and other resources established by YBA, dramatically aiding the creation of a shared load balancer service across multiple AZs, and offering smoother integration with automation systems. PLAT-10591,PLAT-10988
- Allows configuration of the aggregate query aggregator and maintains consistent query granularity when dealing with topk/bottomk situations. PLAT-11026
- Enables adding
sharedVPCProject
ID via the YBA UI for GCP providers, replacing the older GCP project name field. Now, users can specify two projects at a time:Shared VPC Project
for VPC shared environment andGCE Project
for project where VM will be provisioned. PLAT-11065 - Limits the
::log-bundle
command to capturing logs from the last day for long-running YBA instances, enhancing running time and reducing hang periods. PLAT-11220 - Updates Node Exporter from 1.6.1 to 1.7.0, addressing previous golang vulnerabilities and enhancing overall security. PLAT-11234
- Enables the ability to control container level resources within a pod using overrides, particularly for YBC and other containers in the tserver pod. PLAT-11323
- Enhances the Task Page by directly fetching universe-specific tasks, removing unnecessary client-side filtering. PLAT-10194,PLAT-11404
- Allows smoother volume expansion by ignoring errors when enlarging PVC, continuing with STS recreation process, and finally throwing an exception if the actual volume isn't of desired size. PLAT-11454
- Regenerates server certificates automatically on hostname changes to maintain high availability, initiated by running
yba-ctl reconfigure
, enhancing HA workflow stability. PLAT-11525 - Updates the s3cmd tool to the latest version 2.3.0, ensuring compatibility with AlmaLinux 8+ and other newer Linux distributions. PLAT-11559
- Fixes incorrect java non proxy config schema. PLAT-11568
- Allows LDAP sync operations to use GFlag values as fallbacks for key settings, redacts sensitive information like password in application logs, permits LDAP sync with any role having superadmin privileges, ensures created groups lack superadmin status or login permissions. PLAT-11595
- Introduces an unauthenticated API endpoint for detecting if a YBA instance is the primary in an HA setup, facilitating load balancing. PLAT-10557,PLAT-11598
- Blocks non-GET API requests on HA followers to prevent accidental universe creation or modification. API access for necessary functions still maintained. PLAT-11617,PLAT-11256
- Expands version check compatibility across different settings of older Replicated versions and disables rollback during Replicated migration if it includes a YugabyteDB version change to ensure safety. PLAT-11630
- Disables the edit button on runtime configurations for non-super admin users ensuring only super admin users can modify these configurations. PLAT-11667
- Offers two new Jupyter notebooks for xCluster and dr APIs, makes bootstrapParams an optional field in set_tables API, and standardizes the use of bootstrapParams across different APIs. PLAT-11678,PLAT-11618,PLAT-10622
- Enables the Add Read Replica button. Allows creation of Read Replica even without the UNIVERSE.CREATE permission. PLAT-11691
- Augments the Edit Backup API's permission requirement from OTHER.READ to OTHER.UPDATE for more secure alterations, including retention period changes. PLAT-11715
- Ensure that built-in YBA SA RBAC has all the roles in platform-global RBAC. PLAT-11716
- Refactors the lock and freeze pattern for universe tasks to ease use, incorporating changes such as consolidating force lock and normal update lock, validating lock status on task submission, and enabling forced task abortion with permitted force deletion. PLAT-11769
- Expands xCluster support for colocated tables, introducing backend API changes for effective replication. This enhancement includes a new type of table - the colocated parent table, several updated functions for table handling, improved filtering methods, size information handling for child tables and xCluster replication for colocated tables. Also ensures a user-friendly presentation of the colocated parent table. PLAT-11770
- Ensures LDAP groups mapped as DB users are not super admin, no login permissions PLAT-11776
- Introduces a new software upgrade API to facilitate rollback support and minimize disruption for existing users. This alteration transitions upgrading software from a single task to a two-task process (upgrade and finalize), subsequently changing API availability from 2.21.0.0 to 2.20.2, and incorporating unit tests. PLAT-11480,PLAT-11792,PLAT-10829
- Introduces a new runtime config
is_bootstrap_required_rpc_pool.max_threads
, enabling users to dictate the maximum thread pool size forisBootstrapRequired
rpc calls. PLAT-11841 - Allows storage configuration to be saved at the Disaster Recovery (DR) level, eliminating the need for specifying bootstrap parameters with each API call, and prevents removal of a storage config used by the DR config. PLAT-11844
- Allows direct editing and configuration of automated Disaster Recovery (DR) backup storage in the YugabyteDB Admin User Interface (YBA UI). Skips step of user input for backup storage configuration. PLAT-11845
- Increases stability during replicated migration by setting the HA prometheus config directory explicitly and blocking migration from yba-ctl when both HTTP/HA are enabled. PLAT-11785,PLAT-11849
- Introduces a dynamic user interface in DB rollback upgrade that appropriately enables or disables certain controls based on various states. The upgrade button is now disabled when a database is pending an upgrade, and the ability to select a currently active version for upgrade is disabled. The time delay box gets disabled if the rolling upgrade is unchecked. Additionally, includes a feature to automatically update the universe's state after upgrade, rollback, finalize, or retries without refreshing the page. PLAT-11614,PLAT-11600,PLAT-11334,PLAT-11333,PLAT-11633,PLAT-11734,PLAT-11772,PLAT-11601,PLAT-11888,PLAT-11336,PLAT-11332,PLAT-11536,PLAT-11866
- Streamlines the on-prem setup workflow, eliminating the need to stop, remove, reinstall, and restart the node-agent when changing providers—instead, run the configure command, remove, and add back. Enhances error messages if a script fails to download and introduces a bind address for the node agent when using DNS for node IP. Conceals potentially confusing server commands and permits node-agent un-registration even with wiped-out data. Only manually provisioned on-prem providers will be fetched, improving clarity, and supports the use of non-Yugabyte users with provision_instance.py. PLAT-11889
- Introduces a runtime configuration yb.node_ops.leader_blacklist.fail_on_timeout that, when enabled, causes the StopNodeInUniverse operation to fail if leader blacklisting doesn't complete in the set timeout. PLAT-11892
- Allows correct editing of the RR cluster configuration, ensuring that all nodes remain in the node details set during any increase or decrease in node count, while maintaining appropriate data consistency across different locations. PLAT-11921
- Maintains access to replicated's and self-signed certificate files post full migration, for reference. PLAT-11968
- Enhances readability of built-in Role descriptions in the User Interface by adjusting the Role table column and adding a hover-over feature for full content visibility. PLAT-11972
- Sends universe name and version alongside uuid during finalize, reducing redundant API calls on the UI. PLAT-11981
- Directs users to the alert configuration page for managing replication lag alerts and renders alert thresholds on metric graphs. Also, updates
bootstrap
terminology tofull copy
in the YBA UI and enhances the failover and switchover modal texts for clarity. It further adjusts the endpoints in theApiAndUserPermMapping.ts
and includes theRbacValidator
component to support new DR API operations. PLAT-11987,PLAT-10138,PLAT-11664 - Disables edit operations for universes with asymmetric clusters on the YBA UI to prevent loss of AZ level overrides and moves the geo-partitioning feature flag from the
/features
page to a provider level setting, allowing creation of symmetric geo-partitioned universes. PLAT-12003 - Allows immediate promotion of autoflags during Universe upgrades and deletions without version-related delays, improving Database Management Service performance. PLAT-12030
- Updates the Disaster Recovery (DR) user interface, making various layout adjustments, modifying relevant modal text, adjusting backup storage configuration width for enhanced option visibility, adding a divider on all YBModal headers, and revising toggle button background color. Additionally, direct links to relevant help resources are now opened in a new tab to prevent information loss during DR configuration. PLAT-12039
- Stabilizes the CreateBackupSchedule task page by adding a subtask group type to prevent unwarranted state changes, enhancing user interaction with the task progress bar. PLAT-12055
- Introduces alerts for YSQL/YCQL webservers, enhancing YBA's health monitor to keep an eye on 9070, 9300, and 13000 ports. PLAT-12067
- Incorporates version information in the finalization of upgrade tasks and adds completion time in task status API. PLAT-12071
- Enables changing yba-installer to switch from self-signed CA signed certificates. PLAT-12100,PLAT-12045
- Enables alteration of default storage configuration or parallelism via POST
{{base_url}}/customers/{{customer_uuid}}/dr_configs/{{dr_config_uuid}}/edit
API endpoint. PLAT-12203 - Enables multiline environment parsing in the node agent. Environmental values can span multiple lines. PLAT-12220
- Upgrades the paramiko version to 3.4.0, addressing previous security vulnerabilities, enhancing protection for your database. PLAT-12337
- Upgrades Python Cryptography package to version 41.0.7 and Python Pycryptodome package to 3.20.0, enhancing security by addressing previous vulnerabilities. PLAT-12338
- Enables adjustment of memory limit calculation using k8s overrides, providing more control over memory limits for master and Tserver on a per pod basis by no longer being hardcoded to 85%. PLAT-12364
- Allows to configure cross-cluster setup/alter wait time, and extends the default timeout from 5 to 15 minutes. PLAT-12427
- Introduces separate timeouts for RPC calls and asynchronous tasks such as snapshots, using
yb_api_timeout_secs
andyb_task_timeout_secs
respectively. Eradicates line variable overwrite issue by blanking out the line variable prior to reading the next message and finally adjusts coprocess operation to start and stop only when necessary. PLAT-12483 - Allows cross-cluster replication support for colocated tables, ensuring safer usage, while preserving old behavior if the database doesn't return colocated information. PLAT-3748,PLAT-11886
- Ability to recover from failed operations such as universe growth, shrinkage, or modification, in the Kubernetes (K8s) environment by employing a retry mechanism, eliminating the need to contact support. Note that failures attributed to external factors, such as insufficient permissions or resources, should be addressed and resolved before initiating a retry. PLAT-8420
- Allow InstallYbcSoftwareOnK8s and UpdateKubernetesDiskSize.java tasks to be abortable and retriable for higher reliability during rolling restart of Pods for Kubernetes Universe or YBC upgrade. PLAT-8425,PLAT-8426
- Allows users to disable the scraping of Kubernetes node metrics, that show CPU, memory, and disk utilization graphs for Kubernetes-based universes, with a new Prometheus flag. PLAT-9097
- Incorporates user interface for Disaster Recovery (DR) management in YBA, protected by a feature flag, allowing creation, editing, and deletion of DR configurations. Utilize a new DR API and replace generic config names with a unique, user-friendly naming system, based on word dictionaries. Featuring management of failover, switchover, and DR states alongside additional presentation of info such as universe regions in the DR tab. Note the DR UI is off by default and needs enabling via the runtime config. PLAT-10982,PLAT-11103,PLAT-10745,PLAT-11192,PLAT-9756,PLAT-10984,PLAT-10283,PLAT-10170
- Enables finalizing upgrades during monitoring phase, upgrading YSQL and promoting autoflags up to class
kExternal
. PLAT-9993,PLAT-11775 - Allows for the rollback of both DB upgrades and universe software upgrades, fixing issues with AutoFlags, universe state assignment, and software upgrade state updates, while also updating the UI for better upgrade finalization processes. PLAT-11070,PLAT-11212,PLAT-11544,PLAT-10973,PLAT-10974,PLAT-11366,PLAT-11332,PLAT-10971,PLAT-11253,PLAT-9995
- Enables the capacity to rollback after a phase 1 upgrade and store upgrade history, including the restoration of auto-flag config through yb-client API. PLAT-11774,PLAT-9994,PLAT-9999,PLAT-11728,PLAT-9997,PLAT-11817
- Enables retry for both CertsRotate and systemd upgrade tasks.
- Enhances the performance and speed of the UI, especially for xCluster configs with thousands of tables by using a single query to the
/metrics
endpoint forasync_replication_sent_lag
. PLAT-12439 - Enables support for AWS IMDSv2 during AWS provider creation PLAT-12482
- Change the order of node-agent installation and node provision in provision_instance.py for onprem. PLAT-12533
- Adds a checkbox option to the DR configs UI, enables force deletion and to bypass any errors related to manual stream deletions. PLAT-12535
- Revamps the repair DR config modal to eliminate excessive network requests and enhance speed by allowing a restart even with an empty
dbs
field, effectively interpreting it as a restart for all tables in the config; switches from the restart xCluster config request to a dedicated DR config API, and adopts the set table API for efficient drop table operations in DR context. PLAT-12554 - Allows Point-in-Time Recovery (PITR) to be deleted when deleting the universe, removing the Disaster Recovery (DR) configuration, replacing the replica, or during switchover and failover; only for transactional and DR cases. PLAT-12560
- Introduces a new
Error
state for disaster recovery (DR) configurations, enabling users to manage config failures more effectively. If a DR creation or replace replica operation fails, theError
state is triggered. In this state, existing DR configurations can only be deleted, with all other operations disabled. This update also reflects in the YBA UI and disables restart replication if a DR is not in a stable state. PLAT-12473,PLAT-12585 - Regenerate pex venv if the python version changes to ensure compatibility. PLAT-12618
- Resolves the hanging issue during
pg_ctl start
by consistently clearing the conf directory during reinstallation while maintaining its state during a soft clean. PLAT-12620,PLAT-12597 - Enables the
edit DR configuration
button for halted Disaster Recovery (DR) configurations, allowing safe edits of backup storage settings even in a halted state. - Enables IMDSv2 and the userIMDSv2 field to the cloudInfo payload in AWS provider creation. PLAT-12708
- Removes caching for Azure ultra disks to handle Azure-specific limitations, ensuring successful
create universe
processes. PLAT-12681,PLAT-12722 - Updates to UI elements related to xCluster and DR, error messages, moves DR metrics link to a separate tab, and fixes issues with DR configuration and metrics UI access.
- Resolves the issue of pause/resume failures when universe disks are not mounted by UUID,.
Bug fixes
- Stops and deletes the YBC process running on nodes in
AddOnClusterDelete
,EditUniverse
, andReadOnlyClusterDelete
workflows and cleans up the YBC directories, enhancing the on-prem universe management. PLAT-11056 - Corrects the issue in the Restore History tab where a failed restore status incorrectly displays as
Backup Failed
. PLAT-11489 - Displays Universe status as ERROR when critical operations have failed on the universe. PLAT-11575
- Corrects issue in custom date picker in the create support bundle where start and end dates were getting swapped. PLAT-11603
- Enables access to Dashboard and Universes page with super admin user in version 2.21.0.0-b266. PLAT-11649
- Resolves the issue of Universe overrides not being applied and issue with non-rolling gflags upgrade. PLAT-11672,PLAT-10289
- Ensures switchover is possible only when all tables in a database are part of the xCluster config and fixes status update issue on xCluster config restart without bootstrapping. PLAT-11778
- Allows successful retries for Edit Universe in Kubernetes universes. Accounts for cases where ChangeMasterConfig arises for nodes already removed, ensuring continuous execution. PLAT-11805
- Introduces a timeout and retry mechanism to handle helm timeout issues observed during retry testing. Ensures resilient Kubernetes command execution. PLAT-11805
- Corrects disk usage graph display for multi-volume on-premise universes by rectifying the Prometheus expression that queries disk usage. PLAT-11813
- Prevents a Kubernetes universe from freezing by rectifying upgrade task failure during the pre-check stage. PLAT-11867
- Allows new YB-TServers created after adding new AZs to have the YBC running, ensuring smooth AZ migrations by correcting the tserver specification during master partitioned rolling updates. PLAT-11919
- Handle long shebang lines in PEX playbook invocation path. PLAT-11938
- Allows for accurate Prometheus data restoration during a replicated migration by correctly identifying the target directory. PLAT-11964,PLAT-11967
- Eliminates the issue of leaving tserver pods in an orphaned state during retry operations by adjusting the ResizeDisks tasks to recreate statefulsets on a retry, enhancing reliability for disk resize operations. PLAT-11974
- Enables proper migration of some replicated string settings to yba-installer, enhancing user experience by ensuring correct replication of settings. PLAT-11985
- Reduces the default application logging level from TRACE to DEBUG to enhance performance, prevent costly operations and ensure practical production use. PLAT-12020
- Fixes the isYsqlAuthEnabled function in userIntent to correctly process specific gflags rather than relying on the now obsolete tserverGflags. PLAT-12066
- Fixes universe failure when creating a new universe on 2.20.1 via YBA API. PLAT-12093
- Fixes rolling restart operation to be retriable. PLAT-12124
- Allows login from either
api/v1/login
orapi/login
endpoints, enhancing itest/API access and user convenience, especially in the event of HA failover. PLAT-12154 - Disables rollback options for universes updated from non-rollback support versions, ensuring compatibility with UI elements. PLAT-12157
- Shifts metrics directory creation to the node provisioning step to ensure the right permissions, preventing potential disruptions in custom node metric collection. PLAT-12213
- Eliminates the occurrence of blank pages in the Perf Advisor UI, covering a rare edge case, and enhances the UI response to various situations. PLAT-12214
- Ensures correct and consistent time format on the task detail page, preventing unwarranted banners from showing during an upgrade-precheck failed state. PLAT-12246
- Correctly display the YCQL P99 metric in yba-installer YBA installs. PLAT-12275
- Corrects the handling of "zone 0" in AKS deployments, ensuring successful creation of multi-AZ clusters. PLAT-12307
- Corrects the alert expression for master underreplicated alert, ensuring its functionality after being migrated to a YAML file. PLAT-12331
- Fixes an issue with master autoflags during restore, ensuring backup restores don't fail due to incorrectly handling test autoflags. PLAT-12374
- Resets access key update logic to respect user-provided
skipProvisioning
value instead of defaulting tofalse
, preserving manual provisioning settings during on-prem provider edits. PLAT-12393 - Resets provider usability state if edit task creation fails, preventing a perpetual
Updating
status even after error throw. PLAT-12396 - Fixes an issue with maintaining types in the yba-installer configuration file during an upgrade. PLAT-12408,PLAT-12406
- Ensures secure handling of passwords in QueryLDAPServer task by redacting
bind_password
anddbUserPassword
in application log entries. PLAT-12423 - Ensures immediate restore failure if storage configuration and backup location are from different cloud providers. PLAT-12444
- Resolves a permission issue with the pexlock file. PLAT-12445
- Clarifies the
No tables selected
error message for a Disaster Recovery config by enabling it to disappear when tables are selected, enhancing user interface experience. PLAT-12480 - Allows YBA installer upgrades with existing custom Postgres by correcting the reconfig validation that previously prevented such upgrades. PLAT-12502,PLAT-12469
- Prevents unnecessary retrieval of non-existent ImageBundle in onprem/k8s universe, fixing broken universe metrics upon enabling VM OS Patching. PLAT-12509
- Resolves an issue where
Create Schedule
sub-tasks didn't run and the UI malfunctioned due to the parent task marking as successful while its percentage completion remained at zero. This fix ensures the smooth running of scheduled backup tasks. PLAT-12512 - Allows successful editing of a read replica (RR) cluster even without primary cluster details in the request payload and appropriately handles volume sizing for the RR cluster. Also, optimizes the Edit Universe task to prevent early saving of user intent, boosting task performance. PLAT-11914,PLAT-6752,PLAT-10289
- Adds support for shared VPC project in GCP providers. PLAT-9631
- Allows the systemd units for yb-master and yb-tserver to always restart, regardless of exit codes, ensuring uninterrupted operation of these processes. PLAT-9737
- Mitigates partial subtask failure by safeguarding against stop server tasks when YBDB software is deleted, enhancing the retry capability for EditUniverse. PLAT-10606
- Prevent upgrades from getting stuck during YBC gflag upgrade operation, performs updates in a non-rolling fashion. PLAT-11198,PLAT-12158
- Disables the edit provider form and region deletion for users without
edit resource
permissions. PLAT-12257 - Handles the presence of an existing nvme1 mount in AWS to allow smoother universe creation. PLAT-12369,PLAT-12215
- Adds disaster recovery (DR) error state in Yugabyte Platform's UI, halting all operations except delete upon failure. PLAT-12473
- Clean up dangling stream ids after DR repair, when the initial primary universe was unreachable, before dropping the database. PLAT-12475
- Ensures a full bootstrap is carried out during disaster recovery configuration repair after a failover, eliminating the risk of the older primary retaining obsolete changes. PLAT-12538
- Resolves an issue with updating GCP providers configured prior to 2.16, by fixing the
useHostVPC
setting prevention which was causing update operations to fail. PLAT-12553 - Eliminates a brief window during which writes were possible on an old primary during switchover, preventing replication lag and ensuring data consistency. PLAT-12584
- Corrects error in the
update_disk
method to prevent theResize node
operation from failing on AWS, to ensure successful universe creation. PLAT-12645 - Adds autoflag validation prechecks for disaster recovery processes and cross-cluster operations, ensuring autoflags promoted/modified on the primary are also changed on the standby. Introduces a runtime config
enable_auto_flag_validation
to toggle these checks. Addresses an issue tied to different DB versions and misalignedysql_enable_packed_row
autoflag states, preventing failure of disaster recovery setups. PLAT-12656 - Addresses the issue in the EditUniverse workflow where an incorrect universe namespace selection led to a failed
needsExpandPVC
check, ensuring the correctazConfig
use instead. PLAT-12658 - Disables SSH key expiry alert uniformly. PLAT-12724
- Fixes xCluster creation failures for non-supported autoflag universes by avoiding
GetAutoFlagsConfig
RPC call if the universe does not support autoflags. PLAT-12788 - Addresses an IPv6 parsing problem. Enables disabling of the environment proxy selector via a configuration parameter or environment variable. PLAT-12810
v2.20.1.3 - January 25, 2024
Build: 2.20.1.3-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Download
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Improvements
- Update command version for an s3cmd variable
s3cmd version
. PLAT-11559
v2.20.1.2 - January 17, 2024
Downloads
Use 2.20.1.3 or later.
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
v2.20.1.1 - January 11, 2024
Downloads
Use 2.20.1.3 or later.
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Improvements
- Allow changing from self signed to CA signed certs by regenerating
server.pem
on reconfigure. PLAT-12101,PLAT-12045
Bug fixes
- Fixes rolling restart operation to be retriable. PLAT-12124
- Fixes universe failure when creating a new universe on 2.20.1 via YBA API. PLAT-12093
- Fixes create universe failure via YBA Installer installed on AmazonLinux2 by improving ansible-playbook in PEX. PLAT-12015,PLAT-11938
- Fixes incorrect java non proxy config schema. PLAT-11568
v2.20.1.0 - December 27, 2023
Downloads
Use 2.20.1.3 or later.
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Highlights
-
Ability to limit user access to a subset of universes. With this enhancement, database administrators can independently manage designated universes, allowing for more granular control and division of responsibilities among DBAs. PLAT-7904 EA
-
Ability (for current customers who previously installed YBA using Replicated) to migrate to the improved YBA Installer for upcoming upgrades. The new installer offers enhanced speed, simplicity, and robustness. Note that Replicated will reach its end-of-life by the conclusion of 2024. Users are recommended to migrate to the YBA Installer before this deadline for a smoother transition. PLAT-8364 EA
-
New API call that synchronizes PG roles from a customer's Active Directory or LDAP, to enable securely authenticated and authorized access to database data. PLAT-9711
-
Ability to recover from failed operations such as universe growth, shrinkage, or modification, in the Kubernetes (K8s) environment by employing a retry mechanism, eliminating the need to contact support. Note that failures attributed to external factors, such as insufficient permissions or resources, should be addressed and resolved before initiating a retry. PLAT-11541, PLAT-8420
-
Safeguard to prevent the restoring of a backup of a newer version database to an older versioned (and therefore incompatible) YBA universe. PLAT-8162
-
Leverage the authentication capabilities of Google GKE's Service Account when taking backups of a Kubernetes universe to Google GCP. This streamlines the backup process, offering users the flexibility to authenticate seamlessly with Google Storage using their GKE Service Account. PLAT-10571
-
Official support and certification of Ubuntu version 22 for use with YugabyteDB Anywhere and YugabyteDB.
-
Minor correctness enhancement introduced when performing a complex Kubernetes operation such as universe growth, shrinkage, or modification. The task will now be marked successful only after successfully completing the operation, ensuring a more accurate status update compared to the previous behavior of marking it before completion. PLAT-10289
Improvements
- Enables limited editing of in-use providers in the YBA UI, specifically beneficial for adding new regions, with a newly added runtime config to enable this feature. PLAT-10279
- Enhances user experience by persisting universe user intent changes to database only after the completion of upgrade tasks, ensuring consistency between the platform and DB state and avoiding potential failures. The change affects GFlags upgrade, k8s overrides upgrade, and configures DB APIs operations. PLAT-10289
- Boosts security by updating the YBA node agent and installer to utilize Go 1.21.3 compiler, patching multiple critical vulnerabilities. PLAT-11191
- Upgrades node_exporter from the vulnerable 1.6.1 to 1.7.0 to enhance security PLAT-11234
- Displays the count of tablet peers, including followers and leaders, in TServer on the metrics UI over time using a sum aggregation function. PLAT-11258
- Updates Memtable metric names and adds migration script to ensure accurate data presentation on the master and on 2.20.0. PLAT-11315
- Updates Akka version in YBA to 2.6.21, allowing Sink.asPublisher to support a single subscriber, consequently streamlining data flow management and maintaining stable operations. The update offers better performance and promises more robust architecture handling within the database. PLAT-11679
- Allows addition of
HSTS
headers and other custom headers in API responses, enhancing security across portals espousing https and fulfilling customer requirements. PLAT-9109,PLAT-11546 - Enables custom HTTP headers, including HSTS and other security-related headers, in API responses for Kubernetes-based deployments, catering to specific customer needs. PLAT-9109,PLAT-11546
- Upgrades jackson-databind to version 2.15.3, addressing high security vulnerabilities, and elevates ehcache to 3.10.8, mitigating medium to critical susceptibilities. PLAT-9635
Bug fixes
- Ensures smoother operation of the filtered_logs.sh script by adding quotes to the log filtering command, which prevents the system from splitting the search string into multiple words. PLAT-10321
- Allows volume size decreases during Full Move in YBA (that is, after a modification to a universe that results in data needing to move from one node to another. Example: a change instance type operation with "full move" set to true) after setting
allow_volume_decrease
totrue
, enabling smoother transitions between different instance types and disk sizes without encountering edit operation issues. PLAT-10325 - Avoids a crash when an alert is generated but no default destination has been specified for the alert notification channel by displaying
No default destination configured
instead. PLAT-10340 - Removes stale Postgres socket lock files automatically during pod startup in Kubernetes, addressing issues with pod restarts after ungraceful Postgres exits and avoiding manual cleanup. PLAT-10576
- Ensures the nodes page doesn't crash (due to a missing cluster access key). In such situations, display
<private key>
instead. PLAT-10613 - Fixes erroneous duplicate region codes (for example, us-west-2) on the universe list page by ignoring replicas located in the same area as the primary clusters. PLAT-10666
- Fixes to enable proper & correct display of the Memtable metrics. PLAT-10873
- Resolves permission errors when creating
.bash_profile
for a new user on certain operating systems by explicitly setting the file ownership. PLAT-10930 - Fixes backup and restore failure issues on CentOS 7 by treating
prom_snapshot
as a variable, resolving a regression from 2.18.4 and 2.20.0 versions. PLAT-11216 - Simplifies on-prem universe creation by allowing hostnames over 20 characters. Also, adds a Python version check to the node-agent preflight to prevent Ansible module failures. PLAT-11254
- Enhances the reliability of backup operations on Kubernetes installations by updating the yb_platform_backup script to read the version metadata json file from the backup tarball instead of less reliable file paths. This not only prevents backup failures due to inability to find the version metadata files but also avoids early operational exits and restore failures. PLAT-11354
- Eliminates user interface crashes when selecting "Custom" date picker from the metrics tab after choosing timezone from User Profile, by correctly utilizing the moment-timezone library. PLAT-11358
- Eliminates null pointer exception when adding a Read Replica in an On-Prem universe with GFlag in the Primary Cluster, ensuring smooth operations. PLAT-11417
- Fixes an issue for customers adding a read-replica after upgrading from 2.17.1 to 2.18, thereby enhancing user experience in managing universes. Rectifies an issue faced during the migration process from 2.17.1-b78 to any stable version, when attacks occur while editing the primary universe or attempting to add a Read Replica (RR). The root cause is identified as a migration script (V208) incorrectly assigning SCRATCH as the storage type for Kubernetes and On-Premises universes. To rectify this, a new migration script has been introduced that sets the storage type for these universes to null initially. The storage type
SCRATCH
is now only assigned for GCP universes, preventing the task from failing. PLAT-11452 - For Kubernetes universes, improves resilience during universe node's disk size expansion by allowing persistent volume claim (PVC) expansion to proceed in spite of errors, ensuring statefulset recreation. Furthermore, detects any issues in expansion after completion. PLAT-11454
- Allows gflags to be added to a Read Replica cluster for Kubernetes, fixing a regression in the UI. PLAT-11457
- After editing a Kubernetes "provider", ensures uninterrupted universe creation, and avoids errors related to autofilled local K8s configurations via a special case handling for
kubeConfig
. PLAT-11464 - During a DR or xCluster bootstrap (that is, making a full copy from primary to replica), improved error handling so that the operation can succeed in spite of a database presence check failure. PLAT-11468
- Displays accurate restore status in the
Restore History
tab, correcting the previous issue where a failed restore was incorrectly labelled asBackup Failed
. PLAT-11489 - Eliminates the crash of the user interface when clicking the
edit EIT
(Encryption in Transit) button from the security actions dropdown, enhancing the stability of the platform. PLAT-11503 - Reduces Kubernetes backup failure rates by addressing permission issues in the /opt/yugabyte/yugaware directory, enabling more successful backups. PLAT-11481,PLAT-11517
- Adjusts affected_node_names and similar labels (
yugabyte_affected_node_names
,yugabyte_affected_node_identifiers
,yugabyte_affected_node_addresses
) to use comma separation instead of space separation to align with alert notification template expectations. PLAT-11532 - Resolves a regression that prevented backup tasks from resuming and releasing universe locks after a YugabyteDB Anywhere (aka platform) restart. PLAT-11533
- Enhances backup deletion with three attempts before declaring failure, processes GCS backup deletion in batches of 100 to follow best practices, and prevents errors by stopping function if blob size is zero. PLAT-11299,PLAT-11571
- Rectifies precheck failure during on-prem node addition when NodeAgent is employed. PLAT-11641
- Resolves an issue where invalid Prometheus expressions were generated for disk usage, affecting on-prem universes with multiple mount points. This correction ensures the consistent display of disk usage metrics, thereby offering reliable data for universes that employ multiple mount roots. The previous error resulted in no data showing for specific metrics graphs, such as Data Disk Usage Percentage and Data Disks Usage. With this fix, users can now accurately monitor and understand disk space utilization across different mount points. PLAT-11813
- For K8s universes, resolves an issue that was disabling YBC in new tservers after modifying a universe (specifically, in a way that caused an AZ migration), by ensuring YBC Helm value remains true during master rolling updates. PLAT-11919
- Corrects an issue that was preventing instance type creation in YBA DB by successfully reading values from the runtime configuration with fallback to static configurations rather than just using static configurations. Also rectifies a misconfiguration, ensuring the runtime configuration is defined at the correct scope. This amendment enhances reliability in instance type management. PLAT-10496,PLAT-11950
v2.20.0.2 - December 15, 2023
Downloads
Use 2.20.1.3 or later.
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Bug fixes
- [PLAT-10930] Permissions issue when creating yugabyte bash_profile
- [PLAT-10975] Python preflight check now also checks python version binaries
- [PLAT-11234] Update node exporter to 1.7.0
v2.20.0.1 - December 5, 2023
Downloads
Use 2.20.1.3 or later.
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Improvements
- [PLAT-11526] Add HA disable cert validation runtime conf
Bug fixes
- [PLAT-11314] YBA Installer HA doesn't use sudo.
- [PLAT-11315] Add new Memtable metric based on DB change and add migration script
- [PLAT-11352] [xCluster] Do not pass materialized views when setting up replication
- [PLAT-11540] [PLAT-11176] Pass Java PKCS TrustStore for
play.ws.ssl
connections
v2.20.0.0 - November 13, 2023
Downloads
Use 2.20.1.3 or later.
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Highlights
-
Support for OIDC token-based authentication via Azure AD. This allows YSQL database users to sign in to YugabyteDB Anywhere universes using their JSON Web Token (JWT) as their password. When configured in YugabyteDB Anywhere, users can obtain their token from their YugabyteDB Anywhere user profile, or copy it from the YugabyteDB Anywhere landing page.
-
Ability to browse the full history of restores for universes. After performing a restore, navigate to the Restore History tab to verify restore details and view all previous restores.
-
Support for backing up and restoring tablespaces. You can now restore tablespaces to a universe with a matching topology; that is, a universe that have the same zones and regions as the backed up universe.
-
Online point-in-time-recovery (PITR), which allows you to perform PITR without the need to stop any workloads.
-
Enhanced metrics display. Click and drag to select a time range in any chart to zoom in to display granular data points.
-
Quicker rolling restarts due to enhancements that accelerate the time it takes to perform local bootstrapping of tablets.
-
Improved safety checks for rolling upgrades. Before a node is upgraded, YugabyteDB Anywhere checks for under-replicated tablets to make sure your universe is in a healthy state before proceeding with the upgrade.
-
Improvements to node disk usage alerts to support alerting on non-data partitions.
New Features
- [PLAT-9084] Support LDAP with RBAC
- [PLAT-10277] OIDC Support for k8s based universes
- [PLAT-10438] Add runtime flag checks for all new RBAC APIs
- [PLAT-10456] Implement YbaApi annotation and its action
Improvements
- [PLAT-6164] Backup script version checking improvements
- [PLAT-6724] Setting postgres db password
- [PLAT-8585] [PLAT-10860] Add a node task to repair node-agent for cloud providers for existing node-agent enabled universes only
- [PLAT-8975] During YSQL upgrade, select active YB-TServer in same region as master leader
- [PLAT-9700] UI widget changes
- [PLAT-10129] [PLAT-10810] [PLAT-10841] [PLAT-10887] Filter universes based on role bindings
- [PLAT-10193] [xCluster] Disallow basic xCluster setup if transactional xCluster configuration exists
- [PLAT-10217] Improving PEX activation time
- [PLAT-10363] Adds Validation on ImageBundle as part of region add/delete in provider
- [PLAT-10369] Prometheus scrape interval/timeout preflight check
- [PLAT-10371] Change DB Queue Overflow alert label
- [PLAT-10407] Adds ap-south-2 region in YBA
- [PLAT-10415] Stop building PEX for python < 3.8
- [PLAT-10417] Improve status updater to use namespace
- [PLAT-10483] Add validation on role bindings for resources with generic permissions
- [PLAT-10489] Pass show_help=false to DB scrape endpoint to avoid scraping help and type
- [PLAT-10502] Add guard rails for YCQL tables while disabling YCQL
- [PLAT-10527] Re-provision DB nodes in rolling manner during software upgrade and reverting systemd reboot workaround
- [PLAT-10531] Better error handling for bash script as part of postgres upgrade
- [PLAT-10540] [dr] Disable DR APIs by default
- [PLAT-10544] [PLAT-10414] Minor support bundle CRD improvements
- [PLAT-10552] Add
useTablespaces
boolean in list backup response - [PLAT-10556] Adding Prometheus basic auth to YBA Installer
- [PLAT-10618] Need to sync roles before turning on new RBAC runtime flag
- [PLAT-10620] Correct service file template with proxies
- [PLAT-10640] Automatically adjust associated role bindings when role is edited
- [PLAT-10689] Support allowAll=false and empty resource UUID set
- [PLAT-10691] Add option to provide service account name in DB helm charts
- [PLAT-10694] Improve logging for schedule backups
- [PLAT-10806] Searching custom path for active software
- [PLAT-10809] Use serializable transaction with retry for node-agent cert update as it is very critical
- [PLAT-10838] Bump Prometheus version
- [PLAT-10866] Increment YBC version to 2.0.0.0-b15 on master
- [PLAT-10904] [PLAT-10721] Add universe read permission annotation to universe configure API. Add OTHER.READ to logs API
- [PLAT-10910] Scrub APIs: EAR, RBAC, Support Bundle
- [PLAT-10932] Increment YBC version to 2.0.0.0-b16
- [PLAT-10991] [xCluster] Mark xCluster APIs visibilities
- [PLAT-11001] Scrub APIs: Backup/Restores/Schedules
- [PLAT-11045] Make
yb.ui.feature_flags.granular_metrics
runtime flag as enabled by default - [PLAT-11135] [PLAT-10899] Annotated the YBA APIs (Certs/Access Keys/Region/AZ's/ImageBundle)
- [PLAT] [YBA API] Skip swagger generation for deprecated APIs, Implement YbaApiTest to validate proper usage of YbaApi
Bug fixes
- [PLAT-8895] Prometheus restore fixes
- [PLAT-10422] Manually issuing reboot command during provision
- [PLAT-10494] StatusUpdater injection was not used correctly
- [PLAT-10548] [UI] Backup UI padding is missing
- [PLAT-10554] Fix NPE for backups with De-commissioned nodes
- [PLAT-10560] Incorrect master key rotation when first backup/restore from EAR universe
- [PLAT-10579] Fix the
yb_platform_backup
script for restore commands and platform backup restore for docker based installations - [PLAT-10599] Backup chaos testing fix: Consider ToBeRemoved state as Live
- [PLAT-10614] Fix expressing in CPU usage alert
- [PLAT-10628] [PLAT-10542] Fix for missing Node UUID causes certain tasks to fail in new YBA releases
- [PLAT-10629] Fix 296 migration
- [PLAT-10632] K8s NFS based backup/restore pre-checks fix
- [PLAT-10637] [PLAT-10638] Fixes for AWS provider SG validation
- [PLAT-10676] Fix disk volume usage percentage graph in outlier nodes mode
- [PLAT-10692] [PLAT-10891] [PLAT-10840] Assign ConnectOnly role by default if no system roles given in bindings for user
- [PLAT-10700] [PLAT-10646] [PLAT-10695] Backport some missed fixes
- [PLAT-10794] Use
su
instead ofsudo -u
to run commands as user - [PLAT-10808] Fixing up node agent certificate path
- [PLAT-10813] [RBAC|UI] Disable Edit Role for system roles -[PLAT-10811] [RBAC|UI] Edit Role modal is not closed automatically if there is an error [PLAT-10816]-[PLAT-10821] [PLAT-10822]
- [PLAT-10823] [On-Prem] Universe Creation failing with read replica
- [PLAT-10824] * [PLAT-10656] Fix issues with zooming charts to get fine grained data points
- [PLAT-10827] Fixing broken GflagsUpgrades on K8s
- [PLAT-10849] [UX] Give exact info message which indicates why we are not allowing to take Backup on Universe * [PLAT-10848] - [PLAT-10843] - [PLAT-10815]
- [PLAT-10868] In UI, make backup tablespaces checkbox unchecked by default
- [PLAT-10877] Increase minimal step to 30 + remove the limit on smallest range for detailed metrics feature
- [PLAT-10897] Handling ansible-playbook with a long shebang line
- [PLAT-10901] Fix typo and make password at least 8 characters long
- [PLAT-10908] [PLAT-11004] [PLAT-10940] [PLAT-10933] [PLAT-10844] [PLAT-10845] [PLAT-10894] [PLAT-10909] fix RBAC UI issues
- [PLAT-10911] [PLAT-10630] [2.21.0.0-b12] [Azure] Resume universe failed [Custom exit code exception: Could not find last PowerState for VM]
- [PLAT-10935] Access Key rotation fails for manually uploaded keys
- [PLAT-11059] Avoid resetting node agent as part of provider edit
- [PLAT-11073] [PLAT]Remove Backup tablespaces checkbox if YCQL is selected - [PLAT-11149] [PLAT] Disable Backup tablespaces checkbox in Change Retention Period
- [PLAT-11094] Fix NPE for cases where there are no tablespaces in target universe
- [PLAT-11102] Fixing replicated-migrate restore
- [PLAT-11123] [PLAT-11124] Backing up provision_instance.py and node agent certs
- [PLAT-11130] [UI] [2.20] Fix edit security locators
- [PLAT-11142] YBA Installer fix java non proxy hosts
- [PLAT-11173] Replicated migrate failing with custom root directory
- [PLAT-11196] Set the provider reference in image bundle as part of provider edit
- [PLAT-11216] Backup script failing on CentOS 7 Fix swaggerGen