Skip to content

@morgo morgo released this Nov 5, 2019 · 2 commits to release-4.0 since this release

Important Changes

  • Vitess 4.0 no longer supports Statement-Based Replication. Users upgrading will need to switch to Row-Based Replication.
  • V2 Routing is now deprecated and will be removed in a future release. This was an undocumented API that was never officially supported.
  • The default topology server has switched to etcd. ZooKeeper and Consul remain fully supported.
  • Support for InfluxDB as a monitoring backend has been removed. Prometheus is recommended in place.
  • VReplication support is experimental. We are satisfied with the stability and test coverage of this feature but may make changes to the command-line interface based on feedback received. These changes will not follow the Vitess deprecation policy.
  • Prepared statements support is experimental. Support for prepared statements was merged later in the development cycle, and anticipate that there may still be undiscovered edge-cases.
  • The internal representation of topology has been altered between Vitess 3.0 and 4.0. For the most part, it is backward and forwards compatible. The only caveat is to not upgrade to 4.0 while performing horizontal/vertical resharding.
  • The internal Vitess tables VReplication, local_metadata and shard_metadata tables have been modified to support multiple databases in the same mysql instance. This schema change is expected to be forwards and backwards compatible with Vitess 3.0.
  • Support for VStream is experimental. We invite feedback from users before stabilizing this feature in an upcoming release.
  • The included MySQL configuration files bundled with Vitess have been improved. This may lead to cases where a MySQL server started with Vitess 3.0 will not start in Vitess 4.0. Please see the error log for the MySQL server for details.
  • The configuration flags timeout, replication_timeout, gcs_backup_storage_project and lock_timeout have been deprecated and will be removed in the next release of Vitess.
  • The reparenting process has been significantly improved in Vitess 4.0. It is important that you follow the recommended upgrade order for components so that reparents work properly while components are on mixed versions.

Bugs Fixed

Functionality Added or Changed

Build Environment Changes

Assets 6
Dec 12, 2018
[maven-release-plugin] prepare release vitess-parent-3.0.0

@sougou sougou released this Dec 10, 2018 · 1981 commits to master since this release

Vitess 3.0 many new features over 2.2.

Download

  • Server binaries are available in the Docker image "vitess/lite:v3.0.0-rc.1".
  • Java client packages are published on Maven Central (To be uploaded).
  • Source code is available via the tag "v3.0.0-rc.1".

Upgrading

All Vitess 3.0 changes are backward compatible with the 2.2 release. Please make sure that you follow the recommended upgrade order: vttablet->vtctld->vtgate.

Changes since 2.2

Usability

  • Tutorial that runs on Minikube
  • Tutorial that runs on local host
  • Simplified db parameters for vttablet
  • Formal support for externally managed mysql

Monitoring

  • Prometheus plug-in

SQL constructs

  • Comment directives: QUERY_TIMEOUT_MS=1000, MULTI_SHARD_AUTOCOMMIT, SKIP_QUERY_PLAN_CACHE
  • Partial Scatter
  • New ALTER VSCHEMA syntax
  • Multi-table DDL statements
  • Workbench connectivity
  • Cross-shard subqueries
  • Improved handling of select * constructs

Performance

  • vtbench: Benchmarking tool
  • MySQL protocol performance improvements
  • Faster reparents
  • Parallelized backups (4X faster)
  • Snappier InitShardMaster and PlannedReparentShard
  • Improved coordination with Orchestrator

New MySQL versions support

  • MySQL 8.0 and MariaDB 10.3

Build

  • Pure Go 1.11. You can now build with CGO_ENABLED=0.

Resharding and VReplication

  • ShowResharding
  • CancelResharding
  • Safer MigrateServedTypes
  • Auto-reverse direction of MigrateServedTypes to allow rollback of a previous MigrateServedTypes
  • Workflow SplitDiff parallelized across shards
  • SplitClone uses destination master for comparison
Assets 2
Pre-release

@sougou sougou released this Dec 9, 2018 · 1981 commits to master since this release

Fix a couple of issues in local example:

  • restore vschema.sql to keep vagrant working
  • teardown correct vttablets after horizontal resharding
Assets 2
Pre-release

@sougou sougou released this Dec 9, 2018 · 1985 commits to master since this release

  • Fixed a typo in helm charts
  • Removed settings that are incompatible with 8.0
Assets 2
Pre-release

@sougou sougou released this Dec 8, 2018 · 1991 commits to master since this release

This is the first release candidate of the 3.0 release.

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

Download

  • Server binaries are available in the Docker image "vitess/lite:v3.0.0-rc.1".
  • Java client packages are published on Maven Central (To be uploaded).
  • Source code is available via the tag "v3.0.0-rc.1".

Usability

  • Tutorial that runs on Minikube
  • Tutorial that runs on local host
  • Simplified db parameters for vttablet
  • Formal support for externally managed mysql

Monitoring

  • Prometheus plug-in

SQL constructs

  • Comment directives: QUERY_TIMEOUT_MS=1000, MULTI_SHARD_AUTOCOMMIT, SKIP_QUERY_PLAN_CACHE
  • Partial Scatter
  • New ALTER VSCHEMA syntax
  • Multi-table DDL statements
  • Workbench connectivity
  • Cross-shard subqueries
  • Improved handling of select * constructs

Performance

  • vtbench: Benchmarking tool
  • MySQL protocol performance improvements
  • Faster reparents
  • Parallelized backups (4X faster)
  • Snappier InitShardMaster and PlannedReparentShard
  • Improved coordination with Orchestrator

New MySQL versions support

  • MySQL 8.0 and MariaDB 10.3

Build

  • Pure Go 1.11. You can now build with CGO_ENABLED=0.

Resharding and VReplication

  • ShowResharding
  • CancelResharding
  • Safer MigrateServedTypes
  • Auto-reverse direction of MigrateServedTypes to allow rollback of a previous MigrateServedTypes
  • Workflow SplitDiff parallelized across shards
  • SplitClone uses destination master for comparison
Assets 2

@sougou sougou released this May 31, 2018 · 2952 commits to master since this release

Vitess 2.2 brings many new features over 2.1.1.

Download

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

Upgrading

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

Changes since the 2.1.1 Release

VTGate

  • Query normalization
  • Streamlog and plan stats
  • Instant-commit for autocommit
  • Smarter pass-through of SQL statements for unsharded keyspaces or single-shard targets.
  • Pass-through support for information_schema and dual table
  • Improved master detection (if multiple vttablets declare themselves to be master)
  • Multi-column vindexes

VTTablet

  • Heartbeat
  • Can run on a separate machine from its MySQL
  • Hot row protection for DMLs
  • Per-user transaction limits

Improved RBR support

  • Vttablet allows all ‘INSERT..ON DUPLICATE KEY’ constructs if MySQL is in RBR mode.
  • JSON support for RBR filtered replication and update stream
  • A separate flag to pass-through all DMLs without rewriting them.

New Session-based protocol with support for TargetString and autocommit

  • Legacy mode flag for those transitioning to the new behavior
  • Auth plugin

MySQL protocol behaves more like mysql

  • Autocommit is on by default, and mimics MySQL for set autocommit, begin & commit commands.
  • Support of use statement with the ability to target keyspace, shard, tablet type or a combination of those.
  • Support for CLIENT_FOUND_ROWS connection flag
  • Support streaming

New constructs:

  • SET TRANSACTION_MODE=[single,multi,2pc]
  • SELECT NEXT :n VALUES FROM seq
  • SHOW VINDEXES

Messages

  • Multi-column support
  • ACL
  • New STREAM sql syntax

More query constructs

  • Scatter aggregates, order by and limit (count and offset)
  • Cross-shard delete
  • INSERT ON DUPLICATE KEY with lookup vindexes
  • INSERT IGNORE with lookup vindexes
  • Cross-shard sorting of date/time and text columns
  • UPDATE of secondary lookup vindex columns

Vindexes

  • Autocommit support for lookup vindexes
  • Write_only support which can be used for migration
  • Keyrange support
  • Null vindex

GRPC

  • Upgrade to 1.10.0, faster and more efficient
  • Allow setting of max message size for GRPC

