What's new in the YugabyteDB v2.16 STS release series
YugabyteDB Anywhere release notes have moved
The release notes for YugabyteDB Anywhere have moved to their own page.Included here are the release notes for the YugabyteDB v2.16 series. Content will be added as new notable features and changes are available in the patch releases of the YugabyteDB v2.16 series.
For an RSS feed of all release series, point your feed reader to the RSS feed for releases.
Use database version 2.16.1.1 or later
YugabyteDB releases in the v2.16 series prior to v2.16.1.1 contain a backup issue: if a database contains a pre-split range-partitioned table whose primary key constraint column ordering isn't the same as the table's column ordering.
If you're using a previous v2.16 database version, you won't be able to successfully perform backups until you upgrade to YugabyteDB 2.16.1.1 or later.
v2.16.5.0 - May 30, 2023
Build: 2.16.5.0-b24
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.5.0-b24
New features
- [16240] [YSQL] Use per-tuple memory context in relcache preloading
- [17358] [DocDB] Add tracking for memory used by YBMetadataCache
- [17163] [YCQL] Use Metadata Cache by default in PREPARE
Improvements
- [16849] [DocDB] [Tablet splitting] Lower the thresholds for splits on low core machines
- [17041] [DocDB] Optimize YCQL JSONB attribute-level upsert performance
- [17276] [xCluster] cleanup the transaction to write_id map whenever transaction is applied
Bug fixes
- [14268] [Xcluster] Fix GetChangesOnSplitParentTablet
- [15769] [YSQL] Fix functional indexes returning wrong results
- [16863] [DocDB] Ignore missing YSQL indices when importing a snapshot.
- [16976] [YSQL] Fix postgres crash when pg_stat_progress_create_index has an index from a different database
- [16999] [DocDB] Retry read if read buffer was full on previous step
- [17026] [Xcluster] Fix metrics jump when regaining leadership
- [17107] [YCQL] Prevent DROP TYPE for the used YCQL type
- [17317] [YSQL] Import Handle RLS dependencies in inlined set-returning functions properly.
- [17362] Avoid double memory tracking of request data and fix tracking for plain response buffer size
- [17380] [YSQL] Make sure ybctid_column_value is still sent in index scans for upgrade compatibility
- [17480] [DocDB] Update to NULL could be lost after compaction when packed row is enabled
- [17502] [DocDB] Exclude yugabyted-ui from sed binary manipulation.
- [17502] Fix the shared library interpreter used for yugabyted-ui
Known issues
N/A
v2.16.4.0 - May 10, 2023
Build: 2.16.4.0-b32
Docker
docker pull yugabytedb/yugabyte:2.16.4.0-b32
New features
- [15746] [DocDB] harden master leaderless tablet endpoint
- [16875] [DST] PITR - Extend master's sys catalog retention based on snapshot schedule
- [17165] [CDCSDK] Added serve_as_proxy member to GetCheckpointRequestPB
Improvements
- [506] [YCQL] Disable alter table rename on columns with index
- [3090] [YCQL] Limit topology change events to subscribed connections
- [13718] [DocDB] Remove const modifier for iterator HasNext and GetNextReadSubDocKey
- [15362] [DocDB] Reuse regular RocksDB upper bound for intents RocksDB
- [15987] [YSQL] Use tablespace leader preference as a cost component in planner
- [16058] [CDCSDK] Use safe time from request rather than response
- [16108] [DocDB] Start transaction promotion immediately even if not ready yet
- [16571] [DocDB] Protect InboundCall::trace_ with the mutex/atomic_ptr
- [16581] [DocDB] Remove outstanding tablet split limit by default.
- [16666] [YSQL] Switch to new query context for get_tablespace_distance() operations
- [16697] [DocDB] Disallow multiple OpenTable calls in YBMetaDataCache::GetTable
- [16789] [YSQL] Assume that CAPABILITY_PickReadTimeAtTabletServer is enabled all the time
- [16868] [DocDB] Sanitizes debug messages
Bug fixes
- [13862] [YSQL] Fix metric for total number of connections made
- [15090] [DocDB] Tablet splitting: Some queries fail with "The tablet is shutting down" during the workload
- [15449] [CDCSDK] Send snapshot end marker when snapshot has no data
- [16131] [DST] B/R, PITR - Fix invalid enum value of restoration state object
- [16329] [YSQL] Fix metric for rejections due to connections limit
- [16565] [DocDB] Fixed missing data in case of RocksDB iterator error
- [16583] [YSQL] Fix IndexOnlyScan with no targets returning empty rows
- [16631] [DocDB] Fix delete_snapshot sending delete RPCs indefinitely for deleted tablets
- [16632] [DocDB] Fix TestIndex.testDropDuringWrite
- [16669] [DocDB] Fix tablet splitting / PITR deadlock
- [16964] [DocDB] Compilation failure for Apple clang 14.0.3
Known issues
N/A
v2.16.3.0 - April 18, 2023
Build: 2.16.3.0-b43
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.3.0-b43
New features
- [15499] [DocDB] Enable lease revocation
- [15735] [DocDB] Add Raft Config info to consensus information in YB-Tserver UI
- [16124] [DocDB] Add mem_tracker for RunningTransaction objects in TransactionParticipant
- [16253] [YSQL] Support expression pushdown for ybgin index scans
Improvements
- [10696] [YSQL] Avoid reading sys catalog from followers
- [13163] [CDCSDK] Making CDC checkpoint logs on tablet peer periodic
- [14063] [DocDB] Support packed row in sst_dump
- [15629] [DocDB] Update last_received_current_leader sent from replica to leader by including de-duped messages as well
- [15794] [DocDB] Refactor AreLeadersOnPreferredOnly to Account for Geo Partitioned Table
- [15883] [DocDB] Check permission status of YCQL indices in
CatalogManagerIsDeleteTableDone
- [15937] [DocDB] Don't initiate packing with tombstoned column
- [15952] [YSQL] Reduce verbosity of a Postgres log line in read committed isolation level codepath
- [16006] [DocDB] execute callbacks for local RPC calls the same way as for remote calls
- [16034] [15933] [YSQL] Avoid picking hybrid timestamps in YSQL backends
- [16091] [DocDB] Changing post-split compaction to run non-exclusively
- [16138] [DocDB] Tablet splitting should be blocked on system_postgres.sequences_data
- [16147] Correctly set cdc_sdk_min_checkpoint_op_id to -1.-1 in upgrade scenarios
- [16163] [DocDB] Change IsDeleteTableInProgress treatment of alive Index
- [16474] [DocDB] Change PgClientService session_expiration_queue_ to min heap
- [16679] [CDCSDK] Correcting safe_time bug for batches with only commit record
- [DocDB] Bump RBS session default timeout
- [DocDB] Release RequestScope in WriteQueryExecuteDone()
Bug fixes
- [13379] [DocDB] Fix BlockBasedTable memtracker being unregistered in Tablet destructor
- [13467] [YSQL] Fix ANALYZE error after ALTER TABLE DROP COLUMN
- [14519] [YSQL] Prevent 'Restart read required' error in case of sys catalog cache refresh
- [14716] [DocDB] LDB tool is crashing while trying to dump manifest file
- [15220] [15786] [15947] [DocDB] Fix apply-operation timeout during schema changes
- [15286] [YSQL] Fix premature return in PG_TRY block in relcache.c
- [15528] [DocDB] Fix usage of Connectionoutbound_data_being_processed_ during Shutdown
- [15740] [CDCSDK] Failed to decode Before image record with packed row enabled and multiple table alter
- [16048] [YSQL] Fix regression in performance of queries returning large columns
- [16151] [DocDB] Fix incorrect iteration over modified set in CleanupAbortsTaskRun
- [16173] [DocDB] Cluster creation is failing on Mac
- [16444] [DocDB] Ignore heartbeats from peers not in reported config
- [16457] [YSQL] Fix segmentation fault after rollback of subtransaction with deferred
- [16507] DST PITR + Packed - Fix sys catalog restoration logic
- [16637] [CDCSDK] Fix safe_time issues around large transactions
- [DB-5855] xCluster Configuration - Data Type Missing in the Type.Java List
- [DocDB] Fix deadlock with YqlPartitionsVTable
- [DocDB] fix leader ht lease exp under leader only mode
- fix Added missing name attribute for replication factor field
Known issues
N/A
v2.16.2.0 - March 7, 2023
Build: 2.16.2.0-b41
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.2.0-b41
New features
- [10595] [YSQL] Add progress reporting for create index commands
- [13123] [YSQL] Push down nextval() validation
- [13295] [YCQL] Disable PAGING & LIMIT for aggregate functions
- [15735] [DocDB] Add Raft Config info to consensus information in YB-Tserver UI
- [15842] [DocDB] Count time from transaction init for tracing thresholds
- [16047] [CDCSDK] Mark stream as active on ns with no table with PK
- [16135] [YCQL] Use Metadata Cache in IsYBTableAltered
Improvements
- [12631] [DocDB] [YSQL] Update PGTableDesc table cache when partition list version is outdated
- [14961] [14962] [15840] [YSQL] Further reduce first-query metadata RPCs
- [15761] [YSQL] Avoid caching responses for auth process
- [15807] [DocDB] Ensure IntraTxnWriteId is properly decoded even in weak lock intents
- [15952] [YSQL] Reduce verbosity of a PostgreSQL log line in read committed isolation level codepath
- [16034] [15933] [YSQL] Avoid picking hybrid timestamps in YSQL backends
- [16147] [CDCSDK] Checkpoint set to 0.0 from raft superblock in upgrade scenarios
- [16147] [CDCSDK] Correctly set cdc_sdk_min_checkpoint_op_id to -1.-1 in upgrade scenarios
Bug fixes
- [13379] [DocDB] Fix BlockBasedTable memtracker being unregistered in Tablet destructor
- [13891] [Backfill] Do not update index permissions when table is being deleted
- [14556] [DocDB] Prevent momentary data masking during IntentAwareIterator scans in index backfill
- [15286] [YSQL] Fix premature return in PG_TRY block in
relcache.c
- [15626] Move mac release builds to mac12 nodes
- [15649] fix auto re-running cmake
- [15820] [YSQL] fix ybgin index scan after DROP COLUMN
- [15849] [DocDB] Don't hold mutex when starting TransactionStatusResolver
- [15863] [Backfill] Fixed race in Tablet::FlushWriteIndexBatch
- [15874] [YCQL] Fix wrong metadata version with pagination on SELECT using Index
- [15881] [YSQL] unpushable SET clause expressions caused unnecessary index updates
- [15937] [DocDB] Don't initiate packing with tombstoned column
- [15969] [YSQL] Control inclusiveness info being sent over in QL_OP_BETWEEN with an AutoFlag
- [16020] [YSQL] Fix yb_get_range_split_clause primary key constraint wrong assumption
- [16048] [YSQL] Fix regression in performance of queries returning large columns
- [16082] [YSQL] ysql_dump cannot correctly dump primary key with INCLUDE clause for table schema
Known issues
N/A
v2.16.1.1 - February 13, 2023
Build: 2.16.1.1-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.1.1-b3
Bug fixes
- [16020] [YSQL] Fix
yb_get_range_split_clause
primary key constraint wrong assumption - [15969] [YSQL] Disable inclusiveness info being sent over in
QL_OP_BETWEEN
Known issues
N/A
v2.16.1.0 - February 2, 2023
Build: 2.16.1.0-b50
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.1.0-b50
New features
- [14939] [YSQL] Allow admin to limit the number of successive failed login attempts by a role
- [15368] [YCQL] Add mechanism to reset password as a non-authenticated user
Improvements
- [14886] [DocDB] Add compaction types to compaction task metrics
Bug fixes
- [14417] [DocDB] Tserver Registration hazard - UUID can be blank
- [14489] [DocDB] Fix term mismatch caused by stale consensus meta data passed to InitTabletPeer
- [14614] [YSQL] Cleanup after terminated connections
- [14789] [CDCSDK] Do not send checkpoint to tablet peers for tablets in uninitialized state
- [14913] [DocDB] Start hinted leader election only on running replicas
- [15016] [DocDB] YSQL select max() returns inconsistent result after tablet splitting
- [15051] [DocDB] Retain schema packing for non flushed entries
- [15051] [DocDB] Take intents into account for retaining schema packing
- [15051] [DocDB] Use schema version during apply intents
- [15087] [xCluster] Fix ranged keys + uneven tablet counts
- [15172] [YSQL] Move the ybRunContext to be a child of TopPortalContext
- [15230] [15386] [CDCSDK] setcheckpoint never fails with non-primary key table
- [15309] [CDCSDK] With larger transaction we miss before image.
- [15384] [CDCSDK] Ignore cases where safe_time not set in PopulateTabletCheckPointInfo
- [15418] [YSQL] Fix
rolprffailedloginattempts
counter behaviour - [15433] [CDCSDK] Only delete parent tablet after a successful GetChanges call on both children
- [15435] [YSQL] Exclude some auth methods from profile handling
- [15443] [DocDB] Fix setting cotable id for non primary ysql catalog tables
- [15516] [CDCSDK] Data loss with CDC snapshot plus streaming
- [15559] [CDCSDK] Prevent updating LastReplicationTime when reporting TabletSplit error
- [15562] [CDCSDK] In cases of not using the before image remove safe time after a successful snapshot
- [15698] [DocDB] Handle null placement info due to faulty restores
- [15705] [CDCSDK] Update CDCSDK checkpoint non-actionable replicated messages in WAL
- [15763] [DocDB] Fix reading packed row with column updated to NULL
Known issues
N/A
v2.16.0.1 - January 6, 2023
Build: 2.16.0.1-b7
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.0.1-b7
Bug fixes
- [14614] [YSQL] Clean up after terminated connections
Known issues
N/A
v2.16.0.0 - December 14, 2022
Build: 2.16.0.0-b90
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Downloads
Docker
docker pull yugabytedb/yugabyte:2.16.0.0-b90
New features
- [7614] [DocDB] Add an option to run a major compaction at a fixed interval
- [10935] [CDCSDK] Provide tablet split support to CDCSDK Service
- [12744] [CDCSDK] Composite type support
- [13970] [CDCSDK] Alter table support with CDCSDK
- [14069] [YSQL] Allow Batched Nested Loop joins for clauses that have expressions on outer variables
- [15215] [yugabyted] The yugabyted UI is now enabled by default
- [DB-2705] [YSQL] Introduce GFlag to control local file access
- [Metrics] Add a metric "ql_write_latency" to track write latency, similar to ql_read_latency
Improvements
- [12953] [YSQL] Populate query termination entry in pg_stat with OOM and seg fault errors
- [13211] [YSQL] Integrate READ COMMITTED isolation with wait queues
- [13371] [CDCSDK] CDCSDK metrics aggregation with stream level
- [13609] [YSQL] Adding Geo-distribution helper functions
- [13750] Add explicit GFlag macros for DEFINE_RUNTIME and DEFINE_NON_RUNTIME
- [13807] [xCluster] Add APIs for changing role
- [13815] [YSQL] Enhance passwordcheck with more checks
- [14106] [CDCSDK] Add Java level APIs to fetch tablets from the cdc_state table
- [14123] [DocDB] Propagate new AutoFlag configs to Tservers
- [14128] [DocDB] Track ql_read_latency for SQL too
- [14140] [YSQL] Import Make contrib modules' installation scripts more secure
- [14265] [DocDB] speedup split child tablet local bootstrap by copying in-memory retryable requests structure from parent tablet
- [14280] [DocDB] Avoid decoding doc hybrid time during compaction when possible
- [14352] [YSQL] Allow for yb_db_admin users to access all yb_terminated_queries
- [14378] [YSQL] Output current ysql_max_connections as a metric
- [14474] [YSQL] Deprioritize expression pushdown in single line updates
- [14498] [YSQL] Move recently added YB NodeTags to the end of the list
- [14532] [DocDB] Add tcmalloc malloc/free stack trace sampling
- [14574] [YSQL] Complete support for PARAM_EXEC pushdown
- [14823] [CDCSDK] Change log level of line which indicates fetching next block from WAL in cdcsdk_producer
- [14876] [CDCSDK] Change logging level for CDCSDK related client errors
- [15091] [DocDB] Automatic tablet splitting is disabled by default in 2.16
- [CDCSDK] Before image support for CDC with only record types Change and All
Bug fixes
- [10735] Fix TransactionLoader race on tablet bootstrap vs tablet delete
- [10821] [YSQL] Cache sys catalog read request on local TServer side
- [10921] [CDCSDK] Populate CDC stream cache with newly added table details
- [10921] [CDCSDK] Support for newly added table to active stream's namespace
- [11019] [yugabyted] Secure deployment of YugabyteDB cluster using yugabyted CLI (Phase 2). Added cert generation experience through yugabyted.
- [11645] [YSQL] Wait for pending Perform RPCs to complete before aborting YB DDL transaction
- [11849] [YSQL] Add distributed storage access statistics to EXPLAIN ANALYZE
- [12068] [14047] [xCluster] Fix shutdown path of CDCConsumer
- [12400] Obtain Tablet from TabletPeer as a shared_ptr to avoid incorrect memory access
- [12442] [YSQL] Add colocation_id to pg_dump for materialized views
- [13102] [DocDB] Fix deadlock in DoSplitTablet.
- [13168] [YSQL] TPCC tests with restore failing with "Query error: schema version mismatch for table"
- [13367] [YSQL] Avoid using plain text LDAP password via environment variable
- [13446] [DocDB] Combine AutomaticTabletSplittingMovesToNextPhase and AutomaticTabletSplittingMultiPhase.
- [13465] [YSQL] Batch upserts in CatalogManager::CopyPgsqlSysTables when creating namespace
- [13540] [DocDB] Move row lock from primitive key type to primitive value type
- [13575] [DocDB] Fixed negative metric value from thread_running category
- [13779] [DocDB] Fix master UI on non-leader nodes when HTTPS is enabled
- [13808] [DocDB] Backups fail when two same-name namespaces exist, one RUNNING and another DELETED
- [13961] [DocDB] Add a URL param to reset histograms
- [13988] [YSQL] Multibyte chars in pushdown expressions
- [14005] [DocDB] fix potential duplicate WRITE_OP due to split and RPC timeout interference
- [14056] [DocDB] Support xCluster + Packed columns when Producer/Consumer schema_versions don't match
- [14109] [DocDB] Fix wait for safe time timeout by cleanup aborts task
- [14112] [yugabyted] [QA] Hiding DB password from the logs
- [14136] [YSQL] Enable yb_db_admin to ALTER/DROP/CREATE triggers like a superuser
- [14153] [YCQL] Allow CQL calls to request tracing on a per-session/rpc basis
- [14159] [CDCSDK] Intents get GCed during universe upgrade
- [14163] [YQL] Improve logging in case of duplicate index error
- [14184] [YSQL] Fix the partial write issue of writev/pwritev by adding looping logic
- [14201] [YCQL] Fixing partition_hash() with multiple indexes
- [14202] [YSQL] Avoid RPC from YSQL to local tserver when switching sub-txns
- [14210] [DocDB] Add Guard Around Txn Coordinator Retry Logic for Failed Apply
- [14212] [YSQL] Optimize relation's rd_replidindex preloading
- [14225] [DocDB] disallow advance
max_safe_time_returned_with_lease_
before NoOp of current term is replicated - [14289] [DocDB] Include subtransaction_id in value of weak intents
- [14293] [CDCSDK] upgrading the universe from 2.15.3 to 2.15.4, causing intent GCed
- [14296] [DST] Packed + Backup/Restore - Merge schema packing history on restore
- [14298] [DST] [PITR] MetaCache flips replica state from failed to not failed for hidden tablets
- [14309] [YSQL] Store TServerSharedObject by value in PgApiImpl
- [14335] [YSQL] Release YbScanDesc on scan end
- [14349] [xCluster] Fix get_xcluster_estimated_data_loss
- [14365] [YSQL] Handle backups of range-partitioned indexes with null values in partition bounds
- [14377] [YSQL] Do not pushdown expressions with collation
- [14379] [DocDB] Fix Flags generated files for LTO builds
- [14394] [yugabyted] gen_certs.sh file not present in the release versions.
- [14407] [ysql] Fix missing NULL check for MyBEEntry in pgstat_report_query_termination()
- [14424] [YCQL] Persist where predicate in IndexInfo for PartialIndexes
- [14426] [yugabyted] [QA] Added validation for hostnames provided through CLI.
- [14446] [YSQL] Enable yb_db_admin to SELECT/INSERT/UPDATE/DELETE rows in tables like a superuser
- [14479] [CDCSDK] Add bool parameter to error out of UpdateCdcReplicatedIndex RPC fails on any TServer
- [14533] [DocDB] Colocated table creation optimization
- [14552] [DST] [PITR] Do not crash if table not found from colocated list
- [14554] [DocDB] Fixed RBS file downloader trace
- [14555] [xCluster] Use xCluster Role to determine when xCluster safe time is computed
- [14561] [DocDB] Consolidate the use of RegisterFlagValidator and DEFINE_validator
- [14582] [DocDB] Fix livelock issue in pessimistic locking
- [14595] [CDCSDK] tserver crash during snapshot mode
- [14596] [DocDB] JSON escape the GFlags in CallHome
- [14632] [DocDB] disallow packed row for colocated tables
- [14643] [DocDB] Fix strongly typed bool constants
- [14652] Fix xcluster_safe_time_service Init
- [14695] [YSQL] YBCRestartTransaction has no parameter
- [14713] [yugabyted] [QA] 'yugabyted status' command shows Stopped even when the node is destroyed.
- [14746] [CDCSDK] Fixing the erroneous behaviour of "cdcsdk_last_sent_physicaltime" metric
- [14788] [CDCSDK] Fixes DDL messages for colocated tables
- [14797] [DocDB] Prevent repeat resumption of waiting operation if first resumption was error
- [14825] [YSQL] Fix ysql_dump use-after-free in getYbSplitClause
- [14826] [DocDB] Rename enable_wait_queue_based_pessimistic_locking to enable_wait_queues
- [14846] [CDCSDK] Add support for tablet split for newly added tables
- [14855] [yugabyted] Java install check is no longer needed for yugabyted start command
- [14881] [CDCSDK] Fix issue where "cdcsdk_sent_lag_micros" metric shows sudden peaks.
- [14909] [CDCSDK] Fix issue where 'cdcsdk_change_event_count' metric is incremented even on empty batches
- [14931] [CDCSDK] YBClient unable to find a TabletClient for child tablets which are split further
- [14950] [CDCSDK] Add tablet_id param to GetTabletListToPollForCDC RPC
- [15004] [CDCSDK] Data loss when streaming transaction intents for large tables
- [15006] [DocDB] set same error to operations with same request id when retrying a batcher
- [15025] [YCQL] Fixing Index updating by DELETE for a deleted row
- [15031] [CDCSDK] Restrict compaction during the CDC snapshot
- [15047] [CDCSDK] Stop hiding tablets when table deleted
- [15051] [DocDB] Log schema packing versions
- [15062] [CDCSDK] Differentiate between Update and Insert records in case of packed row
- [15064] [15033] [CDCSDK] Restrict compaction only for CDC snapshot mode and for before image type
- [15067] [CDCSDK] Java level changes in the API to create CDC stream for before image
- [15100] [CDCSDK] Populate the old/new tuples correctly in the context of single shard update
- [15124] [CDCSDK] Create rows for child tablets for all tablets of stream
- [15124] [CDCSDK] Fix bug in GetTabletListToPollForCDC
- [15136] [CDCSDK] Fix for crash when running CDCSDK with before image
- [15154] [CDCSDK] Before image failure with packed row
- [15157] [CDCSDK] Ignore intents with kRowLock in GetIntentsBatch
Known issues
N/A