Skip to content

RFC: dynamic enable/disable of ERS by keyspace in VTOrc #17988

@timvaillancourt

Description

@timvaillancourt

Feature Description

As a user of VTOrc, I would like to be able to disable ERS on a single keyspace. Currently disabling ERS recoveries is possible using the --allow-emergency-reparent flag (restart required), or the HTTP API (need to update every instance individually), but these approaches have the drawback of affecting all keyspaces watched

 --allow-emergency-reparent
    Whether VTOrc should be allowed to run emergency reparent operation when it detects a dead primary (default true)

This RFC/feature request proposes:

  • New vtctldclient RPCs: EnableVtorcEmergencyReparent <keyspace> and DisableVtorcEmergencyReparent <keyspace> (or similar)
  • New stats to indicate which keyspaces have ERS disabled. This will be useful to avoid forgetting it is disabled using external monitoring
  • VTOrc stores the ERS enabled/disabled state and considers this on recoveries

The RFC in it's current state is implemented by this PR. Your feedback/review is appreciated! 🙇

Use Case(s)

A VTOrc user with many keyspaces per-instance that would like to disable ERS recoveries by-keyspace, without restarting VTOrcs

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions