Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: vttablet breaking changes #6345

Closed
sougou opened this issue Jun 19, 2020 · 3 comments
Closed

RFC: vttablet breaking changes #6345

sougou opened this issue Jun 19, 2020 · 3 comments
Milestone

Comments

@sougou
Copy link
Contributor

sougou commented Jun 19, 2020

This is an expansion of #6131 to mainly highlight some changes that are not backward compatible. These decisions were based on our perception of how vitess is currently used, with the hope that they should not materially affect any existing deployments.

  • init parameters will become mandatory: init_keyspace, init_shard and init_tablet_type will be made mandatory. The flow where you could issue a vtctlclient InitTablet and then invoke vttablet without those init parameters will not be supported.
  • Consequently vtctl's InitTablet and UpdateTabletAddrs will also be deprecated.
  • demote_master_type is deprecated: Now that init_tablet_type is mandatory, that value can act as the demote_master_type. There is no need for a separate flag.
  • VTTablet will publish the discovered mysql port on startup, and will not update it during the life of the process. There is no known use case where a mysql port is expected to change. So, there is no need to keep polling mysql for its port.
  • Decouple enable_replication_watcher from disable_active_reparaents. Currently, vttablet fixes replication only if enable_replication_watcher is true and disable_active_reparents is false. We will change this behavior to depend only on the disable_active_reparents flag.
@sougou
Copy link
Contributor Author

sougou commented Jun 26, 2020

It turns out that demote_master_type is still used by a few people. I'll bring the flag back into existence to allow for transition. The value will be required to match init_tablet_type. We can sunset the flag after one release.

sougou added a commit to planetscale/vitess that referenced this issue Jun 26, 2020
Ref vitessio#6345

We need to allow this flag until existing users can migrate out.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
@sougou
Copy link
Contributor Author

sougou commented Jul 24, 2020

The following were undocumented, and likely unused behaviors. These are changing in #6461:

  • Transitioning from a serving type to SPARE would go through a brief lameduck period specified by the serving_state_grace_period (default 0). This has been removed. The transition will now happen immediately even if a grace period is specified.
  • It was possible to enable health reporting and heartbeat at the same time. Performing the two at the same time was not useful. Wit the new change, enabling heartbeat automatically disables the polling mode of checking for replica health.
  • The ACL rules used to be reported on the vttablet status page. The design was using an incorrect framework. This has been removed.

@deepthi
Copy link
Member

deepthi commented Jul 27, 2020

Fixed in #6461

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants