yugabyte-db

YugabyteDB - the cloud native distributed SQL database for mission-critical applications.

OTHER License

Stars
8.6K

Bot releases are visible (Hide)

yugabyte-db - v2.2.0.0 (Released July 15, 2020)

Published by stevebang over 4 years ago

YSQL

Transactional distributed backups

YugabyteDB now supports distributed backup and restore of YSQL databases, including backup of all tables in a database. #1139 and #3849

Online index backfills

  • YugabyteDB can now build indexes on non-empty tables while online, without failing other concurrent writes. When you add a new index to a table that is already populated with data, you can now use the YSQL CREATE INDEX statement to enable building these indexes in an online manner, without requiring downtime. For details on how the online backfill of indexes works, see the Online Index Backfill design document.
  • Backfilling an index while online is disable by default. To enable online index backfilling, set the yb-tserver --ysql_disable_index_backfill flag to false when starting YB-TServers. For details on how this works, see Online Index Backfill.

Colocated tables

Database-level colocation for YSQL, which started as a beta feature in the 2.1 release, is now generally available in the 2.2 release. Traditional RDBMS modeling of parent-child relationships as foreign key constraints can lead to high-latency JOIN queries in a geo-distributed SQL database. This is because the tablets (or shards) containing the child rows might be hosted in nodes, availability zones, and regions different from the tablets containing the parent rows. By using colocated tables, you can let a single tablet be shared across all tables. Colocation can also be at the overall database level, where all tables of a single database are located in the same tablet and managed by the same Raft group. Note that tables that you do not want to reside in the overall database’s tablet because of the expectation of large data volume can override the feature at table creation time and hence get independent tablets for themselves.

What happens when the “colocation” tablet containing all the tables of a database becomes too large and starts impacting performance? Check out automatic tablet splitting [BETA].

Deferred constraints on foreign keys

Foreign keys in YSQL now support the DEFERRABLE INITIALLY IMMEDIATE and DEFERRABLE INITIALLY DEFERRED clauses. Work on deferring additional constraints, including those for primary keys, is in progress.

Application developers often declare constraints that their data must obey, leaving it to relational databases to enforce the rules. The end result is simpler application logic, lower error probability, and higher developer productivity. Automatic constraint enforcement is a powerful feature that should be leveraged whenever possible. There are times, however, when you need to temporarily defer enforcement. An example is during the data load of a relational schema where there are cyclic foreign key dependencies. Data migration tools usually defer the enforcement of foreign key dependencies to the end of a transaction by which data for all foreign keys would ideally be present. This should also allow YSQL to power Django apps.

yugabyted for single-node clusters

The yugabyted server is now out of beta for single-node deployments. New users can start using YugabyteDB without needing to understand the underlying architectures acts as a parent server, reducing the need to understand data management by YB-TServers and metadata management by YB-Masters.

See it in action by following the updated Quick start. For details, see yugabyted in the Reference section.

Automatic tablet splitting [BETA]

TPC-C benchmarking

New results are now available for benchmarking the performance of the YSQL API using the TPC-C suite. For the new TPC-C results and details on performing your own benchmark tests to evaluate YugabyteDB, see TPC-C.

