What's new in the v2.4 release series
Included here are the release notes for all releases in the v2.4 release series. Content will be added as new notable features and changes are available in the patch releases of the v2.4 release series.
Use v2.4.4.0 or later
YugabyteDB version 2.4.4.0 contains an important fix for a bug in a downstream dependency (the gperftools
package). This tcmalloc
memory allocation bug could lead to process crashes. If you're using a version higher than 2.4.0.0, please upgrade as soon as possible.
Refer to issue 8531 for details.
This bug does not affect version 2.4.0.0.
v2.4.8.0 - November 23, 2021
Build: 2.4.8.0-b16
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.8.0-b16
Improvements
Database
- [8251] Add Transaction Cleanup to CREATE INDEX
- [8580] [9489] [YSQL] Inherit default PGSQL proxy bind address from RPC bind address
Yugabyte Platform
- [PLAT-26] [PLAT-1673] [9612] Add logs purge threshold option to zip_purge_yb_logs.sh
- [PLAT-1662] Root cert rotation support through UI for both self-signed and custom certs
Bug Fixes
Database
- [1252] Do not link with system libpq
- [5920] Fix bootstrapping with preallocated log segment
- [10315] [DocDB] Add null check to MasterServiceImpl::GetTabletLocations
Yugabyte Platform
- [PLAT-1724] Full move fails midway if system tablet takes more than 2 mins to bootstrap
- [PLAT-2315] Fix backup failures after root cert rotation
- [UI] NFS config failed in 2.4
v2.4.7.0 - September 14, 2021
Build: 2.4.7.0-b7
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.7.0-b7
Improvements
Database
- [5026] [9001] [YCQL] Run operations within a transaction block in serial
- [7719] [DocDB] Introduce aggregation function for metrics
- [9583] [YSQL] log failed DocDB requests on client side
Yugabyte Platform
N/A
Bug Fixes
Database
- [8114] [YSQL] [Backup] Partial index syntax error in the ysql_dump output
- [9032] [YCQL] Honour token() conditions for all partition keys from IN clause
Yugabyte Platform
- [1525] [Platform] New Universe creation gets public IP assigned even with flag = false
v2.4.6.0 - August 10, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.6.0-b10
Improvements
Database
Yugabyte Platform
- [8789] Add support for certificate chaining in platform/yb-client.
- [9103] Platform: Update "preflight_checks.sh" from ping to tcp check.
Bug Fixes
Database
- [8294] Fix missing conflict when creating row using multiple inserts
- [8592] Check capability before sending graceful cleanup
- [9118] [YCQL] Fixing ALTER TABLE which resets table properties like is_transactional_.
Yugabyte Platform
- [7627] Platform: Revert [7475] Use more recent centos-7 base image for GCP universe VMs.
- [8426] Platform: Alert spam for message "Clock Skew Alert Resolved"
v2.4.5.0 - June 21, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.5.0-b20
Improvements
Database
N/A
Yugabyte Platform
- [7706] Allow editing of backup config credentials. (#8535)
Bug fixes
Database
- [4437] [8731] [DocDB] disabled bloom filters for master tablet and fixed DocDbAwareV2FilterPolicy compatibility for range-partitioned co-located tables
- [6096] [YSQL] Fix crash during bootstrap when replaying WAL of deleted colocated table
- [6482] Fix timeout handling when getting safe time in a RF1 cluster
- [7641] [8834] [YCQL] Remove incorrect CHECK condition added in D10931 (in 2.4.2.0 release)
- [8204] [Ybase] GetLoadMoveCompletionPercent returns an incorrect 100% if tservers haven't heartbeated their tablet reports
- [8390] Fix NPE Handling for indexed_table_id
- [8591] [DocDB] Add protection against missing UserFrontiers in older SST files during intents cleanup
Yugabyte Platform
- [6945] Add limit to customer task API. (#8700)
- [7859] Fix '< 1 min' uptime shown intermittently
- [8503] Fix Add instance modal form to allow for adding instances in isolated region case.
- [8345] Remove hard coded cert filepath, and add Python module to use the system temporary directory
- [8611] Enable edit backup configuration for the active tab only. (#8674)
- [8620] Reset the values on cancel. (#8627)
- [8809] Edit Configuration button was only working intermittently. (#8975)
- [8921] Allow ReadOnly and BackupAdmin roles to change their password.
v2.4.4.0 - May 20, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.4.0-b7
Improvements
Database
- [7651] YSQL: Always listen on UNIX domain socket
- [7873] [DocDB] - Initialize block cache for master/sys_catalog
- [8037] [DocDB] - Refactor memory management for tablets into a separate class
Yugabyte Platform
- [8302] Platform: Scrape platform prometheus metrics in replicated
Bug fixes
Database
Yugabyte Platform
N/A
v2.4.3.0 - May 12, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.3.0-b6
Improvements
Database
- [8052] Add ability to configure cipher list
Yugabyte Platform
-
[1342] Fixing the error message when the get host info call to gcp fails
-
[8165] Yugabyte Platform (YugaWare) creates zombie ssh process
Bug fixes
- [8176] GCP universes don't have correct nproc system settings.
Database
-
[8150] [8196] Fix preceding op id in case of empty ops sent to the follower
-
[8348] Correctly handling a failure to create a priority thread pool worker thread
Yugabyte Platform
- [6758] Unable to reuse On-premise instance incase previouse universe failed / deleted (#8263)
v2.4.2.0 - May 3, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.2.0-b45
Improvements
Database
- [5647] docdb: LB should not move tablets right after splitting
- [6241] YSQL: Make row key share lock less restrictive
- [6305] Adaptive Heartbeat Reporting
- [6445] docdb: Master should rebuild YCQL system.partitions on a background thread
- [7079] [7153] YSQL: Improve configuration and defaults for client to server encryption
- [7355] ysql: check backfill bad connection status
- [7455] [YCQL] Update index from transaction with cross-key statements.
- [7641] YCQL: Fix checks in index update path that determine full row removal.
- [7705] ysql: prioritize internal HBA config
- [7813] [YSQL] YSQL dump should always include HASH/ASC/DESC modifier for indexes/pkey.
Yugabyte Platform
- [6668] Support platform backup/restore on Kubernetes
Bug fixes
Database
- [5383] Fix conflict resolution while adding read intents
- [6747] [6902] [7109] [7284] YCQL system.partition bug fixes
- [6960] docdb - Register ScopedRWOperation when accessing doc_db data in StillHasParentDataAfterSplit
- [7105] Explicitly clear the global PgMemctx map in YBCDestroyPgGate
- [7145] Fix wrong propagated safe time
- [7397] Tablet splitting: Crash during generating TSHeartbeat report after split
- [7835] Don't crash when trying to append ValueType::kTombstone to a key
Yugabyte Platform
- [1342] [Platform] Fixing the error message when the get host info call to cloud providers fails
- [6698] [7262] Platform: Cascade delete alert and alert_definition
- [7054] [Platform] Add conditional checks for hiding specific platform elements in non-platform mode.
- [7268] [Platform] Use the correct SSH user for on-prem node preflight checks
- [7385] [Platform] Missing package for s3cmd dependency for airgapped GCP VMs
- [7390] [Platform] Preflight checks should handle sudo passwords when given
- [7402] [Platform] parsing of df output is fragile and may fail in case of "safe" error in df
- [7408] [Platform] Insufficient user feedback in platform for Task Retry
- [7416] [Platform] Changed default port of On-Prem provider to 22 (#7599)
- [7475] [Platform] Use more recent CentOS-7 base image for GCP universe VMs
- [7597] [Platform] Add python modules to PYTHONPATH in non-replicated installations
- [7656] [Platform] Use the correct SSH user + port for onprem workflow.
- [7698] [Platform] Custom SMTP Configuration API returns unmasked SMTP password
- [7703] [Platform] Can't send email for custom SMTP settings without authentication (empty username)
- [7704] [Platform] Backup to S3 fails using Platform instance's IAM role
- [7769] Prevent adding on-prem node instance with duplicate IP
- [7771] [Platform] A lot of exceptions in logs "Error querying for alerts..."
- [7780] [Platform] Make backup deletion independent of schedule
- [7810] [Platform] Update SMTP configuration for health check emails
- [7909] [Platform] Fix issue with signature could not be verified for google-cloud-sdk for GCP VMs
- [7918] [Platform] Add US-West2 GCP metadata to Platform
- [7988] [Platform] Backup deletion script shouldn't cause retries
v2.4.1.1 - March 30, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.1.1-b4
Bug Fixes
Database
- [7145] Fix wrong propagated safe time
Yugabyte Platform
- [7385] Platform: Missing package for s3cmd dependency for airgapped GCP VMs
v2.4.1 - Feb 10, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.1.0-b25
Improvements
Yugabyte Platform
- When creating/restoring backups, use the local UNIX socket to connect to YSQL instead of the hostname if authentication is enabled [5571]
- On universe creation, platform checks that clocks are synchronized [6017]
- Health Check generates alerts if it isn't running [6581]
- Manual provisioning now runs the same preflight checks as regular provisioning [6819]
- Retrying a failed task now provides visual feedback [6820]
- Removed the "Transactions" plot line from YSQL Ops and Latency graphs [6839]
- You can now specify a minimum TLS version for Platform [6893], [7140]
- Health checks now default to TLS 1.2 [7196]
Database
- The YB-TServer metrics output (for example, on localhost) now shows the total affected rows for each operation. [4600]
- YSQL: Backup for colocated databases [4874]
- Optimizations to the YSQL layer to apply empty deletes only when required [5686]
- Backup: Fix restore of colocated table with
table_oid
already set [6678]
- Backup: Fix restore of colocated table with
- Metrics thread now start after the first replication stream is created [5251]
- The YB-TServer metrics output (for example, on localhost) now shows transaction BEGIN, COMMIT, and ROLLBACK statements. [6486]
- Restore now preserves the exact partitioning of the source tablets [6628]
- Enabled a sanity check to ensure that the tablet lookup result matches the partition key [7016]
Bug Fixes
Yugabyte Platform
- Release instance was not an option for a node if an install failed because of SSH access [5942]
- Backup-related tasks (schedules, restores, deletes) failed when the storage configuration was deleted [6680]
- VPC cross-linking failed during creation of an AWS provider [6748]
- Fixes to YSQL backups with node-to-node TLS encryption enabled [6965]
- Add certs flags to
ysql_dump
when backing up a node-to-node TLS-enabled universe
- Add certs flags to
- Corrected an error when backing up multiple YSQL namespaces in a universe that is encrypted at rest [7114]
- Fixed a syntax error in replicated.yml [7180]
- Fixed an issue preventing health checks from using an appropriate TLS version [7196]
Database
- YSQL: Fix calculation for transaction counts in YSQL metrics. [4599]
- ybase: a blacklisted TS' initial load was not replicated during master failover [6397]
- The CREATE INDEX statement generated by ysql_dump now uses SPLIT INTO syntax [6537]
- YCQL: Fixed a bug with an index update on a list after an overwrite [6735]
- Fixed a bug in YSQL for online index backfill capabilities, to ensure deletes to an index are persisted during backfill [6811]
- YCQL: Fixed various issues for literals of collection datatypes [6829], [6879]
- The permissions map is now rebuilt after all ALTER ROLE operations [7008]
- Fixes to Async Replication 2DC capabilities, including a bug fix for a race condition on consumer with smaller batch sizes [7040]
v2.4.0 - Jan 22, 2021
Downloads
Docker
docker pull yugabytedb/yugabyte:2.4.0.0-b60
New Features
Yugabyte Platform
-
Data encryption in-transit enhancements:
-
Moving of TLS In-Transit Certificates to Cloud > Security Config
-
Support for Rolling restart of a universe (6323)
-
Support for VMware Tanzu as a new cloud provider (6633)
-
Alerts for backup tasks (5556)
Database
- Introducing support for audit logging in YCQL and YSQL API (1331,5887,6199)
- Ability to log slow running queries in YSQL (4817)
- Introducing support for LDAP integration in YSQL API (6088)
Improvements
Yugabyte Platform
-
Support for Transactional tables and Cross Cluster Async Replication topology (5779)
-
Support for very large transactions and stability improvements (1923)
-
Displaying an entire query in the detailed view of the live queries tab (6412)
-
Not returning Hashes and Tokens in API responses (6388)
-
Authentication of proxy requests against a valid platform session (6544)
-
Disabling of the unused API endpoint run_query (6383)
-
Improved error handling for user-created concurrent backup tasks (5888)
-
Performance improvements for live queries (6289)
-
Pre-flight checks for Create Universe, Edit Universe, and Add Node operations for an on-premise provider (6016)
-
Disabling of the unused API endpoint run_in_shell (6384)
-
Disabling of the unused API endpoint create_db_credentials (6385)
-
Input validation for Kubernetes configuration path (6389)
-
Input validation for the access_keys API endpoint (6386)
-
Input path validation for backup target paths (6382)
-
Timeout support for busybox (6652)
-
Enabling of CORS policy by default (6390)
-
Deleting backups for TLS-enabled universes (5980)
Database
-
ALTER versions for ORM support (4424)
-
SQL support improvements:
-
Performance improvements:
-
YSQL usability improvements:
-
YSQL statement execution statistics (5478)
-
Improved raft leader stepdown operations, by waiting for the target follower to catch up. This reduces the unavailability window during cluster operations. (5570)
-
Improved performance during cluster overload:
-
Improved performance for YCQL and many connections:
-
Improved DNS handling:
-
Improved master-level load balancer (LB) operations:
- Throttle tablet moves per table (4053)
- New global optimization for tablet balancing -- this also allows the LB to work with colocation (3079)
- New global optimization for leader balancing (5021)
- Delay LB on master leader failover (5221)
- Register temporary TS on master failover to prevent invalid LB operations (4691)
- Configurable option to disallow TLS v1.0 and v1.1 protocols (6865)
-
Skip loading deleted table metadata into master memory (5122)
Bug Fixes
Yugabyte Platform
- Edit Universe did not display the TLS certificate used
- Multi-zone K8s universe creation failed (5882)
- Tasks page reported an incorrect status of a failed backup (6210)
- K8s universe upgrade did not wait for each pod to update before moving to the next (6360)
- Changing node count by AZ was doing a full move (5335)
- Enabling Encryption-at-Rest without KMS configuration caused create Universe to fail silently (6228)
- Missing SST size in the Nodes page of a universe with read replicas (6275)
- Incorrect link in the Live queries dashboard node name (6458)
- Failure to create a TLS-enabled universe with a custom home directory setting with on-premise provider (6602)
- Database node health liveliness check was blocked indefinitely (6301)
Database
-
Critical fixes for transaction cleanup applicable to aborted transactions (observed frequently as servers reaching soft memory limit)
-
Main raft fixes:
-
Metrics reporting could be inconsistent due to regular and intent rocksdb using the same statistics object (5640)
-
Various issues with the rocksdb snapshot mechanism used for backup/restore (6170,4756,5337)
-
Fixes in the YCQL API:
-
Fixes in the YSQL API:
-
Retry on SSL_ERROR_WANT_WRITE (6266)
Known Issues
Yugabyte Platform
-
Azure IaaS orchestration (in beta status):
Database
-
Automatic Tablet Splitting:
- While a tablet split is occurring, in-flight operations for both YCQL and YSQL APIs would currently receive errors. These would currently have to be retried at the application level currently. In the future, these will be transparently handled underneath the hood. The immediate impact for this would be that certain tools like TPCC or sysbench would fail while tablet splitting is happening.
Notes
New release versioning
Starting with v2.2, Yugabyte release versions follow a new release versioning convention. The preview release series, denoted byMAJOR.ODD
, incrementally introduces new features and changes and is intended for development and testing only. Revision releases, denoted by MAJOR.ODD.REVISION
versioning, can include new features and changes that might break backwards compatibility.
Upgrading from 1.3
Prior to v2.0, YSQL was still in beta. Upon release of v2.0, a backward-incompatible file format change was made for YSQL. For existing clusters running pre-2.0 release with YSQL enabled, you cannot upgrade to v2.0 or later. Instead, export your data from existing clusters and then import the data into a new cluster (v2.0 or later).