Skip to content

Vitess v2.1.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@michael-berlin michael-berlin released this 12 Apr 20:42
· 22590 commits to main since this release

This is the first release candidate of the 2.1 release.

We expect minimal changes between this and the final 2.1 release.

Download

  • Server binaries are available in the Docker image "vitess/lite:v2.1.0-rc.1".
  • Java client packages are published on Maven Central.
  • Source code is available via the tag "v2.1.0-rc.1".

Upgrading

All Vitess 2.1 changes are backward compatible with the 2.0 release. Please make sure that you follow our recommended upgrade order.

Changes since the 2.0 Release

  • Our website vitess.io has a new logo! :)
  • Kubernetes:
    • Added Helm chart and support for StatefulSet.
  • all:
    • Topology:
      • Rewrote plugins for etcd and Zookeeper (etcd2, zk2). Please see the doc how to migrate to the new storage format.
        Command line flags have changed as well (shipped examples are updated).
      • New plugin: Consul.
    • Internal: We have changed the internal error representation in the RPC messages in a backward compatible way.
  • clients:
    • Java:
      • TLS support in client and JDBC driver.
      • Unified package structure under new root io.vitess.
      • 2.1.0-rc.1 packages are published on Maven Central e.g. our JDBC driver as artifact vitess-jdbc.
    • Map Reduce:
      • Faster execution on tables with a non-uniform distribution by sampling rows and splitting the table into equal-sized row ranges.
  • vtctld:
    • New Angular 2 based UI.
    • Online Schema Swap: Apply complex schema changes without any downtime.
    • Resharding workflow. Automatically runs the resharding steps and shows them in the Workflow UI Tab. New tutorials added which use the workflow.
  • vtgate:
    • 2PC: Support for distributed transactions.
    • Native MySQL server protocol (alpha).
    • Direct access to shards via "keyspace:shard" database name.
    • Buffer master traffic during failovers and retry to avoid client errors (disabled by default).
    • Support for SHOW statements to expose Vitess metadata.
    • Increase large installation scalability with (optional) two-layer vtgate pools (l2vtgate, applicable to 100+ shard installations).
  • vttablet:
    • Native MySQL client protocol (instead of using libmysqlclient) (disabled by default).
    • Support for MySQL Row-based-Replication e.g. needed when resharding (alpha).
    • Update Stream: Applications can subscribe to a change stream (e.g. to invalidate an app level cache).
    • Messages: Native support for a queue processing framework (alpha).
    • Hot Row Protection: Serializes write transaction for the same row (range) to prevent that all transaction pool slots can be exhausted (disabled by default).
    • Transaction Throttler: Rejects new transactions with retryable error if replication lag on replicas is too high (disabled by default).

Other Noteworthy Changes

  • Minimum required Go version changed to 1.8 (from 1.5).
  • Updated to gRPC 1.0.4 (from 1.0.0).