Misc

  • VTExplain: new tool for previewing query plans end-to-end
  • Vtqueryserver: a new mysql proxy that has all the guardrails of vttablet, but can be used directly from an app.
  • New docker-compose example
  • New kubernetes helm charts
  • Apache V2 license
  • Move to CNCF
  • Java client moved under io.vitess root
  • Query logging support to output as JSON and log to a file
  • Improved caching of topology server state at vtgate to allow queries to continue when the topo service is unavailable.
  • Optional flags to limit the time a query will wait for a connection from the pool and the total number of outstanding requests.
  • Options to redact and/or truncate sensitive queries in the debug UIs

Deprecated

  • Queryserver-config-strict-mode
  • PHP client
  • V1 toposerver scheme
Assets 2
Pre-release

@sougou sougou released this May 25, 2018 · 2952 commits to master since this release

This is the first release candidate of the 2.2 release.

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

Download

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

Upgrading

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

Changes since the 2.1.1 Release

VTGate

  • Query normalization
  • Streamlog and plan stats
  • Instant-commit for autocommit
  • Smarter pass-through of SQL statements for unsharded keyspaces or single-shard targets.
  • Pass-through support for information_schema and dual table
  • Improved master detection (if multiple vttablets declare themselves to be master)
  • Multi-column vindexes

VTTablet

  • Heartbeat
  • Can run on a separate machine from its MySQL
  • Hot row protection for DMLs
  • Per-user transaction limits

Improved RBR support

  • Vttablet allows all ‘INSERT..ON DUPLICATE KEY’ constructs if MySQL is in RBR mode.
  • JSON support for RBR filtered replication and update stream
  • A separate flag to pass-through all DMLs without rewriting them.

New Session-based protocol with support for TargetString and autocommit

  • Legacy mode flag for those transitioning to the new behavior
  • Auth plugin

MySQL protocol behaves more like mysql

  • Autocommit is on by default, and mimics MySQL for set autocommit, begin & commit commands.
  • Support of use statement with the ability to target keyspace, shard, tablet type or a combination of those.
  • Support for CLIENT_FOUND_ROWS connection flag
  • Support streaming

New constructs:

  • SET TRANSACTION_MODE=[single,multi,2pc]
  • SELECT NEXT :n VALUES FROM seq
  • SHOW VINDEXES

Messages

  • Multi-column support
  • ACL
  • New STREAM sql syntax

More query constructs

  • Scatter aggregates, order by and limit (count and offset)
  • Cross-shard delete
  • INSERT ON DUPLICATE KEY with lookup vindexes
  • INSERT IGNORE with lookup vindexes
  • Cross-shard sorting of date/time and text columns
  • UPDATE of secondary lookup vindex columns

Vindexes

  • Autocommit support for lookup vindexes
  • Write_only support which can be used for migration
  • Keyrange support
  • Null vindex

GRPC

  • Upgrade to 1.10.0, faster and more efficient
  • Allow setting of max message size for GRPC

Misc

  • VTExplain: new tool for previewing query plans end-to-end
  • Vtqueryserver: a new mysql proxy that has all the guardrails of vttablet, but can be used directly from an app.
  • New docker-compose example
  • New kubernetes helm charts
  • Apache V2 license
  • Move to CNCF
  • Java client moved under io.vitess root
  • Query logging support to output as JSON and log to a file
  • Improved caching of topology server state at vtgate to allow queries to continue when the topo service is unavailable.
  • Optional flags to limit the time a query will wait for a connection from the pool and the total number of outstanding requests.
  • Options to redact and/or truncate sensitive queries in the debug UIs

Deprecated

  • Queryserver-config-strict-mode
  • PHP client
  • V1 toposerver scheme
Assets 2
May 22, 2018
2.2 alpha release

@michael-berlin michael-berlin released this May 22, 2017 · 5462 commits to master since this release

Bugfix release for Vitess 2.1.

Changes since 2.1:

  • Fixed issue that auto inc columns for unsharded keyspaces were not working (#2804).

If you are upgrading from a version < 2.1.0, please read the "Upgrading" section from the 2.1 release notes: https://github.com/youtube/vitess/releases/tag/v2.1.0

Assets 2
You can’t perform that action at this time.