v2.7.2.0 - July 29, 2021
Build: 2.7.2.0-b216
Downloads
macOS LinuxDocker
docker pull yugabytedb/yugabyte:2.7.2.0-b216
New Features
Yugabyte Platform
- [7349] [Platform] Support for multiple backup configs. (#7668)
- [8767] [Platform] RedHat OpenShift provider is no longer beta.
- [8775] [Platform] [UI] Platform high availability is no longer beta.
Core Database
- [1127] [YSQL] Collation Support (part 1)
- [3785] [DocDB] Add support for LZ4 compression
- [7509] [YCQL] Support partial indexes
- [7719] [DocDB] Introduce Aggregation Function for Metrics
- [8323] [YSQL] Add support for USING INDEX TABLESPACE
Improvements
Yugabyte Platform
- [3452] [Platform] Allow TLS Encryption to be enabled on existing universes
- [6857] [Platform] Preflight checks for encryption-at-rest keys (#8737)
- [7509] [YCQL] Allow both = and != operator in partial indexes.
- [8141] [Platform] Disable backup button is moved to the universe action list. (#8788)
- [8144] [Platform] Validate custom certs on the node
- [8313] [Platform] Don't download all node logs at once
- [8324] [Platform] Disabled the query monitoring under Queries tab. (#8576)
- [8406] [Platform] Add deviceInfo validation on universe/read replica cluster create operations
- [8487] [Platform] Add indices on customer_task and task_info to improve Tasks page performance
- [8631] [Platform] Add ability to use different certificates for node to node and client to node connections.
- [8632] [Platform] Add ability to take custom certificates in platform for client to server connections.
- [8662] [Platform] Release pause universe and multiple provider feature
- [8789] Add support for certificate chaining in platform/yb-client.
- [8813] [Platform] requesting Email alerts uptime in days, hours, minutes, seconds.
- [8824] [Platform] S3 backup preflight check while updating the backups. (#8926)
- [8883] [Platform] Support smart instance type upgrade for AWS
- [8917] [Platform] Add task to sync platform with cluster state
- [8921] [Platform] ReadOnly and BackupAdmin roles to change their password
- [9054] [Platform] To implement AlertReceivers group entity
- [9056] [Platform] Alert definition groups implementation + APIs for groups and templates
- [9120] [Platform] Default alert route functionality
- [9197] [platform] Adding SSL mode to YSQL client
- [9331] [Platform] Allow editing "Configuration Name" for backup storage provider without security credentials
- [Platform] Remove commons-collections4 and use guava instead (#8856)
Core Database
- [2272] [YSQL] Creating system and shared system catalog tables
- [3375] [DocDB] Add multi drives and env to TS servers for MiniCluster
- [4014] [YSQL] Indexes on Enum based columns
- [4437] [DocDB] disabled bloom filters for master tablet and fixed DocDBAwareV2FilterPolicy compatibility for range-partitioned co-located tables
- [4519] [YSQL] Re-enable merge join
- [5026] [9001] [YCQL] Run operations within a transaction block in serial
- [7110] [DocDB] Add Clang thread safety annotations to YQLPartitionsVTable (#8364)
- [7349]Change ToString to TextVlue for json node (#8792)
- [7530] YB-Master HTML page should show the tablespace and tablespace replication info for a table
- [7535] [YSQL] Use geo-location (tablespace) to cost index scans
- [7794] [YSQL] Add option to forward pggate RPCs to local tserver
- [7835] [YCQL] Prohibit NULL value in the collections.
- [7877] Some raw json cleanup across the board
- [8010] Handle creation of tables in a tablespace with invalid placement policy gracefully
- [8039] [DocDB] Rename flag controlling forced tablet split threshold for very large tablets
- [8039] Implement phased ramp-up of tablet splitting rate
- [8084] Remove dependence of client to server TLS on node to node TLS.
- [8225] Disable automatic tablet splitting for YEDIS tables
- [8234] [DocDB] Remove tablet_split_heartbeat_data_provider and delegate all split decisions to yb-master
- [8249] [YSQL] Allow any hash column in index to be an expression based column
- [8254] No leader lease needed for BackfillIndex
- [8257] [YBase] Disable tablet splitting for PITR tracked tables
- [8295] [DocDB] Improved tablet RocksDBs shutdown process
- [8330] [YCQL] Provide capability to skip writing null jsonb attribute in UPDATE stmt
- [8347] Wait until executor finish executing async calls on shutdown
- [8382] [YSQL] Import Fix mishandling of resjunk columns in ON CONFLICT ... UPDATE tlists.
- [8392] [YSQL] Use negative cache elements to avoid read catalog entries from master
- [8473] [YBase] Log the requested memory size in the assertion for allocation failure
- [8485] Convert OperationCompletionCallback into std::function
- [8485] Simplify MVCCManager to allow aborting only last operation
- [8485] Unify ConsensusRound callbacks
- [8512] [YCQL] Added CQL metric for USE statement and tests for Prepared INSERT.
- [8519] [YSQL] Optimize FK check
- [8575] [YSQL] Optimize row locking in case of using IN operator for single range key column
- [8591] [DocDB] Add protection against missing UserFrontiers in older SST files during intents cleanup
- [8619] Log index table name instead of index id (#8693)
- [8672] [YSQL] Check status of YBCPgResetOperationsBuffering function
- [8691] Remove dump-statistics related code from db_impl.cc;
- [8712] Reduce space consumed by HdrHistogram metrics for per-table metrics
- [8723] Simplify RemoteMethodsCache code
- [8749] [YSQL] Import Don't leak rd_statlist when a relcache entry is dropped.
- [8757] xCluster Replication: Make setting up replication synchronous
- [8783] [YSQL] Import Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions.
- [8784] Set session timeout in PgTxnManager
- [8805] [YSQL] Import Fix incautious handling of possibly-miscoded strings in client code.
- [8806] [YBase] Add global client gflag to specify number of tablets for a table
- [8817] Add mechanism to report number of rows backfilled to master
- [8855] Logging improvements for backup restore issue.
- [8867] [YBase] Add endpoint for LB pretty display
- [8871] [YBase] Pass timeout to the Session object in FlushIndexBatchIfRequired()
- [8872] Merge Operation and OperationState
- [8873] [YSQL] Import Work around portability issue with newer versions of mktime().
- [8878] [YBase] Reduce scope of lock in CatalogManager::DumpState()
- [8892] backups: Add timing summary to end of yb_backup
- [8894] backups: Allow disabling of checksums in yb_backup
- [8905] Replace gscoped_ptr with std::unique_ptr
- [8962] [YSQL] Import Fix plancache refcount leak after error in ExecuteQuery.
- [8986] [YSQL] Import Fix misbehavior of DROP OWNED BY with duplicate polroles entries.
- [9007] [5380] Allow using clangd-indexer to fully index C/C++ code
- [9041] [YSQL] Import Fix minor violations of FunctionCallInvoke usage protocol.
- [9056] Remove extension operations from migration code.
- [9063] Support metrics filtering for /prometheus-metrics endpoint
- [9101] [YSQL] Import backpatch "jit: Add support for LLVM 12."
- [9109] Deduplicate hostnames in PickResolvedAddress
- [9128] [DocDB] Converted MetaCache::DoLookupAllTablets excessive INFO logs to VLOGs
- [9146] [YSQL] add "/HASH" to "ASC/DESC" errmsg
- [9154] [2519] [1973] Initial changes for supporting the aarch64 architecture
- [9185] Use atomic write for created table and its tablets
- [9208] [YSQL] Change function call information to be fixed length
- [9265] [YBase] Return error if tablet is not removed by RemoveRunningTablet
- [adhoc] [DocDB] Remove unused argument from Tablet::NewRowIterator
- [backup] Added a check for 'num_tablets' in CatalogManager::ImportSnapshot.
- [DocDB] Add Clang thread safety annotations to catalog_entity_info (#8186)
- [SMARTDRIVER] [YSQL] Function to fetch database servers #7879
- [YBase] Use SharedLock in GetNumRelevantReplicas
- [YSQL] Import Fix incorrect return value in pg_size_pretty(bigint)
- [YSQL] Import Reduce the cost of planning deeply-nested views.
- [YSQL] Import Relax transactional restrictions on ALTER TYPE ... ADD VALUE (redux).
- [YSQL] improve ALTER TABLE [NOT] OF errmsg
- [YSQL] improve ALTER TABLE [RE]SET errmsg
Point-in-time recovery
- [8417] PITR: Implement delete_snapshot_schedule
- [8418] Add filter to list_snapshot_schedules
- [8419] Consistent restore failover
- [8419] Consistent restore for non transactional writes
- [8419] Consistent restore for transactional writes
- [8543] PITR: Add test for need to increase table version on restore
- [8773] PITR: Add DDL log
- [9046] PITR: Fix crash when using multiple masters
- [9157] [DocDB] PITR: Fix operations filters data race
- [9171] PITR: Fix restoring snapshot to time before history cutoff
Bug fixes
Yugabyte Platform
- [6645] [Platform] AZ rendering issue when API throws bad request in case of same instance type. (#8367)
- [7594] [Platform] Assign universe UUID instead of backup UUID to target UUID while creating delete backup task. (#8529)
- [7859] Fix '< 1 min' uptime shown intermittently
- [8029] [Platform] Fix slow queries failing to fetch on client-to-node TLS encrypted universes
- [8322] [Platform] No HA config exists is now logged as INFO
- [8345] [Platform] Remove hard coded cert filepath
- [8399] [Platform] Fix read replica cluster addition failure
- [8400] [Platform] when universe is in pending state (inprogress) upgrade on the card should also be disabled
- [8426] [Platform] Alert spam for message "Clock Skew Alert Resolved"
- [8460] [Platform] Add proxy request timeout
- [8461] [Platform] Added fix for redirecting user to intended url. (#8520)
- [8462] [Platform] Added preflight check to check if there is adequate disk space before installation
- [8481] [Platform] Added check to disable backups if it is in progress. (#8482)
- [8487] [Platform] Update index sql version number to prevent conflicts
- [8503] [Platform] Fix Add instance modal form to allow for adding instances in isolated region case.
- [8525] [Platform] Audit migration failed on AWS portal
- [8539] [Platform] [UI] remove toast about auth token expiration
- [8541] [Platform] Returns bad request as a response when trying to create a provider with an existing name
- [8697] [Platform] Fix client certs not being included when adding custom CA cert.
- [8739] [Platform] Cleanup raw Json from CloudProviderController
- [8739] Cleanup CloudProviderController and Skip JsonBackrefs
- [8795] [Platform] Retain placeholder text while editing the CA certificate fields. (#9051)
- [8814] [Platform] Email alerts incorrectly label Nodes as Clusters.
- [8830] [Platform] Get rid of raw json in AlertReceiver
- [8836] [Platform] [UI] Do not reverse the logs
- [8841] [Platform] Fetch KMS configs when user has enabled encryption at rest
- [8855] [Platform] Restore backup - Selected S3 Default but BackupParams point to NFS
- [8858] [Platform] fix playbook for python 3.7 + multiline config value
- [8875] [Platform] On failure task runner updates task_info.details.errorString
- [8958] [Platform] Fix incorrect sample app command.
- [9080] [Platform] Fix certificate value being used for client to server conns
- [9113] [9114] [Platform] Populate the task id field in the backup table
- [9198] [Platform] Alerts: Repeat notifications after previous failures + code cleanup
- [9209] [Platform] Fix downloadNodeLogs and add Unit tests for universe
- [9209] [Platform] Use current http execution context to do work so that we can use response object.
- [9263] [Platform] Node status shows as Unreachable, after restarting a node process
- [9292] [Platform] Fix preflight check for backup configurations
- [9334] [Platform] Fix provider creation in yugabundle by using correct version of python
- [Platform] [UI] Fixed connect button for K8s-based universes. (#8404)
Core database
- [2318] [2DC] yb-admin should prevent setup_universe_replication from self-referencing.
- [7213] [DocDB] Potential deadlock in yb::client::YBTable::MaybeRefreshPartitions
- [7863] [YSQL] Single row optimization for Updates is not being used for partitioned tables even when only one partition is being updated.
- [8011] [YBase] Don't abort replica assignment for other tables if one table has an invalid placement
- [8076] [YBase] Master skips deleting tablet data on restarted tservers
- [8170] Correct fix for removing tablet in ProcessTabletAssignment
- [8204] [YBase] GetLoadMoveCompletionPercent returns an incorrect 100% if tservers haven't
- [8271] YB-Master should not periodically read the pg_class table if there are no tablespaces.
- [8282] Fix commons-lang deps.
- [8294] Fix missing conflict when creating row using multiple inserts
- [8390] Fix NPE Handling for indexed_table_id
- [8584] [DocDB] fixed RocksDB manual compaction abort on shutdown
- [8666] [DocDB] Fix tserver response to SplitTablet RPC in case tablet is not in ready state
- [8696] Fix potential deadlock in WaitLoaded and WaitAllLoaded
- [8709] fix yb-ctl start_node to wait for tserver startup instead… (#8711)
- [8719] [8594] [DocDB] Don't send TabletPathInfo for non data ready tablets
- [8721] [YSQL] Skip iteration of bucket when YugaByte is enabled
- [8722] [YSQL] Remove autogenerated files as a part of orafce source tree
- [8726] Fix yb-admin change_config REMOVE_SERVER on stepdown
- [8748] Every executable should link tcmalloc directly
- [8766] [DocDB] recreate table with the same name could cause insert to fail
- [8774] [8780] Fix DeleteTable interaction with backfill
- [8799] [DocDB] Fix core dump when applying split operation for subtablet with existing tablet-meta directory
- [8827] [DocDB] Remove deadlock from SetIsBackfiling/IsBackfilling
- [8835] [YSQL] Disallow PRIMARY KEY on expression
- [8861] [DocDB] Do not remove flush tasks on shutdown if disable_flush_on_shutdown is not set
- [8891] [DocDB] Do not remote bootstrap newly split tablets to raft peers who have accepted split op in parent tablet
- [8915] YSQL Fix initdb in ASAN
- [8919] [DocDB] Fixed DBImpl::BackgroundFlush
- [8987] [DocDB] fixed YQLPartitionsVTable::RetrieveData TSAN issue