github yugabyte/yugabyte-db v2.9.0
v2.9.0.0 (Released August 31, 2021)

latest releases: 2.25.0.0-b5, 2.25.0.0-b4, 2.20.7.0-b53...
3 years ago

v2.9.0.0 - August 31, 2021

Version 2.9 introduces many new features and refinements. To learn more, check out the Announcing YugabyteDB 2.9: Pushing the Boundaries of Relational Databases blog post.

Yugabyte release 2.9 builds on our work in the 2.7 series, which fed into the 2.6 stable release.

Build: 2.9.0.0-b4

Downloads

macOS       Linux

Docker

docker pull yugabytedb/yugabyte:2.9.0.0-b4

New Features

(Refer to the release announcement for new-feature details for this release!)

Improvements

Yugabyte Platform

  • [3452] [Platform] Allow TLS encryption to be enabled on existing universes
  • [3452] [Platform] Wrapper API handling both TLS Toggle and Cert Rotation
  • [8296] [Platform] Ability to stop backups from admin console. (#9310)
  • [8489] [Platform] Update CertsRotate upgrade task to support rootCA rotation
  • [8637] [Platform] Adding APIs to schedule External user-defined scripts.
  • [9236] Replace cron jobs with systemd services for yb-master, yb-tserver, clean_cores, and zip_purge_yb_logs.
  • [9237] Upgrade cron based universes to systemd universes.
  • [9238] Changed AWS Default storage type from GP2 to GP3
  • [9272] Add connection strings for JDBC, YSQL and YCQL in connect Dialog (#9473)
  • [9302] Adding custom machine image option for GCP
  • [9325] updated aws pricing data by running aws utils.py script. pricing data now includes t2 data. t2 instances can now be used when launching universes.
  • [9370] Add Snappy and LZ4 traffic compression algorithms
  • [9370] Implement network traffic compression
  • [9372] Add RPC call metrics
  • [9497] [Platform] Add more regions to GCP metadata
  • [PLAT-1501] [Platform] Support downloading YB tarball directly on the DB nodes
  • [PLAT-1522] [Platform] Support downloading releases directly from GCS
  • AWS disk modification wait method updated to return faster

Database

  • [2272] [YSQL] Creating system views during YSQL cluster upgrade
  • [2272] [YSQL] Support INSERT with OID and ON CONFLICT or cluster upgrade
  • [3375] [DocDB] Drive aware LBing when removing tablets
  • [4421] [YCQL] Enable LDAP based authentication
  • [6470] [YSQL] Enable ALTER SCHEMA RENAME
  • [6719] [YSQL] YSQL support for tablet splits by preparing requests along with tablet boundaries
  • [7327] [YSQL] Enable concurrent transactions on ALTER TABLE [DROP & ADD COLUMN] DDL Statement
  • [7612] [DocDB] Improves TTL handling by removing a file completely if all data is expired
  • [7889] [5326] [YBase] Implement chunking/throttling in Tablet::BackfillIndexForYSQL
  • [7889] [YSQL] Set up infrastructure for index backfill pagination
  • [8452] [YBase] Support for YSQL DDL restores for PITR
  • [8718] [YSQL] Implement function to compute internal hash code for hash-split tables
  • [8756] [YSQL] Enable statistic collection by ANALYZE command
  • [8804] [YSQL] [backup] Support in backups the same table name across different schemas
  • [8846] [DocDB] [PITR] allow data-only rollback from external backups
  • [9036] Ability to verify Index entries for a range of rows on an indexed table/tablet
  • [9073] [9597] [YSQL] pg_inherits system table must be cached
  • [9219] [YSQL] Add superficial client-side support for SAVEPOINT and RELEASE commands
  • [9317] [YBase] Introduce mutex for permissions manager
  • [9333] [backup] Improve internal PB structure to store backup metadata into SnapshotInfoPB file.
  • [9583] [YSQL] log failed DocDB requests on client side
  • [YSQL] Merge user provided shared_preload_libraries to enable custom PSQL extensions (#9576)
  • [YSQL] Pass Postgres port to yb_servers function

Bug Fixes

Yugabyte Platform

  • [7456] [Platform] Add Labels to GCP Instances and disks
  • [8152] [Platform] Enforce configured password policy (#9210)
  • [8798] Add version numbers to UpgradeUniverse task info
  • [8950] [Platform] Use matching helm chart version to operate on db k8s pods
  • [9098] [Platform] Fix sample apps command syntax for k8s universes
  • [9213] [Platform] [UI] Leading or trailing spaces are not removed from username field on login console
  • [9245] [Platform] Add empty check before adding tags
  • [9245] [Platform] Tag AWS Volumes and Network Interfaces
  • [9260] [Platform] Fix Health Check UI not rendering
  • [9278] changing kubernetes provider config labels
  • [9331] [Platform] Allow editing "Configuration Name" for backup storage provider without security credentials
  • [9363] fixing metric graph line labels
  • [9363] removing TServer references from graph titles
  • [9365] [Platform] Optimise CertificateInfo.getAll by populating universe details in batch rather than individually
  • [9377] Improving system load graph labels
  • [9403] [UI] Add submit type to submit button in YBModal
  • [9403] Fix form submission causing refresh for confirmation modal
  • [9417] [9662] Set enable_log_retention_by_op_idx to true by default and bump update_metrics_interval_ms to 15000
  • [9425] [Platform] Slow Query Calls using custom username/password
  • [9580] [Platform] Added a restore_time field in backup restore flow for AWS portal only using Feature Flags.
  • [9628] [Platform] Increase wait for yum lockfile to be released during preprovisioning
  • [9635] [Platform] "None" in zone field observed on tserver status page in platform
  • [9692] Fix initialization of async cluster form values for existing universes without read-replica
  • [9713] [Platform] Do not perform version checks if HA is not set
  • [9854] Disable drive aware LB logic by default
  • [PLAT-1520] [Platform] Stop displaying external script schedule among Backup Schedules
  • [PLAT-1524] [Platform] Fix password policy validation
  • [PLAT-1540] [Platform] Make health check use both possible client to node CA cert location
  • [PLAT-1559] [Platform] Stop the external script scheduler if the universe is not present
  • [Platform] Disable "Pause Universe" operation for Read-Only users (#9308)
  • [Platform] Extends ToggleTLS with ClientRootCA and General Certificates Refactor
  • Delete associated certificates while deleting universe
  • Make backup configuration name unique for each customer

Database

  • [2922] [5036] [YSQL] Avoid redundant key locking in case of update operations
  • [4992] Add application.conf setting to dump output of cluster_health.py
  • [6667] [DocDB] Add a limit on number of outstanding tablet splits
  • [8034] [DocDB] fixed tablet split vs table deletion race
  • [8256] [DocDB] Tablet splitting: Disable automatic splitting for 2DC enabled tables
  • [8592] Check capability before sending graceful cleanup
  • [8683] [DocDB] fixed CassandraBatchTimeseries failures loop with tablet splitting
  • [9032] [YCQL] Honour token() conditions for all partition keys from IN clause
  • [9219] [DocDB] Ignore intents from aborted subtransactions during reads and writes of the same transaction
  • [9219] [DocDB] Persist SubTransactionId with intent value
  • [9248] [DocDB] reworked global_skip_buffer TSAN suppression
  • [9259] Block PITR when there were DDL changes in restored YSQL database
  • [9279] [YSQL] Enable -Wextra on pggate
  • [9301] Default to logging DEBUG logs on stdout
  • [9314] [PITR] Cleanup sys catalog snapshots
  • [9319] [DocDB] fixed std::string memory usage tracking for gcc9
  • [9320] [YSQL] Import Make index_set_state_flags() transactional
  • [9323] [YSQL] address infinite recursion when analyzing system tables
  • [9334] Fix provider creation in yugabundle by using correct version of python
  • [9335] Use proper initial time to avoid signed integer overflow
  • [9430] [DocDB] Added success message for all tablets and single tablet compaction/flushes
  • [9451] Fixed diskIops and throughput issue.
  • [9452] Fix access key equals method
  • [9476] [DocDB] Use EncryptedEnv instead of Env on MiniCluster
  • [9492] Limit VERIFY_RESULT macro to accept only Result's rvalue reference
  • [9501] [DocDB] fixed Log::AllocateSegmentAndRollOver
  • [9550] [YSQL] output NOTICE when CREATE INDEX in txn block
  • [9553] Update TSAN suppression after RedisInboundCall::Serialize rename
  • [9563] [YSQL] Import jit: Don't inline functions that access thread-locals.
  • [9586] [DocDB] Ignore intents from aborted subtransactions during transaction apply
  • [9593] [DocDB] Move client-side subtransaction state to YBTransaction
  • [9600] [YSQL] Smart driver: Incorrect host value being return in Kubernetes environment
  • [9601] Cleanup intents after bootstrap
  • [9605] [YBase] PITR - Fix auto cleanup of restored hidden tablets
  • [9616] Fix master crash when restoring snapshot schedule with deleted namespace
  • [9654] [xCluster] Limit how often ViolatesMaxTimePolicy and ViolatesMinSpacePolicy are logged
  • [9657] [CQL] Show static column in the output of DESC table
  • [9677] [YSQL] Import Fix mis-planning of repeated application of a projection.
  • [9678] [YQL] Use shared lock for GetYsqlTableToTablespaceMap
  • [9750] Initialise shared memory when running postgres from master
  • [9758] [DocDB] Fix race between split tablet shutdown and tablet flush
  • [9768] [YSQL] Import Fix incorrect hash table resizing code in simplehash.h
  • [9769] [YBase] Use shared lock in GetMemTracker()
  • [9776] [YSQL] Import Fix check_agg_arguments' examination of aggregate FILTER clauses.
  • [YSQL] free string in untransformRelOptions()
  • [YSQL] Import Fix division-by-zero error in to_char() with 'EEEE' format.
  • [YSQL] Import Fix thinkos in LookupFuncName() for function name lookups
  • [YSQL] Import Lock the extension during ALTER EXTENSION ADD/DROP.

Known Issues

Yugabyte Platform

N/A

Database

N/A

Notes

Don't miss a new yugabyte-db release

NewReleases is sending notifications on new releases.