github yugabyte/yugabyte-db v2.1.8.1
v2.1.8.1 (June 16, 2020)

latest releases:,, 2024.1.1.0-b88...
pre-release4 years ago


  • Add support for SPLIT INTO clause for CREATE INDEX statement. #3047
  • Fix aggregate functions pushdown for columns with default values added after table creation. #4376
  • Resolve timeout frequently encountered whe batch-loading data in YSQL by using client-specified timeouts for RPC requests instead of hardcoded values. #4045
  • Fix incorrect cross-component dependency in DocDB found in builds using ninja. #4474
  • Fix operation buffering in stored procedures to handle transactions correctly. #4268
  • [DocDB] Ensure that fast path (pushed down) single row writes honor higher priority transactions and get aborted or retired instead. #4316
  • [DocDB] Split copy table operations into smaller chunks (using byte size instead of count) for CREATE DATABASE statement. #3743
  • Correctly push down IS NULL condition to DocDB. #4499
  • Avoid ASAN failures after a large data set is uploaded by rearranging files and test functionalities. #4488
  • Fix memory leaks by using memory context to manage object alloc and free. #4490
  • Fix multi-touch cache and improve caching logic for read and write operations. #4379
  • Improve index cost estimates by considering index uniqueness, included columns (index scan vs. index only scan), scan direction, and partial indexes. Also, disable merge joins for unsupported cases. #4494 and #4496
  • Add support for deferrable foreign key constraints. #3995
  • Prevent dropping primary key constraint. #3163
  • Push down SELECT (), for example, SELECT COUNT(1) , to DocDB. #4276
  • Fix rare core dumps due to concurrency issues in metrics webserver during shutdown. #4092


  • Rename cqlsh to ycqlsh. #3935
  • Update Cassandra Java driver version to 3.8.0-yb-4 and adds support for guava 26 or later. The latest release of the driver is available in the Yugabyte cassandra-java-driver repository. #3897
  • YB-TServers should not crash when attempting to log in using YCQL authentication without a password. #4459
  • Performance degradation in CassandraSecondaryIndex workload resolved. #4401
  • Add yb-admin import_snapshot support for renaming a few tables (not all), but the specified name is equal to the old table name: yb-admin import_snapshot <meta-file> ks old_table_name. #4280
  • For DDL creation with Spring Data Cassandra, change the Enum value from JSON to JSONB to allow schema creation to succeed programmatically involving JSON column types and update the cassandra-java-driver to 3.8.0-yb-5. #4481
  • Use the same timestamp for current time to compute multiple runtimes in output of <tserver-ip>:13000/rpcz. #4418
  • Correctly push down = NULL condition to DocDB. #4499
  • Reduce YCQL unprepared statement execution time by up to 98% (example: reduced time to insert a 5 MB string from 18 seconds to 0.25 seconds). #4397 and #3586
    • Special thanks to @ouvai59 for your contribution!


  • For yugabyted, do not start redis server by default. Resolves port conflict during startup. #4057

System improvements

  • New yb-admin command get_load_balancer_state to get the cluster load balancer state. #4509
  • Avoid creating intent iterator when no transactions are running. #4500
  • Increase default memory limit for yb-master for running in low-memory setups (<=4 GB). #3742
  • Improve RocksDB checkpoint directory cleanup if a tserver crashes or is restarted while performing a snapshot operation. #4352
  • [DocDB] Use bloom filters for range-partitioned tables. The first primary key column is added to the bloom filter. #4437
  • [DocDB] Fix snapshots bootstrap order bu altering the load for transaction-aware snapshots. #4470
  • [DocDB] Add yb-admin master_leader_stepdown command. #4135
  • [DocDB] Reduce impact on CPU and throughput during node failures. #4042
  • [DocDB] Add yb-ts-cli commands, flush_all_tablets and flush_tablet <tablet_id>, to flush tablets. When used with rolling restarts, less time is spent applying WAL records to rocksdb. #2785
    • Special thanks to mirageyjd for your contribution.
  • [DocDB] Fix deadlock during tablet splitting. #4312
  • Introduced load balancing throttle on the total number of tablets being remote bootstrapped, across the cluster. #4053 and #4436
  • [DocDB] Remove applied intent doc hybrid time during compaction. #4535
  • [DocDB] Fixed BoundedRocksDbIterator::SeekToLast works incorrectly for 2nd post-split tablet. #4542
  • [DocDB] Abort snapshot if table was deleted. #4610
  • [DocDB] Backfill index without waiting indefinitely for pending transactions. #3471
  • [Colocation] During load balancing operations, load balance each colocated tablet once. This fix removes unnecessary load balancing for every user table sharing that table and the parent table.
  • Fix YB-Master hangs due to transaction status resolution. #4410
  • Redirect the master UI to the master leader UI without failing when one master is down. #4442 and #3869
  • Avoid race in change_metadata_operation. Use atomic<P*> to avoid race between
    Finish() and ToString from updating or accessing request. #3912
  • Refactor RaftGroupMetadata to avoid keeping unnecessary TableInfo objects in memory. #4354
  • Fix missing rows in unidirectional replication and fix race conditions with CDC and TransactionManager. #4257
  • Change intent iterator creation logic. #4543
  • Upgrade all Python scripts used to build and package the code to Python 3. #1442

Yugabyte Platform

  • Fix failure when adding a node on a TLS-enabled universe. #4482
  • Improve latency tracking by splitting overall operation metrics into individual rows for each API. #3825
    • YCQL and YEDIS metrics include ops, avg latency, and P99 latency.
    • YSQL metrics include only ops and avg latency.
  • Add metrics for RPC queue sizes of services, including YB-Master, YB-TServer, YCQL, and YEDIS. #4294
  • Add option to edit configuration flags without requiring server restart. #4433
  • When configuration flags are deleted in the YugabyteDB Admin Console, remove the flags from server.conf file. #4341
  • When creating GCP instances, only use host project when specifying network.
  • When creating a cloud provider configuration, display provider-level (non-k8s) settings for SSH ports and enabling airgapped installations. #3615, #4243, and #4240.
  • After removing a node and then adding a node, check for certificate and key files and create the files if needed. #4551
  • Update to support Helm 3 deployments. Note: Helm 2 is no longer supported. For migrating existing Helm 2 universes to Helm 3, see Migrate from Helm 2 to Helm 3. #4416
  • Change QLTableRow representation. #4427
  • Fix CDC-related race conditions using CDCServiceTxnTest.TestGetChangesForPendingTransaction. #4544
  • Revert validation on alerting email field to allow comma-separated emails in the form. #4639
  • Add Custom SMTP Configuration section to Health & Alerting tab on customer profile page. #4443
  • Fix Kubernetes pod container metrics not displaying in Metrics panel. #4652
  • Fix Backups tab not rendering when there are no backups. #4661


Prior to version 2.0, YSQL was still in beta. As a result, the 2.0 release included a backward-incompatible file format change for YSQL. If you have an existing cluster running releases earlier than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from your existing cluster and then import into a new cluster (v2.0 or later) to use existing data.

Don't miss a new yugabyte-db release

NewReleases is sending notifications on new releases.