Other notable changes

  • Support pre-splitting using CREATE INDEX...SPLIT INTO for range-partitioned table indexes. For details, see Pre-splitting #4235
  • Fix crash for nested SELECT statements that involve null pushdown on system tables. #4685
  • Fix wrong sorting order in pre-split tables. #4651
  • To help track down unoptimized (or "slow") queries, use the new yb-tserver --ysql_log_min_duration_statement. #4817
  • Enhance the yb-admin list_tables command with optional flags for listing tables with database type (include_db_type), table ID (include_table_id), and table type (include_table_type). This command replaces the deprecated yb-admin list_tables_with_db_types command. #4546
  • Add support for ALTER TABLE on colocated tables. #4293
  • Improve logic for index delete permissions. #4980
  • Add fast path option for index backfill when certain statements can create indexes without the unnecessary overhead from online schema migration (for example, CREATE TABLE with unique column constraint). Skip index backfill for unsupported statements, including DROP INDEX, CREATE UNIQUE INDEX ON, and index create in postgres nested DDL. [#4918]
  • Suppress incomplete startup packet messages in YSQL logs. #4813
  • Improve YSQL create namespace failure handling. #3979
  • Add error messages to table schema version mismatch errors so they are more understandable. [#4810]
  • Increase the default DDL operations timeout to 120 seconds to allow for multi-region deployments, where a CREATE DATABASE statement can take longer than one minute. #4762

YCQL

Transactional distributed backups

YugabyteDB supports distributed backup and restore of YCQL databases and tables. #1139 and #3849

Online index backfills

  • YugabyteDB can now build indexes on non-empty tables while online, without failing other concurrent writes. When you add a new index to a table that is already populated with data, you can now use the YCQL CREATE INDEX statement to enable building these indexes in an online manner, without requiring downtime. For details on how the online backfill of indexes works, see the Online Index Backfill design document.
  • In YCQL, backfilling an index while online is enabled by default. To disable, set the yb-tserver --ycql_disable_index_backfill flag to false when starting YB-TServers. Note: Do not use this flag in a production cluster yet. For details on how online index backfill works, see Online Index Backfill #2301 and #4708

Online schema changes for YCQL [BETA]

Most applications have a need to frequently evolve the database schema, while simultaneously ensuring zero downtime during those schema change operations. Therefore, there is a need for schema migrations (which involve DDL operations) to be safely run in a concurrent and online manner alongside foreground client operations. In case of a failure, the schema change should be rolled back and not leave the database in a partially modified state. With the 2.2 release, not only the overall DocDB framework for supporting such schema changes in an online and safe manner has been introduced but also this feature is now available in beta in the context of YCQL using the ALTER TABLE statement.

Automatic tablet splitting [BETA]

Other notable changes

  • Throttle YCQL calls when soft memory limit is reached. Two new flags, throttle_cql_calls_on_soft_memory_limit and throttle_cql_calls_policy can be used to control it. #4973
  • Implements a password cache to allow connections to be created more quickly from recently used accounts. Helps reduce high CPU usage when using YCQL authorization. #4596
  • Fix "column doesn't exist" error when an index is created on a column which is a prefix of another column. #4881
  • Fix crashes when using ORDER BY for non-existent column with an index scan. #4908

System improvements

  • Add HTTP endpoints for determining master leadership and returning information on masters. #2606
    • <web>/api/v1/masters: Returns all master statuses.
    • <web>/api/v1/is-leader: Returns 200 OK response status code when the master is a leader and 503 Service Unavailable when the master is not a leader.
  • Add HTTP endpoint /api/v1/cluster-config for YB-Master to return the current cluster configuration in JSON format. #4748
  • Output of yb-admin get_universe_config command is now in JSON format for easier parsing. [#4589](#1462
  • Add yugabyted destroy command. [#3872](#3849
  • Change logic used to determine if the load balancer is idle. #4707
  • Default to IPv4 addresses for DNS resolution and local addresses. #4851
  • Add a Grafana dashboard for YugabyteDB. #4725
  • [CDC] Check for table properties equivalence when comparing schemas in 2DC setups and ignore properties that don't need to be the same. #4233
  • [DocDB] Allow multiple indexes to backfill or delete simultaneously. #2784
  • [DocDB] Transition to new leader gracefully during a leader stepdown. When a leader stepdown happens with no new leader candidate specified in the stepdown request, the peer simply steps down leaving the group with no leader until regular heartbeat timeouts are triggered. This change makes it so that the leader attempts to transition to the most up-to-date peer, if possible. #4298
  • Update yb-admin list_snapshots command to use not_show_restored option to exclude fully RESTORED entries. #4351
  • [DocDB] Clean up leftover snapshot files from failed snapshots that resulted in remote bootstrap getting stuck in a failure loop. #4745
  • [DocDB] Clean up metadata in memory after deleting snapshots. #4887
  • [DocDB] Fix snapshots getting stuck in retry loop with deleted table. #4610 and #4302
  • [DocDB] When using yb-admin master_leader_stepdown, specifying a new leader is now optional. #4722
  • [DocDB] Add breakdown of disk space on YB-TServer dashboard. #4767
  • [DocDB] Suppress yb-admin from logging harmless "Failed to schedule invoking callback on response" warning. #4131
  • [DocDB] Allow specifying IPv6 addresses in bind addresses. #3644
  • [DocDB] Fix TS Heartbeater can get stuck if master network connectivity breaks. #4838
  • [DocDB] Improve protection against hitting hard memory limit when follower tablet peers are lagging behind leaders on a node. (for example, node downtime because of yb-tserver restart). #2563
  • yugabyted --bind_ip flag renamed to --listen. #4960
  • Fix malformed URL for ycql rpcz when clicking YCQL Live Ops link in the YB-TServer utilities page. #4886
  • Fix export name for YCQL metrics. #4955
  • Fix YB-Master UI to show the correct number of tablets for colocated tables. #4699

Yugabyte Platform

  • Add option to back up and restore YSQL databases and universe-level transactional backups. #3849
  • On the Universes page, the Replication tab displays by default and adds default state when the replication lag metric query returns no data.
  • Add Replication tab to Universe overview tab list if enabled and query for replication lag metrics. [#]
  • Add replication lag metrics async_replication_sent_lag_micros (last applied time on producer - last polled for record) and async_replication_committed_lag_micros (last applied time on producer - last applied time on consumer) for 2DC replication and export to Prometheus. #2154
  • Retrieve IAM Instance Profile Credentials for backups. This retrieves the AccessKeyId and SecretAccessKey and set these in the configuration so that data nodes inherit the required IAM permissions to access S3. #3451 and #4900
  • Add the option to create a backup of multiple YCQL transactional tables. #4540
  • Add support for c5d instance types. #4914
  • Add support for installing epel-release in Amazon Linux. #4561
  • Fixed requested TLS client certificate generated with expired date and ysqlsh fails to connect. #4732
  • Fixed universe fails to create if a user-supplied certificate is selected. #4733
  • Implement OAuth2/SSO authentication for Yugabyte Platform sign-in. #4633 and #4420
  • Add backup and restore options for YSQL tables and universe-level transactional backups. #3849
  • Retrieve IAM Instance Profile Credentials for backups. This retrieves the AccessKeyId and SecretAccessKey and set these in the configuration so that data nodes inherit the required IAM permissions to access S3. #4900
  • In the Health and Alerting tab of the Admin Console, the Username and Password fields in Custom SMTP Configuration are now optional. #4952
  • Fix password reset in customer profile page. #4666 and #3909
  • Fix Backups page not loading when there is a pending task. #4754
  • Change UI text displaying "GFlag" to "Flag" in the Admin Console. #4659

Note:

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 it into a new cluster (v2.0 or later) to use existing data.

yugabyte-db - v2.1.8.2 (Released June 19, 2020)

Published by stevebang over 4 years ago

YSQL

  • 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 <aggregate>(<const>), for example, SELECT COUNT(1), to DocDB. #4276
  • Fix rare core dumps due to concurrency issues in metrics webserver during shutdown. #4092

YCQL

  • 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!

YEDIS

  • 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 the default memory limit for yb-master for running in low-memory setups (<=4 GB). #3742
  • Improve RocksDB checkpoint directory cleanup if a yb-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
  • [DocDB] Fix yb-master rerunning snapshot operations after upgrade. #4816
  • [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 the option to edit configuration flags without requiring a 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 air-gapped 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 the 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

Note:
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 it into a new cluster (v2.0 or later) to use existing data.

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

Published by stevebang over 4 years ago

YSQL

  • 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

YCQL

  • 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!

YEDIS

  • 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

Note:

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.

yugabyte-db - v2.1.6 (May 8, 2020)

Published by stevebang over 4 years ago

YSQL

  • Wait for tserver to finish creating the transaction table during the initial cluster startup (when the transaction table is first created) before before issuing requests that require it to exist. This was more likely an issue for CI/CD, where requests can be issued immediately. Most users would not encounter this issue. #4056
  • Avoid redundant read for non-unique index inserts. For non-unique indexes, the primary key of the main table is implicitly added to the DocDB key, guaranteeing uniqueness of the full DocDB key (indexed columns plus encoded base table primary key). This fix executes such inserts as upserts and avoid the read and uniqueness check. #4363
  • Enhance automatic query read restart to avoid recreating portal. Instead of recreating a portal, reset an existing one to the state which allows it to be re-executed. Eliminate memory overhead for storing potential big bind variable values (for example, long strings). #4254
  • For CREATE DATABASE statements, improves fault tolerance by making CREATE API requests asynchronously and adds a state machine on namespaces to be the authority for processing these modifications. #3097
  • Display current query runtime (process_running_for_ms), in milliseconds (ms), on <tserver_ip>:13000/rpcz endpoint. #4382

YCQL

  • Allow system.peers_v2 table to be readable for cassandra-driver-core:3.8.0-yb-2-RC1 so that expected errors are returned to the driver. #4309

System improvements

  • [DocDB] Improve fault tolerance by enabling exponential backoff mechanics for the leader attempting to catch up the follower. If this causes any issues, you set the --enable_consensus_exponential_backoff flag (enabled by default) to false. #4042
  • [DocDB] Improve row scanning by using SeekForward for intents. In testing, performance of SELECT COUNT(*) has improved by 66%. #4277
  • [DocDB] Add asynchronous transaction status resolution to conflict detection. #4058

Yugabyte Platform

  • When performing a full move or add node on a universe that has a yb-master, the server.conf file is now being updated with the new master_addresses. #4242
  • In the Backups tab, individual YSQL tables can no longer be selected. Previously, attempting to back up a YSQL table would create a failed task. #3848
  • In the Metrics view, transactions have been added to the YSQL and YCQL operations charts. #3827
  • Create Read Replica and Edit Read Replica pages are no longer in beta. #4313
  • In the Certificates page, you can now download certificates. #3985
  • In the Universes overview page, add a button to toggle on metrics graph widgets to auto-refresh or to set refresh interval. #2296

Note: Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward-incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data.

yugabyte-db - v2.1.5 (April 27, 2020)

Published by rao-vasireddy over 4 years ago

YSQL

  • [BETA] The CREATE TABLE statement now supports the SPLIT AT VALUES clause. #1486
  • Read restart for EXECUTE statement if the prepared statement is SELECT. #4205
  • Find and list YSQL tables in yb-admin commands now use table ID instead of table names. #1687
  • The DROP INDEX statement now ignores index backfill.
  • The DROP INDEX statement now ignores DocDB NotFound errors when it doesn't have table metadata, but postgres does. #4249
  • Force single row update prepare statements to use a custom plan that requires boundParams to be sent for creation and execution. #4219
  • Improve performance of multi-column primary keys by generating scanspec for range partitioned tables using condition expression. #4033

System improvements

  • Improve tablet splitting #4169, including:
    • Add support for transaction-enabled tables.
    • Add WAL index flush before copying WAL during table splitting.
  • [colocation] Optimization that pushes index lookup down to DocDB. #3609
  • [colocation] Use range keys by default for colocated tables and indexes. #3034
  • [colocation] Avoid excessive RPC requests for drop and truncate #3387
  • On starting a new yb-master (in edit and add node), update master addresses correctly in yb-master and yb-tserver configuration files. #3636, #4242, and #4245
  • Add backup-related code changes for snapshots #3836, including:
    • Change yb-admin import_snapshot to return an error if there are less new table names than backed up tables. For example, if you rename only two of three tables, an error will be generated.
    • Change yb-admin restore_snapshot and yb-admin list_snapshot to output restoration-id (useful for verifying completed restorations).
  • Support yb-admin import_snapshot renaming only a few tables (but not all), but keeping the specified table name the same as the old table name. #4280
  • Deprecate table_flush_timeout in the yb-admin create_snapshot command.
  • Do not return error in output of yb-admin get_is_load_balancer_idle if load balancer is busy. [#3949]
  • Change yb-tserver /utilz endpoint page to display "Live Ops" instead of "RPCs" and add YSQL statements link #4106
  • Fix access to reset tablet peer during shutdown. #3989
  • GetSafeTime should wait instead of adding to safe time. #3977
  • Add retry logic to snapshot operations. #1032
  • Add TLS encryption support to yb-ts-cli (adds --certs_dir_name flag) for sending secure RPC requests to the servers. #2877
  • Fix yb-ctl failing when passing vmodule in --master_flags . #4234
  • The yugabyte-client package now includes a share folder (containing .sql files) for use by Yugabyte Cloud and other remote client users. #4264

Yugabyte Platform

  • When shrinking a universe, remove nodes in descending index order. #3292
  • Add back up and restore of Yugabyte Platform using yb_platform_backup.sh script. #4208
  • Change yb_backup.py to use the yb-admin changes for backup-related changes for snapshot (see System improvements above).
  • Fix expected restoration state in the yb_backup.py script.
  • Allow users to select multiple single tables to backup in addition to specifying a full universe backup. #3680
  • Customize the SMTP server for sending alert messages using configuration entries for smtpData (smtpServer, smtpPort, emailFrom, smtpUsername, smtpPassword, useSSL, and useTLS). #4201
  • [YW] Add option to specify table keyspace when creating manual or scheduled backups. #3342
  • For Azure Storage blob backups, use SAS tokens instead of Service Principal client secrets.
  • Add create and restore backup support for Azure Blob Storage with SAS tokens. #3721
  • [YW] Add IAM Role toggle in provider storage configuration to use the IAM role instead of requiring an Access Key and Secret. #4204
  • [YW] When creating a universe and AWS provider is selected, display new Use IAM Profile toggle and ARN String text field. #4199
  • Use Raft configuration as a source for master addresses in server.conf for master. #4089
  • [YW] If a node appears as unreachable, it can be removed or released without generating errors. #4171
  • [YW] Create GCP providers with any combination of host credentials and host (or shared) VPC. #4177

Note

Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data.

yugabyte-db - v2.1.4 (April 15, 2020)

Published by rao-vasireddy over 4 years ago

YSQL Changes

  • [YSQL] Buffer writes to postgres system tables, reorder table creation on yb-master. #4013
  • [YSQL] Single row update overwrites unmodified columns with default values to null #4127
  • [YSQL] Read restarts are not done transparently in JDBC "simple" query mode. #4094
  • [YSQL] Remove redundant call of YBOnPostgresBackendShutdown. #3236
  • [YSQL] Allowing a deletion of a table when the DocDB returns a 'NotFound' error. #3305
  • [YSQL] Use higher priority for transactions with explicit locking statements. #4136
  • [YSQL] Made pg_notify a NOOP emitting warning. #3875

YCQL

  • [YCQL] Backing up table should back up its indexes. #3836

System improvements

  • Fix memory leak on transaction abort. #3631
  • colocation: enforce colocated reloption behavior. * Implement backfilling for YCQL Unique Index. #3891
  • yb-admin hangs for full timeout of 60s when no leader master is present/specified. #209
  • Use QLExprResult during expression evaluation to avoid unneccesary memory allocations and copies. #3926
  • Fix LB interaction with Preferred Regions. #3461
  • [yb-admin] list_all_masters does not list dead hosts. #4070
  • Delete a transaction aware snapshot. #1032
  • Prevent read-write data race on field in DBImpl. #4025
  • [docdb] Master heartbeat writes should be batch written to raft. #2236
  • TServer-side tablet splitting. #1459
  • Better descripton for BackfillTableJob. #4143
  • Bump max threads in the RPC thread pool to 1024. #4058
  • Avoid extra fsyncs of tombstoned tablets during startup. #4006
  • Fixed tablet log prefix. #4188
  • Remove peers when its tablet is in the FAILED state so that they can be remote bootstrapped. #3539
  • Index deletion upon backfill failure. #3978
  • More resilient multi node yugabyted. #2057
  • Added split-tablet RPC support into yb-admin and yb-master. #1461
  • Fix master bootstrap after snapshot operations. #1032
  • TabletIterator Hangs during Shutdown. #4081
  • Enable Move From Leader LB. #3461
  • [ybase] Set default value of copy_table_batch_size to 10K. #3743
  • Retain delete markers on index tables only during backfill. #4211

Platform

  • Ability to attach multiple security groups to yugabyte nodes. #1598
  • Remove psql from bin and fix get_clients.sh. #3928
  • Set replication_factor gflag on master when creating universe. #4099
  • Support for GCS backups. #3405
  • Show node name in alert emails. #4102
  • [YW] Add Scheduled backups to universe level Backups tab and remove from top-right dropdown. #3591
  • Disable standalone backups for YCQL indexes. #3848
  • [YW] Fix map markers not showing up in expanded view of node placement map in Universe overview. #4200

Note

Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data.

yugabyte-db - v2.1.3 (Apr 09 2020)

Published by rao-vasireddy over 4 years ago

YSQL Changes

  • [YSQL] Parallel queries across tablets for SELECT COUNT|MIN|MAX|SUM (*|col_id) FROM. #3624
  • [YSQL] Fixed bug when processing PgsqlConditionPB::operands::column_id. #3837
  • [YSQL] IndexScan returns all rows when there is no match. #3896
  • [YSQL] Partial support for operator families, ALTER OPERATOR and ALTER EXTENSION. #2711
  • [YSQL] Handle transaction conflict status in case of parallel read operations. #3991
  • [YSQL][YCQL] Wrong results when using DocDB reverse scans with paging #4004
  • [YSQL] Flush buffered operations before calculating query time. #3696

YCQL

  • [YCQL] Send proper error when we query system.peers_v2 table. #3862

System improvements

  • Implement paging for index backfill. #3879
  • Rename indices to indexs in the context of index-backfill. #3901
  • Cleaner error reporting from process main. #3876
  • Fix determining the oldest SST file for intent cleanup. #3917
  • Fix the TS UI transactions link. #3922
  • Fix transaction status resolution with old peer version. #3916
  • Add nodiscard attribute to Status class. #3918
  • [docdb] Deregister callback for common mem trackers from root mem tracker in destructor of vector. #3750
  • First phase of transaction aware snapshot. #1032
  • [cdc] Fix data races in CDC Poller. #3771
  • [YSQL] Fix for PgGate shutdown race on shutdown_done flag. #3779
  • Initial multi node yugabyted version. 2057
  • Enable checksum verification for meta blocks of encrypted files. #3974
  • Batch copy table operations that happen during create database. #3743
  • yb-admin: flush_table_by_id, compact_table_by_id #3814
  • [docdb][ysql] Reuse iterators during txn conflict resolution. #3521
  • Persist backfilling timestamp across master failures. #3611
  • Relax requirement on number of log segments in QLTransactionTest.PreserveLogs. #3989
  • Fix encryption format for newly created files. #3976
  • Move remote bootstrap call to OpenTablet to the threadpool. #3012
  • Support the ability to fetch the oldest timestamp record that is more recent than a specified time. #4019
  • A flag for veryfing meta block checksums. #4023
  • Stop cleaning intents SST files if previous file was not actually deleted. #3917
  • Fix MakeFuture utility. #3781
  • Restore transaction aware snapshot. #1032
  • Fix demo destroy behavior with Python 2.7.5. #3993
  • Adding health check for the Tserver. #3540
  • Don't block remote bootstrap service during session init. #4035
  • YBClient sbould wait for all sync operation to complete upon shutdown. #3989
  • Inherited permissions shouldn't replace granted permissions in the client's cache. #4062
  • Fix race condition on ParseTree::stale_. #3083
  • Handle RPC register failure in TransactionStatusResolver. #4064
  • Handle tablet not running in /transactions page. #4071
  • Propagate history cutoff from leader. #1032
  • Allow yb-admin to work with any non-leader master. #4000
  • Transaction aware snapshot persistence. #1032
  • Optimize returning results from tserver to postgres. #3926
  • Allow tracing recent operations in MvccManager. #4108
  • Persist ALTER ROLE changes to disk. #4105
  • colocation: cache db colocated in postgres #4101

Platform

  • Fix edit flow to show encryption at rest flags properly. #3910
  • Add support for disabling readonly users. #3794
  • Add API to get client certificate. #3984
  • Create GCP provider with shared VPC and allow specifying subnets per region. #3383
  • Update AWS price info && stop auto-running update script.
  • Remove devops subnetId requirement when specifying a VPC when creating GCP provider.
  • Add node ip to all created universes
  • Omit master servers from being counted toward total node/pod count. #4009
  • Update master selection logic. #3999
  • Prevent data move if there is no data to move. #4046
  • UI to set region-subnet mapping when creating GCP provider for existing VPCs. #3381

Note

Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data.

yugabyte-db - v2.1.2 (Mar 10, 2020)

Published by rao-vasireddy over 4 years ago

YSQL Changes

  • [YSQL] Framework for expression pushdown. #3297
  • [YSQL] Optimize relcache preloading by reducing the number of master RPCs. #3049
  • [YSQL][Diesel ORM] Fix crash for nested SELECT with set-returning function and LIMIT. #3811
  • [YSQL] Fix error when ybctid value matches the partition boundary. #3833
  • [YSQL][Hasura] Fix 'Missing base table ybctid' error for UPDATE with RETURNING clause. #3805
  • [YSQL] Update on table with multiple FK tables crashes postgres. #3583

System improvements

  • [cdc] Fix DeleteTableWithCDCStream
  • Ensure only Tablet leaders can confirm alter table. #2236
  • Make OpenSSL usage thread-safe. #3454
  • Revert removed timeout from RequestConsensusVote. #3390
  • colocation: fix DFATAL on UI tables page (#3726). #3726
  • Ignore writes from the same transaction while updating CQL indexes. #3718
  • Update setting for default number of compaction threads. #3561
  • Add functionality of resolving intents to transaction participant. #1032
  • [cdc] Ability to Delete & List CDC Streams in yb-admin. #3638
  • Set default manifest preallocation to 64k. #3666
  • A workaround for encryption counter overflow. #3707
  • Fixed SecureStream OOM during network partition. #3842
  • Transactions could hang at transaction participant after write stopped. #3823
  • Show backfill progress at master/tasks. #3668
  • Fix apply of transaction with deleted tablets. #3828
  • Comment out Connection::Shutdown info log. #3842

Platform

  • Fix health check failures when YSQL auth is enabled. #3737
  • Adding under-replicated tablet servers to the master health check. #1374
  • Fix Tab problem when going into Tables page on Yugabyte Cloud. #3749
  • Only save usable AWS instance types. #3626
  • Added APIs for querying audit table. #3792
  • Generate Client Certificate for TLS enabled Universes. #3839
  • Onprem - allow specifying homeDir, automatically exclude installing s3cmd and ntp. #3834
  • Add sorting by default to the releases list and also a search bar to allow users to quickly access the desired release by entering part of the string. #3563
  • Correctly disable ntp install for onprem

Note

Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data.

yugabyte-db - v2.1.1 (March 03, 2020)

Published by rao-vasireddy over 4 years ago

YSQL Changes

  • [YSQL] Improve performance when running index scan to query data. #3103
  • colocation: handle table tombstone compaction #3360

System improvements

  • Decrease log segment size for transaction status tablet. #3699
  • Fix data race between ~Tablet and yb::tablet::Tablet::RegularDbFilesChanged(). #3519
  • MiniMaster should set master_addresses on restart. #3336
  • [cdc] Alter Replication Command for CDC. #2838
  • Modify ldb Tool to be Encryption Aware. #3455
  • Create database fails inside docker yugabyted. #3742

Platform

  • [YW] Change the Disk Usage widget on Universe overview page to show the latest value instead of the average

Note

Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data.

yugabyte-db - v2.1.0 (February 25, 2020)

Published by rao-vasireddy over 4 years ago

We are excited to announce the general availability of YugabyteDB 2.1 release.

The blog posts below detail the features highlighted in the release notes on this page.

Generally Available Features

Performance improvements in Yugabyte SQL

  • YCSB - 10x gain since 2.0 release
  • TPC-C - first release to run the full TPC-C suite

Geo-distributed, multi-cloud clusters

Enterprise-grade security enhancements

Beta Features

New & Improved Ecosystem Integrations Since 2.0 Release

Changelog

YSQL API

[YSQL] Fix table location cache for system and colocated tables. #3416
[YSQL] Enable ALTER TABLE IF EXISTS syntax. #3417
[YSQL] Use std::future in PgDocOp to fetch RPC result. #3240
[YSQL] Cleanup unique index if its creation fails. #3462
[YSQL] Eliminate redundant foreign key checks. #3328
[YSQL] Batch all write operations when possible. #2934
[YSQL] allow CREATE DATABASE ENCODING unicode/utf8 #3595
[YSQL] Fixed test wrong assumption in yb_dml_systable_scan.
[YSQL] Use smart pointers for YBqlOp and YBPgsqlOp. #3641
[YSQL] Provide a GFLAG to suppress unsupported error. #3633

YCQL API

[YCQL] Add gflag to create YCQL tables as transactional by default; change GROUP from reserved word to keyword; fix duplicate column error message. #3313
[YCQL] Fixed unexpected 'Duplicate Object' error from the CatalogManager. #2475
[YCQL] Fixed: signal 11: seg fault: yb::ql::PreparedResult::PreparedResult. #3415
[YCQL] Application stuck in BoundStatement execution if a variable was not bound. #3419

DocDB Distributed Store

Set the default history retention duration to 120 seconds. #3373
Fix metrics error after resetting percentiles.. #3362
Extract classes from transaction_participant.cc to separate files. #1032
Recover after write stop. #3331
Fix issue with yugabyted process restart loop. #3207
Track replicated batches at transaction participant. #3220
Backfill Index Table. #448
[Colocation] Use 4 byte PG table ID as dockey prefix. #3365
YB inbound RPCs throttling on soft memory limit. #2563
BlockBasedMemory mem-trackers should use the "tablet" MetricsEntity instead of "servers". #3364
Mean for metrics histograms should be based on the current values, not historic values. #3470
Make yugabyted work with docker volume mounts. #3513
Added Graph to track Rocksdb write rejections. #2871
Fsync before WAL close. #3490
Enable percentiles for redis metrics. #3362
BlockBasedMemory mem-trackers may already exist in OpenKeyValueTablet. #3364
[cdc] Avoid race condition with CDCReadRpc. #3441
Call TransactionParticipant shutdown from Tablet shutdown. #3495
Point yugabyted to system conf file if present. #3169
Backfill Index Table - TServer side implementation for backfilling non-unique indices. #448
colocation: make reads aware of table tombstone #3359
Add ability to set hybrid time filter to existing rocksdb files. #1032
Server crash on startup after table truncate. #3524
Move all yugabyted modified data under central var dir. #3524
Add physical time to cdc_state table. #2837
docdb: iterate over intents past kTransactionId #3482
Prevent callback from detached rocksdb instance; prevent race condition between insert and truncate; disable rocksdb flush on truncate. #3288
Persist cdc min replicated index in the superblock. #3418
[CDC] Clean up cdc_state rows for deleted streams. #2529
yugabyted does not start with custom config file. #3634
[2DC] Create new BootstrapProducer API. #3319
Fix key processing on CDCProducer. #3582
Make yb-docker-ctl compatible with python3
Backfill index: handle failed master -> TS rpc. #3627
[cdc] Add Last Consumer Checkpoint to CDC Producer Metrics. #2154
Evict log cache at follower after operation was appended to log. #3665
Implement transaction sealing w/o abort. #3220
[Colocated] Master should issue AddTableToTable only for subsequent tables. #3681
Extract HeartbeatDataProvider from Heartbeater. #3571
Avoid sending apply intents from the follower. #3698

Yugabyte Platform

YW Alerting improvements. #2892
Add the 'snooze alerts status' of a universe to the health check panel. #2891
Added UI support to be able to snooze and enable alerts. #2891
Add toggle to take backup button. #3341
Redirect yugaware logs from yugabyted into yugabyte-logs dir. #3516
Add features for the read only user.
Add endpoint to support creation of user roles in YB database(s).
Add ability to specify list of tables to backup. #3614
Fix metrics url check. #3653
Do not merge flags during a gflag update. #3533
Add option to add, delete users
[YW][#3211] Add ESC key binding to document to close any modal on the screen by calling the onHide callback.#3211
[YW][#3332] Add default value for currentProvider and fix eslint warnings. #3332
[YW][#3680] Enable multi-table backups in CreateBackups modal. #3680
Add authentication for registering new users.
[YW][OSS] Add support to disable the Enable/Disable Backup button on the Tables tab, and change color of disabled TableActions
Handle overall exceptions in a better way. #3676

yugabyte-db - v2.0.11 (January 27, 2020)

Published by rao-vasireddy over 4 years ago

YSQL Changes

  • [YSQL] Colocation: Fix txn conflict issues due to absence of cotable ID in DocKey.#3251
  • [YSQL] Table colocation drop flow. #3035
  • [YSQL] Make parentheses optional for SPLIT clause. #3308
  • [YSQL] Fixed restarted portal fields having wrong memory context. #3377
  • [YSQL] IN clause pushdown for hash columns. #3130
  • [YSQL] Reorganized and fixed INDEX implementation. #2959
  • Access pg_stat_statements contents at <tserver_ip>:13000/statements. #3091
  • [colocation] Create table tombstone. #3357
  • [YSQL] Fix memory leak for altering temporary table. #3031

YCQL Changes

  • [YCQL] Fixed Upgrade issue for SELECT from Indexed Table. #3281

System improvements

  • Fix race condition on RetryingTSRpcTask::UnregisterAsyncTask. #3277
  • [2DC] Change cdc_state table format. #3050
  • Fix clock update during commit with committing transaction. #2571
  • Don't check doc hybrid time at end of the key during rocksdb seek. #3024
  • Fix redis keys command. #3311
  • Move snapshot related classes from ent/ folder. #1032
  • Use correct string end for char[] arg in Format function. #3396
  • Fix SIGSEGV due to null consensus pointer in GetChanges. #3289
  • Do not use TOMBSTONED tablets when load balancing across disks on a node. #3374
  • Expose percentile metrics from histograms. #3362

Platform

  • [YW] UI change for RBAC update to make Profile section functional
  • [YW] Refreshing on the Edit Universe page does not load AZSelectorTable #3291
  • Minor fix to ignore instances without memory specifications. #3298
  • [YW] Fix missing property in newly generated cluster deviceInfo in ClusterFields. #3290
  • Fix edit universe bug for region/zone update. #3323
  • Cron expression validator on UI doesn't work correctly #3160. #3160
  • AWS Instance Type Parsing Fix. #3063
  • Added keyspace to multi-table backups. #3343
  • Flow assign_public_ip through properly when creating GCP instance. #3386
  • Added Audit trail for users. #3370

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new
    cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.10 (January 06, 2020)

Published by rao-vasireddy almost 5 years ago

YSQL Changes

  • [YSQL] Fixed an issue with PgDocOp lifespan sometimes being too short.
  • [YSQL] "UPDATE" fails if any "NOT NULL" columns aren't updated #3174
  • [YSQL] Force network library initialization on postmaster startup on macOS. 2509

YCQL Changes

  • [YCQL] Table stuck in the keyspace after deletion #3032

System improvements

  • Implement one way bitmap and Extract CleanupTransaction from YBTransaction. #3220
  • Improved rocksdb corruption error logging. #2961
  • Added TCMalloc stats when dumping memory usage. #3190

Platform

[YW] Fix infinitely updating state causing React to fail. Reason is calling setState repeatedly in componentDidUpdate will create an infinite depth nested state update.

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new
    cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.9 (January 02, 2020)

Published by rao-vasireddy almost 5 years ago

YSQL Changes

  • [YSQL] Push down LIMIT clause for INDEX_ONLY_SCAN. #3128
  • [YSQL] Drop DB persist, delete sys tables. #2997
  • [YSQL] Correctly report unsupported features in plpgsql grammar. #2005
  • [YSQL] Enable DISCARD statement in grammar. #2491
  • [YSQL] Update only the assigned columns in UPDATE statement. #3106
  • [YSQL] Move YBCPgSession and PgTxnManager into PgApiImpl. #3053
  • [YSQL] Deprecate num_tablets in CreateTableRequestPB
  • [YSQL] Support create colocated db/table . #3033

YCQL Changes

  • [YCQL] Support conditional DMLs in transaction statement block. #166
  • [YCQL] Compatibility Issue - Not processing older format of protobuf message when picking index. #3175

System improvements

  • Enable CXX11 ABI. #3116
  • Limited transactional DDL: each DDL statement in its own transaction. #3108
  • Improved TcpStream::sending_ queue memory tracking. #3041
  • Per service gauge counter for number of enqueued rpcs. #2389
  • Handle GetChanges(MinimumOpID) as a Request for the First Log Entry. #3036
  • Fixed vmodule logging configuration. #3176
  • Log over-replicated tablets in load balancer. #3173
  • Fix for stuck Inbound RPC connections due to hitting memory limit. #2562
  • Retry transaction status table creation if it fails. #3182
  • Add ability to set transaction priority range using SQL. #3024
  • Delete provisional records RocksDB SSTable files. #2186

Platform

  • [YW] Change Intro dialog to only appear on login. Add checkbox in Intro dialog for permanently hiding modal. #3138
  • [Platform] Fix console errors in UI code #2790
  • [YW] Fix backup Universe from changing to undefined url
  • [Platform] Task history not reflecting when a encryption is enabled/disabled/rotated #2929
  • Add per node metrics for health. #2894
  • Implement RBAC in Yugaware. #2793
  • Add chrony configuration while provision step. #3038

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new
    cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.8 (December 13, 2019)

Published by rao-vasireddy almost 5 years ago

YSQL Changes

  • [YSQL] enable client-to-server TLS encryption for postgres process in case use_client_to_server_encryption is set to true. #2980
  • [YSQL] Disable the unnecessary pggate-level auto read restarts. #2812
  • [YSQL] yb-admin command to delete namespace, table and index. #3069
  • [YSQL] Assertion failed on TRUNCATE TABLE command. #1632
  • [YSQL] Consider HASH column when seeking index for ORDER BY clause. #2792

YCQL Changes

  • [YCQL] Fixed 'kong migrations bootstrap' failure with yugabyte. #2829

System improvements

  • Add log retention by op id policy documentation. #2773
  • Switch Linuxbrew to 20181203T161736. #3044
  • Check transaction status after load. #2186
  • [2DC] Make cdc_poller log messages more descriptive
  • Lower max timeout on master async tasks from 1 hour to 15 minutes. #1655
  • Cleanup intents written for foreign key check. #3111

Platform

  • [YW] Add a prometheus metrics export endpoint. #2459
  • [YW] Recursively call task status API sequentially so there is no overlap. #2998
  • [Platform] Move the CMK policy to be moved to KMS instead of having it universe level #2942

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new
    cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.7 (December 04, 2019)

Published by rao-vasireddy almost 5 years ago

System improvements

  • Expose rocksdb max_write_buffer_number as a gflag. #2935
  • Roll forward master tablet deletion on fault during DeleteTable. #2721
  • Batch Records on 2DC Consumer. #2580
  • Use raft commit hybrid time for write batch frontier. #2912
  • Remove aborted transaction from follower. #2186
  • Add leader_stepdown to yb-admin.#1943
  • [2DC] TLS support for 2DC
  • CDC op id retention policy. #2486
  • Fix double cleanup of provisional records. #2186
  • Improved RPC heartbeats sending. #2964

Platform

  • [YW] Fix node metrics on Universe specific Nodes page. #3006
  • Fix the host info query to be called only on provider config page. #1342

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new
    cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.6 (November 23, 2019)

Published by rao-vasireddy almost 5 years ago

YSQL changes

  • [YSQL] Transparent read restarts for general queries. #1237
  • [YSQL] Support row level security (RLS) as per Postgres. #1870
  • [YSQL] use database type in catalog_manager for keyspace name uniqueness. #1476
  • [YSQL] Enable fmgr cache for C functions. #2596
  • [YSQL] fix delete from table returning * query with dropped columns. #2398
  • [YSQL] Update catalog manager data while renaming YSQL table, DB and columns. #2280
  • [YSQL] FOR [NO KEY] UPDATE. #2842
  • Use transaction pool for YSQL. #2909
  • [YSQL] Increase default PostgreSQL output buffer size; fix a bug with unnamed_stmt_psrc. #2975
  • [YSQL] use ~/.yugabytedb as default certificate folder for ysqlsh #2985
  • [YSQL] Pick transaction id such that its leader is local to transaction coordinator #2889

System improvements

  • [docdb] Speedup data loading in Master Leader startup. #2663
  • [docdb] Speedup CREATE DATABASE for YSQL.
  • Set Timeout and elapsed time in same units #2826
  • Track memory taken by CDC producer. #2888
  • Cleanup TIMED_OUT calls from /rpcz. #2807
  • Improve logging of shutting down idle and broken connections. #2918
  • Do not display user index tables as system tables in master UI. #2921
  • CDC Producer Metrics. #2154
  • yb-admin support for in-memory encryption keys. #2916
  • Poll TCMalloc stats on update of root MemTracker. #2566
  • Fix LB enable / disable handling. #1942
  • Propagate hybrid time from follower. #2956

Platform

  • [Platform] - Rotate key with service should not rely on alias/cmk already existing #2943
  • [YW] Enable alerts email button is not clickable #2827
  • [Platform] - Fix SetUniverseKey task for unencrypted universes #2976
  • Fix k8s metrics for CPU and Disk Usage.
  • [Platform] Support instance profiles for default CMK policy #2949

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new
    cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.5 (November 15, 2019)

Published by rao-vasireddy almost 5 years ago

YSQL changes

  • [YSQL] Change HINT text for unsupported "alter procedure/function". #2718
  • [YSQL] Support client-server TLS encryption #2471
  • [YSQL] Fix Master crash when deleting YSQL database #2665
  • [YSQL] Fix read point for row lock stmt. #2523
  • [YSQL] Transparent read restarts for aggregate queries. #2216
  • [YSQL] Show oid for YSQL tables in master UI. #1525

YCQL changes

  • [YCQL] Server crashes on WHERE condition for key_column and collection_column. #2638
  • [YCQL] NULL value for clustering PK column causes driver to keep retrying. #2737
  • [YCQL] Support CREATE TABLE ... WITH NUM TABLETS. #2448
  • [YCQL] Support nested user-defined types #2729

System improvements

  • Pipe cmk policy into EncryptionAtRestService #2714
  • [CDC] Include CDC consumer op ID while determining op ID to evict from cache. #2317
  • [docdb] Roll forward master tablet deletion on fault during DeleteTable #2721
  • Add optional placement_uuid to yb-admin. #2589
  • Truncate fails after add_node, problem on bootstraping #2804
  • Update glog to fix issue with stack trace symbolization. #2800
  • Implement new write throttling algorithm based on number of SST files in leader and followers. #2750
  • Improve sending CQL result from TServer. #1450
  • Fix non transactional conflict resolution. #2823
  • Do not flush rocksdb memtable when user drops table. #2719
  • Add and update placement ID for read replicas. #2876
  • [CDC] Use new GetChanges API on CDC Consumer. #2863
  • Fix DeleteTable concurrency issues. #2799
  • [2DC] Don't log CDC record data. #2841
  • Add support for in memory universe keys #2682
  • Lower consensus_max_batch_size_bytes default to 4MB. #2739
  • Inbound RPC calls are not destroyed until timeout or service shutdown #2887
  • Don't reset cdc_state checkpoint to 0.0. #2897
  • Change failure handling in ProcessRpcStatus. #2879
  • Do smart consumer producer tablet mapping. #2679
  • Add Java Client Support for Encryption at Rest #2906
  • Generate new rejection score on retry. #2750

Platform

  • [Platform] Add ability to turn off encryption at rest for an encrypted at rest universe #2730
  • [Platform] Cache universe key registry in memory on YW side #2770
  • [Platform] Add ability to launch aws instances with encryption enabled storage #2759
  • [Platform] Scheduled backups for Single table and Full universe flows.
  • [Platform] Use a YW default CMK policy instead of the AWS default policy #2896
  • [Platform] Enable support for Rotate Key/Disable Key/Enable Key flows. #2927
  • [Platform] Integrate YW KMS with in-memory encryption at rest #2915
  • [Platform] Rotate key with service should not rely on alias/cmk already existing #2943
  • [Platform] Periodic job to set latest universe key into master from YW #2728

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.3 (October 28, 2019)

Published by rao-vasireddy almost 5 years ago

YSQL changes

  • [YSQL] Build YBTupleID value with respect to DocDB column order. #2438
  • [YSQL] Support TLS Server-Server Encryption through YSQL API. #1845
  • [YSQL] Check constraints when doing UPDATE. #2361
  • [YSQL] Add default password to yugabyte user for ysqlsh. #2594
  • [YSQL] authentication and authorization. #2610
  • [YSQL] client authentication update. #2614
  • [YSQL] Enable FOR SHARE and FOR KEY SHARE row locking in YSQL SELECT statements. DMLs on tables with foreign key references work regardless of isolation level (previously only worked in SERIALIZABLE isolation)#1199
  • [YSQL] Avoid namespace id resolving for import_namespace yb-admin command. #2582
  • [YSQL] SERIALIZABLE READ ONLY DEFERRABLE. #2161

YCQL changes

  • [YCQL] Fix for SIGBUS TS crash on invalid statement. #2476
  • [YCQL] A role shouldn't be able to modify the superuser status of itself or of a role granted to it. #2505
  • [YCQL] Fix issue with permissions inheritance. #2550
  • [YCQL] Mangling the column name in IndexTable for index selecting processing. #741
  • [YCQL] Wrong port sent for NEW_NODE topology change events. #2607
  • [YCQL] Fixed: Cannot CREATE TYPE when user has CREATE permissions for keyspace. #2556
  • [YCQL] Add support for IF clause in SELECT statement. #2640
  • [YCQL] Add description for JSONB INDEX and IF clause in SELECT. #2651
  • [YCQL] Not reserving keyword USER and WHEN. #1661
  • [YCQL] EXPLAIN SELECT causes tserver to crash. #2616

System improvements

  • Added missing extractor checks into version_edit, so ldb doesn't crash. #2510
  • Fix race in Batcher. #2501
  • [2DC] Update checkpoint for replicated records, ignore tablet status while looking up peer. #2487
  • Reduce log level while skipping over display of stats for tablets with state RaftGroupStatePB::SHUTDOWN. #1488
  • [2DC] Send from_checkpoint only when consumer knows the last checkpoint. #2522
  • Remove may exist state from YBTransaction. #2501
  • [CDC] Setup Java Console Connector for CDC. #2081
  • Fix operation memory double tracking. #1436
  • Reinit total replicas to move when master leader fails during tserver blacklisting. #2453
  • Display num sst files for tablets in yb_admin list_tablets_for_tablet_server. #2536
  • Use boost::amotic for op_id_copy_ member (128 bits structure). #2545
  • Derive proxy rpc addresses. #1023
  • Update consensus meta term during local bootstrap. #2570
  • Add metrics for thread count in each category. #1785
  • Cleanup queue on timeout. #2592
  • Do not call LogReader::Open() twice when skip_wal_rewrite is enabled. #2124
  • Display num log segments for tablets in yb_admin list_tablets_for_tablet_server. #2555
  • Fix Bug in YEDIS Keys Command. #2381
  • Fix num tablets per table. #2630
  • modify_placement_info clears read replica config. #2628
  • Fix use of load balancer concurrent action limits. #2624
  • Node should be able to transition from master to shell mode and back to master. #2007
  • Use new linuxbrew (20191015T202549). #2608
  • Remove in_memory_erase option and use SingleDelete instead of Delete. #2569
  • Fixed invalid read-time for RF==1 case. #2394
  • Move Rpcs to CDC consumer from CDC poller. #2549
  • [CDC] Make redirection to tablet leaders for GetChanges asynchronous. #2503

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.1 (October 08, 2019)

Published by rao-vasireddy about 5 years ago

YSQL changes

  • [YSQL] Allow ALTER COLUMN add/set/drop identity. #2226
  • [YSQL] PostgreSQL error code handling to avoid string-based error comparisons. #1289
  • [YSQL] Fix duplicate key error being suppressed in COPY. #2289
  • [YSQL] VERIFY_RESULT creates undesirable copy of Result<T&>'s value. #2298
  • [YSQL] Warn on non-txn COPY with incompatible relation. #2278
  • [YSQL] Allow ALTER COLUMN add/set/drop identity. #2226
  • [YSQL] PostgreSQL error code handling to avoid string-based error comparisons. #1289
  • [YSQL] Aggregate pushdowns in YSQL. #1851
  • [YSQL] Skip dropped columns when iterating through the columns for UPDATE statement. #1969
  • [YSQL] Use keyspace id instead of name in requests from yb-admin to catalog_manager. #1476
  • [YSQL] Fix insert into temp table in function body assertion error. #1541
  • [YSQL] Fix memory leak in psql. #2388
  • [YSQL] Add default password for yugabyte user. #2465

YCQL changes

  • [YCQL] Fixed permission check for DROP TYPE. #2373
  • [YCQL] Fix for 'value too long' error code mapping. #2116
  • [YCQL] 'expression not yet supported' error for old-format index update. #2470

System improvements

  • Do not retry flush/compact async tasks. #2229
  • Make yb-admin log an error message instead of fatal-ing on failed init. #2141
  • Propagate timeout to transaction. #2334
  • Warn on non-txn COPY with incompatible relation. #2278
  • [2DC] Add Exponential Backoff to CDC Consumer. #2362
  • Add support for cotable id in EnumerateIntents (needed for transactional DDL). #1404
  • TServer blacklisting for leadership role. #1748
  • Avoid unnecessary RocksDB lookup when we have multiple ops to one tablet. #2186
  • [2DC] Reduce checkpoint frequency, avoid self looping in CDC producer, apply polling delay correctly. #2364
  • Request intents cleanup even on failed replicas. #2411
  • Add number of sst files to tables and tablets pages for tserver. #2230
  • Fix role and term cache. #2267
  • yb-admin add RF to add_read_replicas. #2395
  • [2DC] Fix transaction status and record handling in CDC producer/consumer. #2386
  • Handle concurrent shutdown and remote bootstrap. #2428
  • [CDC] Fix bug in condition check for tablet leader. #2449
  • Fix remote bootstrap for encryption at rest. #2462
  • Implement dynamic priorities for compaction tasks. #2004
  • [2DC] Update checkpoint for replicated records, ignore tablet status while looking up peer. #2487
  • [2DC] yb-admin command to pause/resume replication. #2367

Note on upgrades from pre 2.0 releases

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.
yugabyte-db - v2.0.0 (September 17, 2019)

Published by rao-vasireddy about 5 years ago

File format change

Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release.

There are two ways to address the above note.

  • If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x
  • If you want to continue using your existing data, then please save your data,
    delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data.

YSQL Changes

  • [YSQL] Add CREATE TABLE tablet splits to grammar.#1486
  • [YSQL] Add catch-all ysql configuration gflags.#1140
  • [YSQL] Allow ALTER TABLE ALTER COLUMN SET|DROP NOT NULL. #1200
  • [YSQL] Add retry logic to pgbench. #2058
  • [YSQL] Optimize single-row UPDATE/DELETE statements. #1028
  • [YSQL] IN predicate pushdown. #1554
  • [YSQL] Add top-level ysql configuration gflags. #1140
  • [YSQL] Add support for various ALTER TABLE ADD COLUMN variants. #2055
  • [YSQL] Support UDTs, records. #1676
  • [YSQL] Order range columns with respect to primary key descripttion. #1250
  • [YSQL] Support ALTER TABLE ADD COLUMN with default value. #2055
  • [YSQL] Enable ANALYZE, VACUUM in grammar. #2217
  • [YSQL] Non-transactional COPY in YSQL. #1926
  • [YSQL] CREATE/DROP AGGREGATE, CAST, OPERATOR, OPERATOR CLASS. #1981
  • [YSQL] Create yugabyte, system_platform as default database. #2277

YCQL Changes

  • [YCQL] Fixed TS crash if a built-in function argument is a column. #1944

System Improvements

  • Propagate intents apply failure to client.#1974
  • Check shutdown state while scheduling compaction.#2100
  • Add leader check on master TS Write interface. #1995
  • Correctly handle duplicate key in postgres layer. #2012
  • Remove StopWatch from RocksDB Seek. #2136
  • Avoid picking read time for the serializable transactions. #2125
  • CDC: Producer and consumer master handshake to setup 2DC. #1977
  • Optimized Drop Table Locking. #2056
  • Reduce number of sys_catalog writes: skip no change heartbeats. #1966
  • CDC: Consumer changes. #1481
  • CDC: Add master master support. #1824
  • Increase WAL retention time when CDC stream is setup on table. #2050
  • Apply changes received from producer universe. #2153
  • CDC: Delete for DROP DATABASE. #2114
  • Show Load Balancer state in Master UI. #646
  • Add support for error code categories to Status. #2200
  • [2DC] Handle rpc controller errors and CDC consumer shutdown. #2231
  • Don't apply transactions on tablets without intents. #2070
  • Allow dynamic priorities in PriorityThreadPool. #2004
  • Added rocksdb_universal_compaction_always_include_size_threshold. #2085
  • Do full table name match while finding matching tables in 2DC. #2250
  • Fix cleaning Raft log after transactional writes are stopped. #2221
  • Fix handling of calls expired in queue. #2269
  • Load balancer should not be considered idle when tablet remote bootstrap. #2193
  • [YSQ]: Fix number of tablets created for system tables. #2293
  • Reduce fan-out and use tablet invoker for writing data.
  • SerializableReadWriteConflict needs better success probability.