diff --git a/go/mysql/flavor.go b/go/mysql/flavor.go index c96479f5143..c12ce52cdfa 100644 --- a/go/mysql/flavor.go +++ b/go/mysql/flavor.go @@ -75,6 +75,15 @@ type flavor interface { // primaryGTIDSet returns the current GTIDSet of a server. primaryGTIDSet(c *Conn) (GTIDSet, error) + // purgedGTIDSet returns the purged GTIDSet of a server. + purgedGTIDSet(c *Conn) (GTIDSet, error) + + // gtidMode returns the gtid mode of a server. + gtidMode(c *Conn) (string, error) + + // serverUUID returns the UUID of a server. + serverUUID(c *Conn) (string, error) + // startReplicationCommand returns the command to start the replication. startReplicationCommand() string @@ -112,6 +121,10 @@ type flavor interface { // replication on the host. resetReplicationCommands(c *Conn) []string + // resetReplicationParametersCommands returns the commands to reset + // replication parameters on the host. + resetReplicationParametersCommands(c *Conn) []string + // setReplicationPositionCommands returns the commands to set the // replication position at which the replica will resume. setReplicationPositionCommands(pos Position) []string @@ -266,6 +279,27 @@ func (c *Conn) PrimaryPosition() (Position, error) { }, nil } +// GetGTIDPurged returns the tablet's GTIDs which are purged. +func (c *Conn) GetGTIDPurged() (Position, error) { + gtidSet, err := c.flavor.purgedGTIDSet(c) + if err != nil { + return Position{}, err + } + return Position{ + GTIDSet: gtidSet, + }, nil +} + +// GetGTIDMode returns the tablet's GTID mode. Only available in MySQL flavour +func (c *Conn) GetGTIDMode() (string, error) { + return c.flavor.gtidMode(c) +} + +// GetServerUUID returns the server's UUID. +func (c *Conn) GetServerUUID() (string, error) { + return c.flavor.serverUUID(c) +} + // PrimaryFilePosition returns the current primary's file based replication position. func (c *Conn) PrimaryFilePosition() (Position, error) { filePosFlavor := filePosFlavor{} @@ -339,6 +373,12 @@ func (c *Conn) ResetReplicationCommands() []string { return c.flavor.resetReplicationCommands(c) } +// ResetReplicationParametersCommands returns the commands to reset +// replication parameters on the host. +func (c *Conn) ResetReplicationParametersCommands() []string { + return c.flavor.resetReplicationParametersCommands(c) +} + // SetReplicationPositionCommands returns the commands to set the // replication position at which the replica will resume // when it is later reparented with SetReplicationSourceCommand. @@ -402,7 +442,12 @@ func parseReplicationStatus(fields map[string]string) ReplicationStatus { // The field names in the map are identical to what we receive from the database // Hence the names still contain Master status := ReplicationStatus{ - SourceHost: fields["Master_Host"], + SourceHost: fields["Master_Host"], + SourceUser: fields["Master_User"], + SSLAllowed: fields["Master_SSL_Allowed"] == "Yes", + AutoPosition: fields["Auto_Position"] == "1", + UsingGTID: fields["Using_Gtid"] != "No" && fields["Using_Gtid"] != "", + HasReplicationFilters: (fields["Replicate_Do_DB"] != "") || (fields["Replicate_Ignore_DB"] != "") || (fields["Replicate_Do_Table"] != "") || (fields["Replicate_Ignore_Table"] != "") || (fields["Replicate_Wild_Do_Table"] != "") || (fields["Replicate_Wild_Ignore_Table"] != ""), // These fields are returned from the underlying DB and cannot be renamed IOState: ReplicationStatusToState(fields["Slave_IO_Running"]), LastIOError: fields["Last_IO_Error"], @@ -424,6 +469,8 @@ func parseReplicationStatus(fields map[string]string) ReplicationStatus { } parseUint, _ = strconv.ParseUint(fields["Master_Server_Id"], 10, 0) status.SourceServerID = uint(parseUint) + parseUint, _ = strconv.ParseUint(fields["SQL_Delay"], 10, 0) + status.SQLDelay = uint(parseUint) executedPosStr := fields["Exec_Master_Log_Pos"] file := fields["Relay_Master_Log_File"] @@ -442,12 +489,24 @@ func parseReplicationStatus(fields map[string]string) ReplicationStatus { if file != "" && readPosStr != "" { fileRelayPos, err := strconv.Atoi(readPosStr) if err == nil { - status.FileRelayLogPosition.GTIDSet = filePosGTID{ + status.RelayLogSourceBinlogEquivalentPosition.GTIDSet = filePosGTID{ file: file, pos: fileRelayPos, } } } + + relayPosStr := fields["Relay_Log_Pos"] + file = fields["Relay_Log_File"] + if file != "" && relayPosStr != "" { + relayFilePos, err := strconv.Atoi(relayPosStr) + if err == nil { + status.RelayLogFilePosition.GTIDSet = filePosGTID{ + file: file, + pos: relayFilePos, + } + } + } return status } diff --git a/go/mysql/flavor_filepos.go b/go/mysql/flavor_filepos.go index 368cfd6ede2..a66af7f9f3d 100644 --- a/go/mysql/flavor_filepos.go +++ b/go/mysql/flavor_filepos.go @@ -17,13 +17,15 @@ limitations under the License. package mysql import ( + "context" "fmt" "io" "strconv" "strings" "time" - "context" + vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" + "vitess.io/vitess/go/vt/vterrors" ) type filePosFlavor struct { @@ -62,6 +64,36 @@ func (flv *filePosFlavor) primaryGTIDSet(c *Conn) (GTIDSet, error) { }, nil } +// purgedGTIDSet is part of the Flavor interface. +func (flv *filePosFlavor) purgedGTIDSet(c *Conn) (GTIDSet, error) { + return nil, nil +} + +// gtidMode is part of the Flavor interface. +func (flv *filePosFlavor) gtidMode(c *Conn) (string, error) { + qr, err := c.ExecuteFetch("select @@global.gtid_mode", 1, false) + if err != nil { + return "", err + } + if len(qr.Rows) != 1 || len(qr.Rows[0]) != 1 { + return "", vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected result format for gtid_mode: %#v", qr) + } + return qr.Rows[0][0].ToString(), nil +} + +// serverUUID is part of the Flavor interface. +func (flv *filePosFlavor) serverUUID(c *Conn) (string, error) { + // keep @@global as lowercase, as some servers like the Ripple binlog server only honors a lowercase `global` value + qr, err := c.ExecuteFetch("SELECT @@global.server_uuid", 1, false) + if err != nil { + return "", err + } + if len(qr.Rows) != 1 || len(qr.Rows[0]) != 1 { + return "", vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected result format for server_uuid: %#v", qr) + } + return qr.Rows[0][0].ToString(), nil +} + func (flv *filePosFlavor) startReplicationCommand() string { return "unsupported" } @@ -183,6 +215,13 @@ func (flv *filePosFlavor) resetReplicationCommands(c *Conn) []string { } } +// resetReplicationParametersCommands is part of the Flavor interface. +func (flv *filePosFlavor) resetReplicationParametersCommands(c *Conn) []string { + return []string{ + "unsupported", + } +} + // setReplicationPositionCommands is part of the Flavor interface. func (flv *filePosFlavor) setReplicationPositionCommands(pos Position) []string { return []string{ @@ -219,7 +258,7 @@ func parseFilePosReplicationStatus(resultMap map[string]string) (ReplicationStat status := parseReplicationStatus(resultMap) status.Position = status.FilePosition - status.RelayLogPosition = status.FileRelayLogPosition + status.RelayLogPosition = status.RelayLogSourceBinlogEquivalentPosition return status, nil } diff --git a/go/mysql/flavor_filepos_test.go b/go/mysql/flavor_filepos_test.go index 8d7ea918096..be60f6a95a6 100644 --- a/go/mysql/flavor_filepos_test.go +++ b/go/mysql/flavor_filepos_test.go @@ -40,22 +40,26 @@ func TestFilePosRetrieveExecutedPosition(t *testing.T) { "Relay_Master_Log_File": "master-bin.000002", "Read_Master_Log_Pos": "1308", "Master_Log_File": "master-bin.000003", + "Relay_Log_Pos": "1309", + "Relay_Log_File": "relay-bin.000004", } want := ReplicationStatus{ - Position: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, - RelayLogPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, - FilePosition: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, - FileRelayLogPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + Position: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, + RelayLogPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + FilePosition: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, + RelayLogSourceBinlogEquivalentPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + RelayLogFilePosition: Position{GTIDSet: filePosGTID{file: "relay-bin.000004", pos: 1309}}, } got, err := parseFilePosReplicationStatus(resultMap) require.NoError(t, err) assert.Equalf(t, got.Position.GTIDSet, want.Position.GTIDSet, "got Position: %v; want Position: %v", got.Position.GTIDSet, want.Position.GTIDSet) assert.Equalf(t, got.RelayLogPosition.GTIDSet, want.RelayLogPosition.GTIDSet, "got RelayLogPosition: %v; want RelayLogPosition: %v", got.RelayLogPosition.GTIDSet, want.RelayLogPosition.GTIDSet) + assert.Equalf(t, got.RelayLogFilePosition.GTIDSet, want.RelayLogFilePosition.GTIDSet, "got RelayLogFilePosition: %v; want RelayLogFilePosition: %v", got.RelayLogFilePosition.GTIDSet, want.RelayLogFilePosition.GTIDSet) assert.Equalf(t, got.FilePosition.GTIDSet, want.FilePosition.GTIDSet, "got FilePosition: %v; want FilePosition: %v", got.FilePosition.GTIDSet, want.FilePosition.GTIDSet) - assert.Equalf(t, got.FileRelayLogPosition.GTIDSet, want.FileRelayLogPosition.GTIDSet, "got FileRelayLogPosition: %v; want FileRelayLogPosition: %v", got.FileRelayLogPosition.GTIDSet, want.FileRelayLogPosition.GTIDSet) + assert.Equalf(t, got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, want.RelayLogSourceBinlogEquivalentPosition.GTIDSet, "got RelayLogSourceBinlogEquivalentPosition: %v; want RelayLogSourceBinlogEquivalentPosition: %v", got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, want.RelayLogSourceBinlogEquivalentPosition.GTIDSet) assert.Equalf(t, got.Position.GTIDSet, got.FilePosition.GTIDSet, "FilePosition and Position don't match when they should for the FilePos flavor") - assert.Equalf(t, got.RelayLogPosition.GTIDSet, got.FileRelayLogPosition.GTIDSet, "RelayLogPosition and FileRelayLogPosition don't match when they should for the FilePos flavor") + assert.Equalf(t, got.RelayLogPosition.GTIDSet, got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, "RelayLogPosition and RelayLogSourceBinlogEquivalentPosition don't match when they should for the FilePos flavor") } func TestFilePosShouldGetPosition(t *testing.T) { diff --git a/go/mysql/flavor_mariadb.go b/go/mysql/flavor_mariadb.go index c85b0609269..5235b4f4357 100644 --- a/go/mysql/flavor_mariadb.go +++ b/go/mysql/flavor_mariadb.go @@ -53,6 +53,21 @@ func (mariadbFlavor) primaryGTIDSet(c *Conn) (GTIDSet, error) { return parseMariadbGTIDSet(qr.Rows[0][0].ToString()) } +// purgedGTIDSet is part of the Flavor interface. +func (mariadbFlavor) purgedGTIDSet(c *Conn) (GTIDSet, error) { + return nil, nil +} + +// serverUUID is part of the Flavor interface. +func (mariadbFlavor) serverUUID(c *Conn) (string, error) { + return "", nil +} + +// gtidMode is part of the Flavor interface. +func (mariadbFlavor) gtidMode(c *Conn) (string, error) { + return "", nil +} + func (mariadbFlavor) startReplicationUntilAfter(pos Position) string { return fmt.Sprintf("START SLAVE UNTIL master_gtid_pos = \"%s\"", pos) } @@ -130,6 +145,14 @@ func (mariadbFlavor) resetReplicationCommands(c *Conn) []string { return resetCommands } +// resetReplicationParametersCommands is part of the Flavor interface. +func (mariadbFlavor) resetReplicationParametersCommands(c *Conn) []string { + resetCommands := []string{ + "RESET SLAVE ALL", // "ALL" makes it forget source host:port. + } + return resetCommands +} + // setReplicationPositionCommands is part of the Flavor interface. func (mariadbFlavor) setReplicationPositionCommands(pos Position) []string { return []string{ diff --git a/go/mysql/flavor_mariadb_test.go b/go/mysql/flavor_mariadb_test.go index 5f8dc649dcf..0198b8095de 100644 --- a/go/mysql/flavor_mariadb_test.go +++ b/go/mysql/flavor_mariadb_test.go @@ -99,16 +99,20 @@ func TestMariadbRetrieveFileBasedPositions(t *testing.T) { "Read_Master_Log_Pos": "1308", "Master_Log_File": "master-bin.000003", "Gtid_Slave_Pos": "0-101-2320", + "Relay_Log_Pos": "1309", + "Relay_Log_File": "relay-bin.000004", } want := ReplicationStatus{ - FilePosition: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, - FileRelayLogPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + FilePosition: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, + RelayLogSourceBinlogEquivalentPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + RelayLogFilePosition: Position{GTIDSet: filePosGTID{file: "relay-bin.000004", pos: 1309}}, } got, err := parseMariadbReplicationStatus(resultMap) require.NoError(t, err) + assert.Equalf(t, got.RelayLogFilePosition.GTIDSet, want.RelayLogFilePosition.GTIDSet, "got RelayLogFilePosition: %v; want RelayLogFilePosition: %v", got.RelayLogFilePosition.GTIDSet, want.RelayLogFilePosition.GTIDSet) assert.Equal(t, got.FilePosition.GTIDSet, want.FilePosition.GTIDSet, fmt.Sprintf("got FilePosition: %v; want FilePosition: %v", got.FilePosition.GTIDSet, want.FilePosition.GTIDSet)) - assert.Equal(t, got.FileRelayLogPosition.GTIDSet, want.FileRelayLogPosition.GTIDSet, fmt.Sprintf("got FileRelayLogPosition: %v; want FileRelayLogPosition: %v", got.FileRelayLogPosition.GTIDSet, want.FileRelayLogPosition.GTIDSet)) + assert.Equal(t, got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, want.RelayLogSourceBinlogEquivalentPosition.GTIDSet, fmt.Sprintf("got RelayLogSourceBinlogEquivalentPosition: %v; want RelayLogSourceBinlogEquivalentPosition: %v", got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, want.RelayLogSourceBinlogEquivalentPosition.GTIDSet)) } func TestMariadbShouldGetNilRelayLogPosition(t *testing.T) { diff --git a/go/mysql/flavor_mysql.go b/go/mysql/flavor_mysql.go index 1083f9ba777..8e67b803cf8 100644 --- a/go/mysql/flavor_mysql.go +++ b/go/mysql/flavor_mysql.go @@ -56,6 +56,44 @@ func (mysqlFlavor) primaryGTIDSet(c *Conn) (GTIDSet, error) { return parseMysql56GTIDSet(qr.Rows[0][0].ToString()) } +// purgedGTIDSet is part of the Flavor interface. +func (mysqlFlavor) purgedGTIDSet(c *Conn) (GTIDSet, error) { + // keep @@global as lowercase, as some servers like the Ripple binlog server only honors a lowercase `global` value + qr, err := c.ExecuteFetch("SELECT @@global.gtid_purged", 1, false) + if err != nil { + return nil, err + } + if len(qr.Rows) != 1 || len(qr.Rows[0]) != 1 { + return nil, vterrors.Errorf(vtrpc.Code_INTERNAL, "unexpected result format for gtid_purged: %#v", qr) + } + return parseMysql56GTIDSet(qr.Rows[0][0].ToString()) +} + +// serverUUID is part of the Flavor interface. +func (mysqlFlavor) serverUUID(c *Conn) (string, error) { + // keep @@global as lowercase, as some servers like the Ripple binlog server only honors a lowercase `global` value + qr, err := c.ExecuteFetch("SELECT @@global.server_uuid", 1, false) + if err != nil { + return "", err + } + if len(qr.Rows) != 1 || len(qr.Rows[0]) != 1 { + return "", vterrors.Errorf(vtrpc.Code_INTERNAL, "unexpected result format for server_uuid: %#v", qr) + } + return qr.Rows[0][0].ToString(), nil +} + +// gtidMode is part of the Flavor interface. +func (mysqlFlavor) gtidMode(c *Conn) (string, error) { + qr, err := c.ExecuteFetch("select @@global.gtid_mode", 1, false) + if err != nil { + return "", err + } + if len(qr.Rows) != 1 || len(qr.Rows[0]) != 1 { + return "", vterrors.Errorf(vtrpc.Code_INTERNAL, "unexpected result format for gtid_mode: %#v", qr) + } + return qr.Rows[0][0].ToString(), nil +} + func (mysqlFlavor) startReplicationCommand() string { return "START SLAVE" } @@ -117,6 +155,14 @@ func (mysqlFlavor) resetReplicationCommands(c *Conn) []string { return resetCommands } +// resetReplicationParametersCommands is part of the Flavor interface. +func (mysqlFlavor) resetReplicationParametersCommands(c *Conn) []string { + resetCommands := []string{ + "RESET SLAVE ALL", // "ALL" makes it forget source host:port. + } + return resetCommands +} + // setReplicationPositionCommands is part of the Flavor interface. func (mysqlFlavor) setReplicationPositionCommands(pos Position) []string { return []string{ diff --git a/go/mysql/flavor_mysql_test.go b/go/mysql/flavor_mysql_test.go index 9bceae8d118..bf390427e61 100644 --- a/go/mysql/flavor_mysql_test.go +++ b/go/mysql/flavor_mysql_test.go @@ -96,16 +96,20 @@ func TestMysqlRetrieveFileBasedPositions(t *testing.T) { "Relay_Master_Log_File": "master-bin.000002", "Read_Master_Log_Pos": "1308", "Master_Log_File": "master-bin.000003", + "Relay_Log_Pos": "1309", + "Relay_Log_File": "relay-bin.000004", } want := ReplicationStatus{ - FilePosition: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, - FileRelayLogPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + FilePosition: Position{GTIDSet: filePosGTID{file: "master-bin.000002", pos: 1307}}, + RelayLogSourceBinlogEquivalentPosition: Position{GTIDSet: filePosGTID{file: "master-bin.000003", pos: 1308}}, + RelayLogFilePosition: Position{GTIDSet: filePosGTID{file: "relay-bin.000004", pos: 1309}}, } got, err := parseMysqlReplicationStatus(resultMap) require.NoError(t, err) assert.Equalf(t, got.FilePosition.GTIDSet, want.FilePosition.GTIDSet, "got FilePosition: %v; want FilePosition: %v", got.FilePosition.GTIDSet, want.FilePosition.GTIDSet) - assert.Equalf(t, got.FileRelayLogPosition.GTIDSet, want.FileRelayLogPosition.GTIDSet, "got FileRelayLogPosition: %v; want FileRelayLogPosition: %v", got.FileRelayLogPosition.GTIDSet, want.FileRelayLogPosition.GTIDSet) + assert.Equalf(t, got.RelayLogFilePosition.GTIDSet, want.RelayLogFilePosition.GTIDSet, "got RelayLogFilePosition: %v; want RelayLogFilePosition: %v", got.RelayLogFilePosition.GTIDSet, want.RelayLogFilePosition.GTIDSet) + assert.Equalf(t, got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, want.RelayLogSourceBinlogEquivalentPosition.GTIDSet, "got RelayLogSourceBinlogEquivalentPosition: %v; want RelayLogSourceBinlogEquivalentPosition: %v", got.RelayLogSourceBinlogEquivalentPosition.GTIDSet, want.RelayLogSourceBinlogEquivalentPosition.GTIDSet) } func TestMysqlShouldGetRelayLogPosition(t *testing.T) { diff --git a/go/mysql/flavor_mysqlgr.go b/go/mysql/flavor_mysqlgr.go index cad9097cbca..9a125dd4617 100644 --- a/go/mysql/flavor_mysqlgr.go +++ b/go/mysql/flavor_mysqlgr.go @@ -93,6 +93,11 @@ func (mysqlGRFlavor) resetReplicationCommands(c *Conn) []string { return []string{} } +// resetReplicationParametersCommands is part of the Flavor interface. +func (mysqlGRFlavor) resetReplicationParametersCommands(c *Conn) []string { + return []string{} +} + // setReplicationPositionCommands is disabled in mysqlGRFlavor func (mysqlGRFlavor) setReplicationPositionCommands(pos Position) []string { return []string{} diff --git a/go/mysql/mariadb_gtid.go b/go/mysql/mariadb_gtid.go index 1e8de56114e..8ff68a0b988 100644 --- a/go/mysql/mariadb_gtid.go +++ b/go/mysql/mariadb_gtid.go @@ -67,6 +67,10 @@ func parseMariadbGTIDSet(s string) (GTIDSet, error) { gtidStrings := strings.Split(s, ",") gtidSet := make(MariadbGTIDSet, len(gtidStrings)) for _, gtidString := range gtidStrings { + gtidString = strings.TrimSpace(gtidString) + if gtidString == "" { + continue + } gtid, err := parseMariadbGTID(gtidString) if err != nil { return nil, err diff --git a/go/mysql/replication_status.go b/go/mysql/replication_status.go index 689992ce822..ae51ecbe036 100644 --- a/go/mysql/replication_status.go +++ b/go/mysql/replication_status.go @@ -25,6 +25,9 @@ import ( // ReplicationStatus holds replication information from SHOW SLAVE STATUS. type ReplicationStatus struct { + // Position is the current position of the replica. For GTID replication implementations + // it is the executed GTID set. For file replication implementation, it is same as + // FilePosition Position Position // RelayLogPosition is the Position that the replica would be at if it // were to finish executing everything that's currently in its relay log. @@ -32,10 +35,18 @@ type ReplicationStatus struct { // in which case RelayLogPosition.IsZero() will be true. // If ReplicationLagUnknown is true then we should not rely on the seconds // behind value and we can instead try to calculate the lag ourselves when - // appropriate. - RelayLogPosition Position - FilePosition Position - FileRelayLogPosition Position + // appropriate. For MySQL GTID replication implementation it is the union of + // executed GTID set and retrieved GTID set. For file replication implementation, + // it is same as RelayLogSourceBinlogEquivalentPosition + RelayLogPosition Position + // FilePosition stores the position of the source tablets binary log + // upto which the SQL thread of the replica has run. + FilePosition Position + // RelayLogSourceBinlogEquivalentPosition stores the position of the source tablets binary log + // upto which the IO thread has read and added to the relay log + RelayLogSourceBinlogEquivalentPosition Position + // RelayLogFilePosition stores the position in the relay log file + RelayLogFilePosition Position SourceServerID uint IOState ReplicationState LastIOError string @@ -45,8 +56,14 @@ type ReplicationStatus struct { ReplicationLagUnknown bool SourceHost string SourcePort int + SourceUser string ConnectRetry int SourceUUID SID + SQLDelay uint + AutoPosition bool + UsingGTID bool + HasReplicationFilters bool + SSLAllowed bool } // Running returns true if both the IO and SQL threads are running. @@ -76,20 +93,28 @@ func (s *ReplicationStatus) SQLHealthy() bool { // ReplicationStatusToProto translates a Status to proto3. func ReplicationStatusToProto(s ReplicationStatus) *replicationdatapb.Status { replstatuspb := &replicationdatapb.Status{ - Position: EncodePosition(s.Position), - RelayLogPosition: EncodePosition(s.RelayLogPosition), - FilePosition: EncodePosition(s.FilePosition), - FileRelayLogPosition: EncodePosition(s.FileRelayLogPosition), - SourceServerId: uint32(s.SourceServerID), - ReplicationLagSeconds: uint32(s.ReplicationLagSeconds), - SourceHost: s.SourceHost, - SourcePort: int32(s.SourcePort), - ConnectRetry: int32(s.ConnectRetry), - SourceUuid: s.SourceUUID.String(), - IoState: int32(s.IOState), - LastIoError: s.LastIOError, - SqlState: int32(s.SQLState), - LastSqlError: s.LastSQLError, + Position: EncodePosition(s.Position), + RelayLogPosition: EncodePosition(s.RelayLogPosition), + FilePosition: EncodePosition(s.FilePosition), + RelayLogSourceBinlogEquivalentPosition: EncodePosition(s.RelayLogSourceBinlogEquivalentPosition), + SourceServerId: uint32(s.SourceServerID), + ReplicationLagSeconds: uint32(s.ReplicationLagSeconds), + ReplicationLagUnknown: s.ReplicationLagUnknown, + SqlDelay: uint32(s.SQLDelay), + RelayLogFilePosition: EncodePosition(s.RelayLogFilePosition), + SourceHost: s.SourceHost, + SourceUser: s.SourceUser, + SourcePort: int32(s.SourcePort), + ConnectRetry: int32(s.ConnectRetry), + SourceUuid: s.SourceUUID.String(), + IoState: int32(s.IOState), + LastIoError: s.LastIOError, + SqlState: int32(s.SQLState), + LastSqlError: s.LastSQLError, + SslAllowed: s.SSLAllowed, + HasReplicationFilters: s.HasReplicationFilters, + AutoPosition: s.AutoPosition, + UsingGtid: s.UsingGTID, } // We need to be able to send gRPC response messages from v14 and newer tablets to @@ -122,9 +147,13 @@ func ProtoToReplicationStatus(s *replicationdatapb.Status) ReplicationStatus { if err != nil { panic(vterrors.Wrapf(err, "cannot decode FilePosition")) } - fileRelayPos, err := DecodePosition(s.FileRelayLogPosition) + fileRelayPos, err := DecodePosition(s.RelayLogSourceBinlogEquivalentPosition) if err != nil { - panic(vterrors.Wrapf(err, "cannot decode FileRelayLogPosition")) + panic(vterrors.Wrapf(err, "cannot decode RelayLogSourceBinlogEquivalentPosition")) + } + relayFilePos, err := DecodePosition(s.RelayLogFilePosition) + if err != nil { + panic(vterrors.Wrapf(err, "cannot decode RelayLogFilePosition")) } var sid SID if s.SourceUuid != "" { @@ -134,20 +163,28 @@ func ProtoToReplicationStatus(s *replicationdatapb.Status) ReplicationStatus { } } replstatus := ReplicationStatus{ - Position: pos, - RelayLogPosition: relayPos, - FilePosition: filePos, - FileRelayLogPosition: fileRelayPos, - SourceServerID: uint(s.SourceServerId), - ReplicationLagSeconds: uint(s.ReplicationLagSeconds), - SourceHost: s.SourceHost, - SourcePort: int(s.SourcePort), - ConnectRetry: int(s.ConnectRetry), - SourceUUID: sid, - IOState: ReplicationState(s.IoState), - LastIOError: s.LastIoError, - SQLState: ReplicationState(s.SqlState), - LastSQLError: s.LastSqlError, + Position: pos, + RelayLogPosition: relayPos, + FilePosition: filePos, + RelayLogSourceBinlogEquivalentPosition: fileRelayPos, + RelayLogFilePosition: relayFilePos, + SourceServerID: uint(s.SourceServerId), + ReplicationLagSeconds: uint(s.ReplicationLagSeconds), + ReplicationLagUnknown: s.ReplicationLagUnknown, + SQLDelay: uint(s.SqlDelay), + SourceHost: s.SourceHost, + SourceUser: s.SourceUser, + SourcePort: int(s.SourcePort), + ConnectRetry: int(s.ConnectRetry), + SourceUUID: sid, + IOState: ReplicationState(s.IoState), + LastIOError: s.LastIoError, + SQLState: ReplicationState(s.SqlState), + LastSQLError: s.LastSqlError, + SSLAllowed: s.SslAllowed, + HasReplicationFilters: s.HasReplicationFilters, + AutoPosition: s.AutoPosition, + UsingGTID: s.UsingGtid, } // We need to be able to process gRPC response messages from v13 and older tablets. diff --git a/go/test/endtoend/reparent/newfeaturetest/reparent_test.go b/go/test/endtoend/reparent/newfeaturetest/reparent_test.go index 73fec548068..6b89f66d6a2 100644 --- a/go/test/endtoend/reparent/newfeaturetest/reparent_test.go +++ b/go/test/endtoend/reparent/newfeaturetest/reparent_test.go @@ -18,12 +18,15 @@ package newfeaturetest import ( "context" + "strconv" "testing" "time" + "vitess.io/vitess/go/mysql" "vitess.io/vitess/go/test/endtoend/cluster" "vitess.io/vitess/go/test/endtoend/reparent/utils" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -120,3 +123,94 @@ func TestReplicationStopped(t *testing.T) { // Confirm that tablets[2] which had replication stopped initially still has its replication stopped utils.CheckReplicationStatus(context.Background(), t, tablets[2], false, false) } + +// TestFullStatus tests that the RPC FullStatus works as intended. +func TestFullStatus(t *testing.T) { + defer cluster.PanicHandler(t) + clusterInstance := utils.SetupReparentCluster(t, true) + defer utils.TeardownCluster(clusterInstance) + tablets := clusterInstance.Keyspaces[0].Shards[0].Vttablets + utils.ConfirmReplication(t, tablets[0], []*cluster.Vttablet{tablets[1], tablets[2], tablets[3]}) + + // Check that full status gives the correct result for a primary tablet + primaryStatus, err := utils.TmcFullStatus(context.Background(), tablets[0]) + require.NoError(t, err) + assert.NotEmpty(t, primaryStatus.ServerUuid) + assert.NotEmpty(t, primaryStatus.ServerId) + // For a primary tablet there is no replication status + assert.Nil(t, primaryStatus.ReplicationStatus) + assert.Contains(t, primaryStatus.PrimaryStatus.String(), "vt-0000000101-bin") + assert.Equal(t, primaryStatus.GtidPurged, "MySQL56/") + assert.False(t, primaryStatus.ReadOnly) + assert.True(t, primaryStatus.SemiSyncPrimaryEnabled) + assert.True(t, primaryStatus.SemiSyncReplicaEnabled) + assert.True(t, primaryStatus.SemiSyncPrimaryStatus) + assert.False(t, primaryStatus.SemiSyncReplicaStatus) + assert.EqualValues(t, 3, primaryStatus.SemiSyncPrimaryClients) + assert.EqualValues(t, 1000000000000000000, primaryStatus.SemiSyncPrimaryTimeout) + assert.EqualValues(t, 1, primaryStatus.SemiSyncWaitForReplicaCount) + assert.Equal(t, "ROW", primaryStatus.BinlogFormat) + assert.Equal(t, "FULL", primaryStatus.BinlogRowImage) + assert.Equal(t, "ON", primaryStatus.GtidMode) + assert.True(t, primaryStatus.LogReplicaUpdates) + assert.True(t, primaryStatus.LogBinEnabled) + assert.Contains(t, primaryStatus.Version, "5.7") + assert.NotEmpty(t, primaryStatus.VersionComment) + + // Check that full status gives the correct result for a replica tablet + replicaStatus, err := utils.TmcFullStatus(context.Background(), tablets[1]) + require.NoError(t, err) + assert.NotEmpty(t, replicaStatus.ServerUuid) + assert.NotEmpty(t, replicaStatus.ServerId) + assert.Contains(t, replicaStatus.ReplicationStatus.Position, "MySQL56/"+replicaStatus.ReplicationStatus.SourceUuid) + assert.EqualValues(t, mysql.ReplicationStateRunning, replicaStatus.ReplicationStatus.IoState) + assert.EqualValues(t, mysql.ReplicationStateRunning, replicaStatus.ReplicationStatus.SqlState) + assert.Equal(t, fileNameFromPosition(replicaStatus.ReplicationStatus.FilePosition), fileNameFromPosition(primaryStatus.PrimaryStatus.FilePosition)) + assert.LessOrEqual(t, rowNumberFromPosition(replicaStatus.ReplicationStatus.FilePosition), rowNumberFromPosition(primaryStatus.PrimaryStatus.FilePosition)) + assert.Equal(t, replicaStatus.ReplicationStatus.RelayLogSourceBinlogEquivalentPosition, primaryStatus.PrimaryStatus.FilePosition) + assert.Contains(t, replicaStatus.ReplicationStatus.RelayLogFilePosition, "vt-0000000102-relay") + assert.Equal(t, replicaStatus.ReplicationStatus.Position, primaryStatus.PrimaryStatus.Position) + assert.Equal(t, replicaStatus.ReplicationStatus.RelayLogPosition, primaryStatus.PrimaryStatus.Position) + assert.Empty(t, replicaStatus.ReplicationStatus.LastIoError) + assert.Empty(t, replicaStatus.ReplicationStatus.LastSqlError) + assert.Equal(t, replicaStatus.ReplicationStatus.SourceUuid, primaryStatus.ServerUuid) + assert.EqualValues(t, 0, replicaStatus.ReplicationStatus.ReplicationLagSeconds) + assert.False(t, replicaStatus.ReplicationStatus.ReplicationLagUnknown) + assert.EqualValues(t, 0, replicaStatus.ReplicationStatus.SqlDelay) + assert.False(t, replicaStatus.ReplicationStatus.SslAllowed) + assert.False(t, replicaStatus.ReplicationStatus.HasReplicationFilters) + assert.False(t, replicaStatus.ReplicationStatus.UsingGtid) + assert.True(t, replicaStatus.ReplicationStatus.AutoPosition) + assert.Equal(t, replicaStatus.ReplicationStatus.SourceHost, utils.Hostname) + assert.EqualValues(t, replicaStatus.ReplicationStatus.SourcePort, tablets[0].MySQLPort) + assert.Equal(t, replicaStatus.ReplicationStatus.SourceUser, "vt_repl") + assert.Contains(t, replicaStatus.PrimaryStatus.String(), "vt-0000000102-bin") + assert.Equal(t, replicaStatus.GtidPurged, "MySQL56/") + assert.True(t, replicaStatus.ReadOnly) + assert.False(t, replicaStatus.SemiSyncPrimaryEnabled) + assert.True(t, replicaStatus.SemiSyncReplicaEnabled) + assert.False(t, replicaStatus.SemiSyncPrimaryStatus) + assert.True(t, replicaStatus.SemiSyncReplicaStatus) + assert.EqualValues(t, 0, replicaStatus.SemiSyncPrimaryClients) + assert.EqualValues(t, 1000000000000000000, replicaStatus.SemiSyncPrimaryTimeout) + assert.EqualValues(t, 1, replicaStatus.SemiSyncWaitForReplicaCount) + assert.Equal(t, "ROW", replicaStatus.BinlogFormat) + assert.Equal(t, "FULL", replicaStatus.BinlogRowImage) + assert.Equal(t, "ON", replicaStatus.GtidMode) + assert.True(t, replicaStatus.LogReplicaUpdates) + assert.True(t, replicaStatus.LogBinEnabled) + assert.Contains(t, replicaStatus.Version, "5.7") + assert.NotEmpty(t, replicaStatus.VersionComment) +} + +// fileNameFromPosition gets the file name from the position +func fileNameFromPosition(pos string) string { + return pos[0 : len(pos)-4] +} + +// rowNumberFromPosition gets the row number from the position +func rowNumberFromPosition(pos string) int { + rowNumStr := pos[len(pos)-4:] + rowNum, _ := strconv.Atoi(rowNumStr) + return rowNum +} diff --git a/go/test/endtoend/reparent/plannedreparent/reparent_test.go b/go/test/endtoend/reparent/plannedreparent/reparent_test.go index 74749f21c7e..fae5d630c8b 100644 --- a/go/test/endtoend/reparent/plannedreparent/reparent_test.go +++ b/go/test/endtoend/reparent/plannedreparent/reparent_test.go @@ -394,6 +394,11 @@ func TestReplicationStatus(t *testing.T) { ioThread, sqlThread := utils.ReplicationThreadsStatus(t, replicationStatus, clusterInstance.VtctlMajorVersion, clusterInstance.VtTabletMajorVersion) require.True(t, ioThread) require.False(t, sqlThread) + // Assert that the 4 file log positions are non-empty + assert.NotEmpty(t, replicationStatus.RelayLogSourceBinlogEquivalentPosition) + assert.NotEmpty(t, replicationStatus.FilePosition) + assert.NotEmpty(t, replicationStatus.Position) + assert.NotEmpty(t, replicationStatus.RelayLogPosition) // Stop replication on tablets[1] and verify that both the threads are reported as not running err = clusterInstance.VtctlclientProcess.ExecuteCommand("ExecuteFetchAsDba", tablets[1].Alias, `STOP SLAVE;`) @@ -402,6 +407,11 @@ func TestReplicationStatus(t *testing.T) { ioThread, sqlThread = utils.ReplicationThreadsStatus(t, replicationStatus, clusterInstance.VtctlMajorVersion, clusterInstance.VtTabletMajorVersion) require.False(t, ioThread) require.False(t, sqlThread) + // Assert that the 4 file log positions are non-empty + assert.NotEmpty(t, replicationStatus.RelayLogSourceBinlogEquivalentPosition) + assert.NotEmpty(t, replicationStatus.FilePosition) + assert.NotEmpty(t, replicationStatus.Position) + assert.NotEmpty(t, replicationStatus.RelayLogPosition) // Start replication on tablets[1] and verify that both the threads are reported as running err = clusterInstance.VtctlclientProcess.ExecuteCommand("ExecuteFetchAsDba", tablets[1].Alias, `START SLAVE;`) @@ -410,6 +420,11 @@ func TestReplicationStatus(t *testing.T) { ioThread, sqlThread = utils.ReplicationThreadsStatus(t, replicationStatus, clusterInstance.VtctlMajorVersion, clusterInstance.VtTabletMajorVersion) require.True(t, ioThread) require.True(t, sqlThread) + // Assert that the 4 file log positions are non-empty + assert.NotEmpty(t, replicationStatus.RelayLogSourceBinlogEquivalentPosition) + assert.NotEmpty(t, replicationStatus.FilePosition) + assert.NotEmpty(t, replicationStatus.Position) + assert.NotEmpty(t, replicationStatus.RelayLogPosition) // Stop IO_THREAD on tablets[1] and verify that the IO thread is read to be stopped and SQL thread is running err = clusterInstance.VtctlclientProcess.ExecuteCommand("ExecuteFetchAsDba", tablets[1].Alias, `STOP SLAVE IO_THREAD;`) @@ -418,4 +433,9 @@ func TestReplicationStatus(t *testing.T) { ioThread, sqlThread = utils.ReplicationThreadsStatus(t, replicationStatus, clusterInstance.VtctlMajorVersion, clusterInstance.VtTabletMajorVersion) require.False(t, ioThread) require.True(t, sqlThread) + // Assert that the 4 file log positions are non-empty + assert.NotEmpty(t, replicationStatus.RelayLogSourceBinlogEquivalentPosition) + assert.NotEmpty(t, replicationStatus.FilePosition) + assert.NotEmpty(t, replicationStatus.Position) + assert.NotEmpty(t, replicationStatus.RelayLogPosition) } diff --git a/go/test/endtoend/reparent/utils/utils.go b/go/test/endtoend/reparent/utils/utils.go index e56e734ea8d..255a663b749 100644 --- a/go/test/endtoend/reparent/utils/utils.go +++ b/go/test/endtoend/reparent/utils/utils.go @@ -28,6 +28,8 @@ import ( "testing" "time" + tmc "vitess.io/vitess/go/vt/vttablet/grpctmclient" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -793,3 +795,18 @@ func ReplicationThreadsStatus(t *testing.T, status *replicationdatapb.Status, vt } return ioThread, sqlThread } + +// TmcFullStatus retuns the result of the TabletManagerClient RPC FullStatus +func TmcFullStatus(ctx context.Context, tablet *cluster.Vttablet) (*replicationdatapb.FullStatus, error) { + // create tablet manager client + tmClient := tmc.NewClient() + + vttablet := getTablet(tablet.GrpcPort) + return tmClient.FullStatus(ctx, vttablet) +} + +func getTablet(tabletGrpcPort int) *topodatapb.Tablet { + portMap := make(map[string]int32) + portMap["grpc"] = int32(tabletGrpcPort) + return &topodatapb.Tablet{Hostname: Hostname, PortMap: portMap} +} diff --git a/go/test/endtoend/tabletmanager/main_test.go b/go/test/endtoend/tabletmanager/main_test.go index 50d64f356f7..7dcfa4ea1a5 100644 --- a/go/test/endtoend/tabletmanager/main_test.go +++ b/go/test/endtoend/tabletmanager/main_test.go @@ -176,6 +176,11 @@ func tmcStartReplication(ctx context.Context, tabletGrpcPort int) error { return tmClient.StartReplication(ctx, vtablet, false) } +func tmcResetReplicationParameters(ctx context.Context, tabletGrpcPort int) error { + vttablet := getTablet(tabletGrpcPort) + return tmClient.ResetReplicationParameters(ctx, vttablet) +} + func tmcPrimaryPosition(ctx context.Context, tabletGrpcPort int) (string, error) { vtablet := getTablet(tabletGrpcPort) return tmClient.PrimaryPosition(ctx, vtablet) diff --git a/go/test/endtoend/tabletmanager/tablet_test.go b/go/test/endtoend/tabletmanager/tablet_test.go index 99926b61bc2..0296f397f5a 100644 --- a/go/test/endtoend/tabletmanager/tablet_test.go +++ b/go/test/endtoend/tabletmanager/tablet_test.go @@ -17,6 +17,7 @@ limitations under the License. package tabletmanager import ( + "context" "fmt" "testing" @@ -111,3 +112,38 @@ func TestLocalMetadata(t *testing.T) { clusterInstance.VtTabletExtraArgs = []string{} killTablets(t, rTablet, rTablet2) } + +// TestResetReplicationParameters tests that the RPC ResetReplicationParameters works as intended. +func TestResetReplicationParameters(t *testing.T) { + defer cluster.PanicHandler(t) + + // Create new tablet + tablet := clusterInstance.NewVttabletInstance("replica", 0, "") + tablet.MysqlctlProcess = *cluster.MysqlCtlProcessInstance(tablet.TabletUID, tablet.MySQLPort, clusterInstance.TmpDirectory) + err := tablet.MysqlctlProcess.Start() + require.NoError(t, err) + + log.Info(fmt.Sprintf("Started vttablet %v", tablet)) + // Start vttablet process as replica. It won't be able to serve because there's no db. + err = clusterInstance.StartVttablet(tablet, "NOT_SERVING", false, cell, "dbtest", hostname, "0") + require.NoError(t, err) + + // Set a replication source on the tablet and start replication + _, err = tablet.VttabletProcess.QueryTablet("stop slave;change master to master_host = 'localhost', master_port = 123;start slave;", keyspaceName, false) + require.NoError(t, err) + + // Check the replica status. + res, err := tablet.VttabletProcess.QueryTablet("show slave status", keyspaceName, false) + require.NoError(t, err) + // This is expected to return 1 row result + require.Len(t, res.Rows, 1) + + // Reset the replication parameters on the tablet + err = tmcResetReplicationParameters(context.Background(), tablet.GrpcPort) + require.NoError(t, err) + + // Recheck the replica status and this time is should be empty + res, err = tablet.VttabletProcess.QueryTablet("show slave status", keyspaceName, false) + require.NoError(t, err) + require.Len(t, res.Rows, 0) +} diff --git a/go/test/fuzzing/vttablet_fuzzer.go b/go/test/fuzzing/vttablet_fuzzer.go index 92c1ac574f0..ffb34c7d8a3 100644 --- a/go/test/fuzzing/vttablet_fuzzer.go +++ b/go/test/fuzzing/vttablet_fuzzer.go @@ -368,6 +368,17 @@ func (fs *fuzzStore) callReplicationStatus() error { return nil } +// callFullStatus implements a wrapper +// for fuzzing FullStatus +func (fs *fuzzStore) callFullStatus() error { + tablet, err := fs.getTablet() + if err != nil { + return err + } + _, _ = fs.client.FullStatus(context.Background(), tablet) + return nil +} + // callPrimaryStatus implements a wrapper // for fuzzing PrimaryStatus func (fs *fuzzStore) callPrimaryStatus() error { @@ -412,6 +423,17 @@ func (fs *fuzzStore) callReplicaWasPromoted() error { return nil } +// callResetReplicationParameters implements a wrapper +// for fuzzing ResetReplicationParameters +func (fs *fuzzStore) callResetReplicationParameters() error { + tablet, err := fs.getTablet() + if err != nil { + return err + } + _ = fs.client.ResetReplicationParameters(context.Background(), tablet) + return nil +} + // callPromoteReplica implements a wrapper // for fuzzing PromoteReplica func (fs *fuzzStore) callPromoteReplica() error { @@ -645,6 +667,10 @@ func (fs *fuzzStore) executeInRandomOrder() { err = fs.callInitReplica() case 23: err = fs.callPopulateReparentJournal() + case 24: + err = fs.callResetReplicationParameters() + case 25: + err = fs.callFullStatus() } // err means that fuzzStore doesn't have any data diff --git a/go/vt/mysqlctl/fakemysqldaemon/fakemysqldaemon.go b/go/vt/mysqlctl/fakemysqldaemon/fakemysqldaemon.go index d1787be676a..06e9d18e433 100644 --- a/go/vt/mysqlctl/fakemysqldaemon/fakemysqldaemon.go +++ b/go/vt/mysqlctl/fakemysqldaemon/fakemysqldaemon.go @@ -253,6 +253,16 @@ func (fmd *FakeMysqlDaemon) GetMysqlPort() (int32, error) { return fmd.MysqlPort.Get(), nil } +// GetServerID is part of the MysqlDaemon interface +func (fmd *FakeMysqlDaemon) GetServerID(ctx context.Context) (uint32, error) { + return 1, nil +} + +// GetServerUUID is part of the MysqlDaemon interface +func (fmd *FakeMysqlDaemon) GetServerUUID(ctx context.Context) (string, error) { + return "000000", nil +} + // CurrentPrimaryPositionLocked is thread-safe func (fmd *FakeMysqlDaemon) CurrentPrimaryPositionLocked(pos mysql.Position) { fmd.mu.Lock() @@ -268,10 +278,10 @@ func (fmd *FakeMysqlDaemon) ReplicationStatus() (mysql.ReplicationStatus, error) fmd.mu.Lock() defer fmd.mu.Unlock() return mysql.ReplicationStatus{ - Position: fmd.CurrentPrimaryPosition, - FilePosition: fmd.CurrentSourceFilePosition, - FileRelayLogPosition: fmd.CurrentSourceFilePosition, - ReplicationLagSeconds: fmd.ReplicationLagSeconds, + Position: fmd.CurrentPrimaryPosition, + FilePosition: fmd.CurrentSourceFilePosition, + RelayLogSourceBinlogEquivalentPosition: fmd.CurrentSourceFilePosition, + ReplicationLagSeconds: fmd.ReplicationLagSeconds, // implemented as AND to avoid changing all tests that were // previously using Replicating = false IOState: mysql.ReplicationStatusToState(fmt.Sprintf("%v", fmd.Replicating && fmd.IOThreadRunning)), @@ -292,6 +302,11 @@ func (fmd *FakeMysqlDaemon) PrimaryStatus(ctx context.Context) (mysql.PrimarySta }, nil } +// GetGTIDPurged is part of the MysqlDaemon interface +func (fmd *FakeMysqlDaemon) GetGTIDPurged(ctx context.Context) (mysql.Position, error) { + return mysql.Position{}, nil +} + // ResetReplication is part of the MysqlDaemon interface. func (fmd *FakeMysqlDaemon) ResetReplication(ctx context.Context) error { return fmd.ExecuteSuperQueryList(ctx, []string{ @@ -299,6 +314,27 @@ func (fmd *FakeMysqlDaemon) ResetReplication(ctx context.Context) error { }) } +// ResetReplicationParameters is part of the MysqlDaemon interface. +func (fmd *FakeMysqlDaemon) ResetReplicationParameters(ctx context.Context) error { + return fmd.ExecuteSuperQueryList(ctx, []string{ + "FAKE RESET REPLICA ALL", + }) +} + +// GetBinlogInformation is part of the MysqlDaemon interface. +func (fmd *FakeMysqlDaemon) GetBinlogInformation(ctx context.Context) (binlogFormat string, logEnabled bool, logReplicaUpdate bool, binlogRowImage string, err error) { + return "ROW", true, true, "FULL", fmd.ExecuteSuperQueryList(ctx, []string{ + "FAKE select @@global", + }) +} + +// GetGTIDMode is part of the MysqlDaemon interface. +func (fmd *FakeMysqlDaemon) GetGTIDMode(ctx context.Context) (gtidMode string, err error) { + return "ON", fmd.ExecuteSuperQueryList(ctx, []string{ + "FAKE select @@global", + }) +} + // PrimaryPosition is part of the MysqlDaemon interface func (fmd *FakeMysqlDaemon) PrimaryPosition() (mysql.Position, error) { return fmd.CurrentPrimaryPosition, nil @@ -592,6 +628,25 @@ func (fmd *FakeMysqlDaemon) SemiSyncEnabled() (primary, replica bool) { return fmd.SemiSyncPrimaryEnabled, fmd.SemiSyncReplicaEnabled } +// SemiSyncStatus is part of the MysqlDaemon interface. +func (fmd *FakeMysqlDaemon) SemiSyncStatus() (bool, bool) { + // The fake assumes the status worked. + if fmd.SemiSyncPrimaryEnabled { + return true, false + } + return false, fmd.SemiSyncReplicaEnabled +} + +// SemiSyncClients is part of the MysqlDaemon interface. +func (fmd *FakeMysqlDaemon) SemiSyncClients() uint32 { + return 0 +} + +// SemiSyncSettings is part of the MysqlDaemon interface. +func (fmd *FakeMysqlDaemon) SemiSyncSettings() (timeout uint64, numReplicas uint32) { + return 10000000, 1 +} + // SemiSyncReplicationStatus is part of the MysqlDaemon interface. func (fmd *FakeMysqlDaemon) SemiSyncReplicationStatus() (bool, error) { // The fake assumes the status worked. @@ -602,3 +657,8 @@ func (fmd *FakeMysqlDaemon) SemiSyncReplicationStatus() (bool, error) { func (fmd *FakeMysqlDaemon) GetVersionString() string { return "" } + +// GetVersionComment is part of the MysqlDeamon interface. +func (fmd *FakeMysqlDaemon) GetVersionComment(ctx context.Context) string { + return "" +} diff --git a/go/vt/mysqlctl/mysql_daemon.go b/go/vt/mysqlctl/mysql_daemon.go index eeac27e62dd..f0782f2f4ab 100644 --- a/go/vt/mysqlctl/mysql_daemon.go +++ b/go/vt/mysqlctl/mysql_daemon.go @@ -40,6 +40,12 @@ type MysqlDaemon interface { // GetMysqlPort returns the current port mysql is listening on. GetMysqlPort() (int32, error) + // GetServerID returns the servers ID. + GetServerID(ctx context.Context) (uint32, error) + + // GetServerUUID returns the servers UUID + GetServerUUID(ctx context.Context) (string, error) + // replication related methods StartReplication(hookExtraEnv map[string]string) error RestartReplication(hookExtraEnv map[string]string) error @@ -48,9 +54,16 @@ type MysqlDaemon interface { StopIOThread(ctx context.Context) error ReplicationStatus() (mysql.ReplicationStatus, error) PrimaryStatus(ctx context.Context) (mysql.PrimaryStatus, error) + GetGTIDPurged(ctx context.Context) (mysql.Position, error) SetSemiSyncEnabled(source, replica bool) error SemiSyncEnabled() (source, replica bool) + SemiSyncStatus() (source, replica bool) + SemiSyncClients() (count uint32) + SemiSyncSettings() (timeout uint64, numReplicas uint32) SemiSyncReplicationStatus() (bool, error) + ResetReplicationParameters(ctx context.Context) error + GetBinlogInformation(ctx context.Context) (binlogFormat string, logEnabled bool, logReplicaUpdate bool, binlogRowImage string, err error) + GetGTIDMode(ctx context.Context) (gtidMode string, err error) // reparenting related methods ResetReplication(ctx context.Context) error @@ -86,6 +99,9 @@ type MysqlDaemon interface { // GetVersionString returns the database version as a string GetVersionString() string + // GetVersionComment returns the version comment + GetVersionComment(ctx context.Context) string + // ExecuteSuperQueryList executes a list of queries, no result ExecuteSuperQueryList(ctx context.Context, queryList []string) error diff --git a/go/vt/mysqlctl/mysqld.go b/go/vt/mysqlctl/mysqld.go index aa0762efaa3..52699917df0 100644 --- a/go/vt/mysqlctl/mysqld.go +++ b/go/vt/mysqlctl/mysqld.go @@ -1146,3 +1146,17 @@ func buildLdPaths() ([]string, error) { func (mysqld *Mysqld) GetVersionString() string { return fmt.Sprintf("%d.%d.%d", mysqld.capabilities.version.Major, mysqld.capabilities.version.Minor, mysqld.capabilities.version.Patch) } + +// GetVersionComment gets the version comment. +func (mysqld *Mysqld) GetVersionComment(ctx context.Context) string { + qr, err := mysqld.FetchSuperQuery(ctx, "select @@global.version_comment") + if err != nil { + return "" + } + if len(qr.Rows) != 1 { + return "" + } + res := qr.Named().Row() + versionComment, _ := res.ToString("@@global.version_comment") + return versionComment +} diff --git a/go/vt/mysqlctl/query.go b/go/vt/mysqlctl/query.go index fa6c842a37f..311828b4535 100644 --- a/go/vt/mysqlctl/query.go +++ b/go/vt/mysqlctl/query.go @@ -210,6 +210,24 @@ func (mysqld *Mysqld) fetchVariables(ctx context.Context, pattern string) (map[s return varMap, nil } +// fetchStatuses returns a map from MySQL status names to status value +// for variables that match the given pattern. +func (mysqld *Mysqld) fetchStatuses(ctx context.Context, pattern string) (map[string]string, error) { + query := fmt.Sprintf("SHOW STATUS LIKE '%s'", pattern) + qr, err := mysqld.FetchSuperQuery(ctx, query) + if err != nil { + return nil, err + } + if len(qr.Fields) != 2 { + return nil, fmt.Errorf("query %#v returned %d columns, expected 2", query, len(qr.Fields)) + } + varMap := make(map[string]string, len(qr.Rows)) + for _, row := range qr.Rows { + varMap[row[0].ToString()] = row[1].ToString() + } + return varMap, nil +} + const ( masterPasswordStart = " MASTER_PASSWORD = '" masterPasswordEnd = "',\n" diff --git a/go/vt/mysqlctl/replication.go b/go/vt/mysqlctl/replication.go index 065d7d5667b..d0ea4a3109d 100644 --- a/go/vt/mysqlctl/replication.go +++ b/go/vt/mysqlctl/replication.go @@ -24,6 +24,7 @@ import ( "errors" "fmt" "net" + "strconv" "strings" "time" @@ -188,6 +189,33 @@ func (mysqld *Mysqld) GetMysqlPort() (int32, error) { return int32(utemp), nil } +// GetServerID returns mysql server id +func (mysqld *Mysqld) GetServerID(ctx context.Context) (uint32, error) { + qr, err := mysqld.FetchSuperQuery(ctx, "select @@global.server_id") + if err != nil { + return 0, err + } + if len(qr.Rows) != 1 { + return 0, errors.New("no server_id in mysql") + } + utemp, err := evalengine.ToUint64(qr.Rows[0][0]) + if err != nil { + return 0, err + } + return uint32(utemp), nil +} + +// GetServerUUID returns mysql server uuid +func (mysqld *Mysqld) GetServerUUID(ctx context.Context) (string, error) { + conn, err := getPoolReconnect(ctx, mysqld.dbaPool) + if err != nil { + return "", err + } + defer conn.Recycle() + + return conn.GetServerUUID() +} + // IsReadOnly return true if the instance is read only func (mysqld *Mysqld) IsReadOnly() (bool, error) { qr, err := mysqld.FetchSuperQuery(context.TODO(), "SHOW VARIABLES LIKE 'read_only'") @@ -315,6 +343,17 @@ func (mysqld *Mysqld) PrimaryStatus(ctx context.Context) (mysql.PrimaryStatus, e return conn.ShowPrimaryStatus() } +// GetGTIDPurged returns the gtid purged statuses +func (mysqld *Mysqld) GetGTIDPurged(ctx context.Context) (mysql.Position, error) { + conn, err := getPoolReconnect(ctx, mysqld.dbaPool) + if err != nil { + return mysql.Position{}, err + } + defer conn.Recycle() + + return conn.GetGTIDPurged() +} + // PrimaryPosition returns the primary replication position. func (mysqld *Mysqld) PrimaryPosition() (mysql.Position, error) { conn, err := getPoolReconnect(context.TODO(), mysqld.dbaPool) @@ -381,6 +420,18 @@ func (mysqld *Mysqld) ResetReplication(ctx context.Context) error { return mysqld.executeSuperQueryListConn(ctx, conn, cmds) } +// ResetReplicationParameters resets the replica replication parameters for this host. +func (mysqld *Mysqld) ResetReplicationParameters(ctx context.Context) error { + conn, connErr := getPoolReconnect(ctx, mysqld.dbaPool) + if connErr != nil { + return connErr + } + defer conn.Recycle() + + cmds := conn.ResetReplicationParametersCommands() + return mysqld.executeSuperQueryListConn(ctx, conn, cmds) +} + // +------+---------+---------------------+------+-------------+------+----------------------------------------------------------------+------------------+ // | Id | User | Host | db | Command | Time | State | Info | // +------+---------+---------------------+------+-------------+------+----------------------------------------------------------------+------------------+ @@ -484,6 +535,46 @@ func (mysqld *Mysqld) DisableBinlogPlayback() error { return nil } +// GetBinlogInformation gets the binlog format, whether binlog is enabled and if updates on replica logging is enabled. +func (mysqld *Mysqld) GetBinlogInformation(ctx context.Context) (string, bool, bool, string, error) { + qr, err := mysqld.FetchSuperQuery(ctx, "select @@global.binlog_format, @@global.log_bin, @@global.log_slave_updates, @@global.binlog_row_image") + if err != nil { + return "", false, false, "", err + } + if len(qr.Rows) != 1 { + return "", false, false, "", errors.New("unable to read global variables binlog_format, log_bin, log_slave_updates, gtid_mode, binlog_rowge") + } + res := qr.Named().Row() + binlogFormat, err := res.ToString("@@global.binlog_format") + if err != nil { + return "", false, false, "", err + } + logBin, err := res.ToInt64("@@global.log_bin") + if err != nil { + return "", false, false, "", err + } + logReplicaUpdates, err := res.ToInt64("@@global.log_slave_updates") + if err != nil { + return "", false, false, "", err + } + binlogRowImage, err := res.ToString("@@global.binlog_row_image") + if err != nil { + return "", false, false, "", err + } + return binlogFormat, logBin == 1, logReplicaUpdates == 1, binlogRowImage, nil +} + +// GetGTIDMode gets the GTID mode for the server +func (mysqld *Mysqld) GetGTIDMode(ctx context.Context) (string, error) { + conn, err := getPoolReconnect(ctx, mysqld.dbaPool) + if err != nil { + return "", err + } + defer conn.Recycle() + + return conn.GetGTIDMode() +} + // SetSemiSyncEnabled enables or disables semi-sync replication for // primary and/or replica mode. func (mysqld *Mysqld) SetSemiSyncEnabled(primary, replica bool) error { @@ -519,6 +610,42 @@ func (mysqld *Mysqld) SemiSyncEnabled() (primary, replica bool) { return primary, replica } +// SemiSyncStatus returns the current status of semi-sync for primary and replica. +func (mysqld *Mysqld) SemiSyncStatus() (primary, replica bool) { + vars, err := mysqld.fetchStatuses(context.TODO(), "Rpl_semi_sync_%_status") + if err != nil { + return false, false + } + primary = vars["Rpl_semi_sync_master_status"] == "ON" + replica = vars["Rpl_semi_sync_slave_status"] == "ON" + return primary, replica +} + +// SemiSyncClients returns the number of semi-sync clients for the primary. +func (mysqld *Mysqld) SemiSyncClients() uint32 { + qr, err := mysqld.FetchSuperQuery(context.TODO(), "SHOW STATUS LIKE 'Rpl_semi_sync_master_clients'") + if err != nil { + return 0 + } + if len(qr.Rows) != 1 { + return 0 + } + countStr := qr.Rows[0][1].ToString() + count, _ := strconv.ParseUint(countStr, 10, 0) + return uint32(count) +} + +// SemiSyncSettings returns the settings of semi-sync which includes the timeout and the number of replicas to wait for. +func (mysqld *Mysqld) SemiSyncSettings() (timeout uint64, numReplicas uint32) { + vars, err := mysqld.fetchVariables(context.TODO(), "rpl_semi_sync_%") + if err != nil { + return 0, 0 + } + timeout, _ = strconv.ParseUint(vars["rpl_semi_sync_master_timeout"], 10, 0) + numReplicasUint, _ := strconv.ParseUint(vars["rpl_semi_sync_master_wait_for_slave_count"], 10, 0) + return timeout, uint32(numReplicasUint) +} + // SemiSyncReplicationStatus returns whether semi-sync is currently used by replication. func (mysqld *Mysqld) SemiSyncReplicationStatus() (bool, error) { qr, err := mysqld.FetchSuperQuery(context.TODO(), "SHOW STATUS LIKE 'rpl_semi_sync_slave_status'") diff --git a/go/vt/proto/replicationdata/replicationdata.pb.go b/go/vt/proto/replicationdata/replicationdata.pb.go index ea787626223..19b86d1df57 100644 --- a/go/vt/proto/replicationdata/replicationdata.pb.go +++ b/go/vt/proto/replicationdata/replicationdata.pb.go @@ -102,15 +102,23 @@ type Status struct { SourcePort int32 `protobuf:"varint,6,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` ConnectRetry int32 `protobuf:"varint,7,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` // RelayLogPosition will be empty for flavors that do not support returning the full GTIDSet from the relay log, such as MariaDB. - RelayLogPosition string `protobuf:"bytes,8,opt,name=relay_log_position,json=relayLogPosition,proto3" json:"relay_log_position,omitempty"` - FilePosition string `protobuf:"bytes,9,opt,name=file_position,json=filePosition,proto3" json:"file_position,omitempty"` - FileRelayLogPosition string `protobuf:"bytes,10,opt,name=file_relay_log_position,json=fileRelayLogPosition,proto3" json:"file_relay_log_position,omitempty"` - SourceServerId uint32 `protobuf:"varint,11,opt,name=source_server_id,json=sourceServerId,proto3" json:"source_server_id,omitempty"` - SourceUuid string `protobuf:"bytes,12,opt,name=source_uuid,json=sourceUuid,proto3" json:"source_uuid,omitempty"` - IoState int32 `protobuf:"varint,13,opt,name=io_state,json=ioState,proto3" json:"io_state,omitempty"` - LastIoError string `protobuf:"bytes,14,opt,name=last_io_error,json=lastIoError,proto3" json:"last_io_error,omitempty"` - SqlState int32 `protobuf:"varint,15,opt,name=sql_state,json=sqlState,proto3" json:"sql_state,omitempty"` - LastSqlError string `protobuf:"bytes,16,opt,name=last_sql_error,json=lastSqlError,proto3" json:"last_sql_error,omitempty"` + RelayLogPosition string `protobuf:"bytes,8,opt,name=relay_log_position,json=relayLogPosition,proto3" json:"relay_log_position,omitempty"` + FilePosition string `protobuf:"bytes,9,opt,name=file_position,json=filePosition,proto3" json:"file_position,omitempty"` + RelayLogSourceBinlogEquivalentPosition string `protobuf:"bytes,10,opt,name=relay_log_source_binlog_equivalent_position,json=relayLogSourceBinlogEquivalentPosition,proto3" json:"relay_log_source_binlog_equivalent_position,omitempty"` + SourceServerId uint32 `protobuf:"varint,11,opt,name=source_server_id,json=sourceServerId,proto3" json:"source_server_id,omitempty"` + SourceUuid string `protobuf:"bytes,12,opt,name=source_uuid,json=sourceUuid,proto3" json:"source_uuid,omitempty"` + IoState int32 `protobuf:"varint,13,opt,name=io_state,json=ioState,proto3" json:"io_state,omitempty"` + LastIoError string `protobuf:"bytes,14,opt,name=last_io_error,json=lastIoError,proto3" json:"last_io_error,omitempty"` + SqlState int32 `protobuf:"varint,15,opt,name=sql_state,json=sqlState,proto3" json:"sql_state,omitempty"` + LastSqlError string `protobuf:"bytes,16,opt,name=last_sql_error,json=lastSqlError,proto3" json:"last_sql_error,omitempty"` + RelayLogFilePosition string `protobuf:"bytes,17,opt,name=relay_log_file_position,json=relayLogFilePosition,proto3" json:"relay_log_file_position,omitempty"` + SourceUser string `protobuf:"bytes,18,opt,name=source_user,json=sourceUser,proto3" json:"source_user,omitempty"` + SqlDelay uint32 `protobuf:"varint,19,opt,name=sql_delay,json=sqlDelay,proto3" json:"sql_delay,omitempty"` + AutoPosition bool `protobuf:"varint,20,opt,name=auto_position,json=autoPosition,proto3" json:"auto_position,omitempty"` + UsingGtid bool `protobuf:"varint,21,opt,name=using_gtid,json=usingGtid,proto3" json:"using_gtid,omitempty"` + HasReplicationFilters bool `protobuf:"varint,22,opt,name=has_replication_filters,json=hasReplicationFilters,proto3" json:"has_replication_filters,omitempty"` + SslAllowed bool `protobuf:"varint,23,opt,name=ssl_allowed,json=sslAllowed,proto3" json:"ssl_allowed,omitempty"` + ReplicationLagUnknown bool `protobuf:"varint,24,opt,name=replication_lag_unknown,json=replicationLagUnknown,proto3" json:"replication_lag_unknown,omitempty"` } func (x *Status) Reset() { @@ -208,9 +216,9 @@ func (x *Status) GetFilePosition() string { return "" } -func (x *Status) GetFileRelayLogPosition() string { +func (x *Status) GetRelayLogSourceBinlogEquivalentPosition() string { if x != nil { - return x.FileRelayLogPosition + return x.RelayLogSourceBinlogEquivalentPosition } return "" } @@ -257,6 +265,62 @@ func (x *Status) GetLastSqlError() string { return "" } +func (x *Status) GetRelayLogFilePosition() string { + if x != nil { + return x.RelayLogFilePosition + } + return "" +} + +func (x *Status) GetSourceUser() string { + if x != nil { + return x.SourceUser + } + return "" +} + +func (x *Status) GetSqlDelay() uint32 { + if x != nil { + return x.SqlDelay + } + return 0 +} + +func (x *Status) GetAutoPosition() bool { + if x != nil { + return x.AutoPosition + } + return false +} + +func (x *Status) GetUsingGtid() bool { + if x != nil { + return x.UsingGtid + } + return false +} + +func (x *Status) GetHasReplicationFilters() bool { + if x != nil { + return x.HasReplicationFilters + } + return false +} + +func (x *Status) GetSslAllowed() bool { + if x != nil { + return x.SslAllowed + } + return false +} + +func (x *Status) GetReplicationLagUnknown() bool { + if x != nil { + return x.ReplicationLagUnknown + } + return false +} + // StopReplicationStatus represents the replication status before calling StopReplication, and the replication status collected immediately after // calling StopReplication. type StopReplicationStatus struct { @@ -370,12 +434,212 @@ func (x *PrimaryStatus) GetFilePosition() string { return "" } +// FullStatus contains the full status of MySQL including the replication information, semi-sync information, GTID information among others +type FullStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId uint32 `protobuf:"varint,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + ServerUuid string `protobuf:"bytes,2,opt,name=server_uuid,json=serverUuid,proto3" json:"server_uuid,omitempty"` + ReplicationStatus *Status `protobuf:"bytes,3,opt,name=replication_status,json=replicationStatus,proto3" json:"replication_status,omitempty"` + PrimaryStatus *PrimaryStatus `protobuf:"bytes,4,opt,name=primary_status,json=primaryStatus,proto3" json:"primary_status,omitempty"` + GtidPurged string `protobuf:"bytes,5,opt,name=gtid_purged,json=gtidPurged,proto3" json:"gtid_purged,omitempty"` + Version string `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"` + VersionComment string `protobuf:"bytes,7,opt,name=version_comment,json=versionComment,proto3" json:"version_comment,omitempty"` + ReadOnly bool `protobuf:"varint,8,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` + GtidMode string `protobuf:"bytes,9,opt,name=gtid_mode,json=gtidMode,proto3" json:"gtid_mode,omitempty"` + BinlogFormat string `protobuf:"bytes,10,opt,name=binlog_format,json=binlogFormat,proto3" json:"binlog_format,omitempty"` + BinlogRowImage string `protobuf:"bytes,11,opt,name=binlog_row_image,json=binlogRowImage,proto3" json:"binlog_row_image,omitempty"` + LogBinEnabled bool `protobuf:"varint,12,opt,name=log_bin_enabled,json=logBinEnabled,proto3" json:"log_bin_enabled,omitempty"` + LogReplicaUpdates bool `protobuf:"varint,13,opt,name=log_replica_updates,json=logReplicaUpdates,proto3" json:"log_replica_updates,omitempty"` + SemiSyncPrimaryEnabled bool `protobuf:"varint,14,opt,name=semi_sync_primary_enabled,json=semiSyncPrimaryEnabled,proto3" json:"semi_sync_primary_enabled,omitempty"` + SemiSyncReplicaEnabled bool `protobuf:"varint,15,opt,name=semi_sync_replica_enabled,json=semiSyncReplicaEnabled,proto3" json:"semi_sync_replica_enabled,omitempty"` + SemiSyncPrimaryStatus bool `protobuf:"varint,16,opt,name=semi_sync_primary_status,json=semiSyncPrimaryStatus,proto3" json:"semi_sync_primary_status,omitempty"` + SemiSyncReplicaStatus bool `protobuf:"varint,17,opt,name=semi_sync_replica_status,json=semiSyncReplicaStatus,proto3" json:"semi_sync_replica_status,omitempty"` + SemiSyncPrimaryClients uint32 `protobuf:"varint,18,opt,name=semi_sync_primary_clients,json=semiSyncPrimaryClients,proto3" json:"semi_sync_primary_clients,omitempty"` + SemiSyncPrimaryTimeout uint64 `protobuf:"varint,19,opt,name=semi_sync_primary_timeout,json=semiSyncPrimaryTimeout,proto3" json:"semi_sync_primary_timeout,omitempty"` + SemiSyncWaitForReplicaCount uint32 `protobuf:"varint,20,opt,name=semi_sync_wait_for_replica_count,json=semiSyncWaitForReplicaCount,proto3" json:"semi_sync_wait_for_replica_count,omitempty"` +} + +func (x *FullStatus) Reset() { + *x = FullStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_replicationdata_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FullStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FullStatus) ProtoMessage() {} + +func (x *FullStatus) ProtoReflect() protoreflect.Message { + mi := &file_replicationdata_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FullStatus.ProtoReflect.Descriptor instead. +func (*FullStatus) Descriptor() ([]byte, []int) { + return file_replicationdata_proto_rawDescGZIP(), []int{3} +} + +func (x *FullStatus) GetServerId() uint32 { + if x != nil { + return x.ServerId + } + return 0 +} + +func (x *FullStatus) GetServerUuid() string { + if x != nil { + return x.ServerUuid + } + return "" +} + +func (x *FullStatus) GetReplicationStatus() *Status { + if x != nil { + return x.ReplicationStatus + } + return nil +} + +func (x *FullStatus) GetPrimaryStatus() *PrimaryStatus { + if x != nil { + return x.PrimaryStatus + } + return nil +} + +func (x *FullStatus) GetGtidPurged() string { + if x != nil { + return x.GtidPurged + } + return "" +} + +func (x *FullStatus) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *FullStatus) GetVersionComment() string { + if x != nil { + return x.VersionComment + } + return "" +} + +func (x *FullStatus) GetReadOnly() bool { + if x != nil { + return x.ReadOnly + } + return false +} + +func (x *FullStatus) GetGtidMode() string { + if x != nil { + return x.GtidMode + } + return "" +} + +func (x *FullStatus) GetBinlogFormat() string { + if x != nil { + return x.BinlogFormat + } + return "" +} + +func (x *FullStatus) GetBinlogRowImage() string { + if x != nil { + return x.BinlogRowImage + } + return "" +} + +func (x *FullStatus) GetLogBinEnabled() bool { + if x != nil { + return x.LogBinEnabled + } + return false +} + +func (x *FullStatus) GetLogReplicaUpdates() bool { + if x != nil { + return x.LogReplicaUpdates + } + return false +} + +func (x *FullStatus) GetSemiSyncPrimaryEnabled() bool { + if x != nil { + return x.SemiSyncPrimaryEnabled + } + return false +} + +func (x *FullStatus) GetSemiSyncReplicaEnabled() bool { + if x != nil { + return x.SemiSyncReplicaEnabled + } + return false +} + +func (x *FullStatus) GetSemiSyncPrimaryStatus() bool { + if x != nil { + return x.SemiSyncPrimaryStatus + } + return false +} + +func (x *FullStatus) GetSemiSyncReplicaStatus() bool { + if x != nil { + return x.SemiSyncReplicaStatus + } + return false +} + +func (x *FullStatus) GetSemiSyncPrimaryClients() uint32 { + if x != nil { + return x.SemiSyncPrimaryClients + } + return 0 +} + +func (x *FullStatus) GetSemiSyncPrimaryTimeout() uint64 { + if x != nil { + return x.SemiSyncPrimaryTimeout + } + return 0 +} + +func (x *FullStatus) GetSemiSyncWaitForReplicaCount() uint32 { + if x != nil { + return x.SemiSyncWaitForReplicaCount + } + return 0 +} + var File_replicationdata_proto protoreflect.FileDescriptor var file_replicationdata_proto_rawDesc = []byte{ 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf4, 0x04, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe4, 0x07, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x75, 0x6e, @@ -398,23 +662,46 @@ var file_replicationdata_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, - 0x69, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x17, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x66, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x69, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x69, 0x6f, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x73, 0x71, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x71, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0x69, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x2b, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x26, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, + 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6f, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6f, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x71, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x71, 0x6c, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x17, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6c, + 0x6f, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x6f, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x0a, + 0x09, 0x73, 0x71, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x73, 0x71, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x74, 0x69, 0x64, 0x12, 0x36, + 0x0a, 0x17, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x15, 0x68, 0x61, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x73, 0x6c, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0x77, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, @@ -427,14 +714,75 @@ var file_replicationdata_proto_rawDesc = []byte{ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, - 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x3b, 0x0a, 0x13, 0x53, 0x74, - 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4f, 0x41, 0x4e, 0x44, 0x53, 0x51, 0x4c, 0x54, 0x48, 0x52, - 0x45, 0x41, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4f, 0x54, 0x48, 0x52, 0x45, 0x41, - 0x44, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x42, 0x2e, 0x5a, 0x2c, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, - 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x07, 0x0a, 0x0a, 0x46, + 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x11, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x45, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x74, 0x69, 0x64, 0x5f, 0x70, + 0x75, 0x72, 0x67, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x74, 0x69, + 0x64, 0x50, 0x75, 0x72, 0x67, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x74, 0x69, 0x64, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x74, 0x69, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6e, + 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x69, 0x6e, + 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x52, 0x6f, 0x77, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x69, 0x6e, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f, + 0x67, 0x42, 0x69, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6c, + 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x73, + 0x65, 0x6d, 0x69, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x65, 0x6d, 0x69, 0x5f, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x65, 0x6d, 0x69, 0x53, + 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65, 0x6d, 0x69, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65, + 0x6d, 0x69, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65, + 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x65, 0x6d, 0x69, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, + 0x0a, 0x19, 0x73, 0x65, 0x6d, 0x69, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x16, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x69, 0x6d, 0x61, + 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x20, 0x73, 0x65, 0x6d, + 0x69, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x57, 0x61, 0x69, + 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x2a, 0x3b, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4f, 0x41, 0x4e, 0x44, + 0x53, 0x51, 0x4c, 0x54, 0x48, 0x52, 0x45, 0x41, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, + 0x4f, 0x54, 0x48, 0x52, 0x45, 0x41, 0x44, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x42, 0x2e, 0x5a, + 0x2c, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -450,21 +798,24 @@ func file_replicationdata_proto_rawDescGZIP() []byte { } var file_replicationdata_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_replicationdata_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_replicationdata_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_replicationdata_proto_goTypes = []interface{}{ (StopReplicationMode)(0), // 0: replicationdata.StopReplicationMode (*Status)(nil), // 1: replicationdata.Status (*StopReplicationStatus)(nil), // 2: replicationdata.StopReplicationStatus (*PrimaryStatus)(nil), // 3: replicationdata.PrimaryStatus + (*FullStatus)(nil), // 4: replicationdata.FullStatus } var file_replicationdata_proto_depIdxs = []int32{ 1, // 0: replicationdata.StopReplicationStatus.before:type_name -> replicationdata.Status 1, // 1: replicationdata.StopReplicationStatus.after:type_name -> replicationdata.Status - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 1, // 2: replicationdata.FullStatus.replication_status:type_name -> replicationdata.Status + 3, // 3: replicationdata.FullStatus.primary_status:type_name -> replicationdata.PrimaryStatus + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_replicationdata_proto_init() } @@ -509,6 +860,18 @@ func file_replicationdata_proto_init() { return nil } } + file_replicationdata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FullStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -516,7 +879,7 @@ func file_replicationdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_replicationdata_proto_rawDesc, NumEnums: 1, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go b/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go index e928b53e79e..e742713ec0a 100644 --- a/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go +++ b/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go @@ -48,6 +48,91 @@ func (m *Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.ReplicationLagUnknown { + i-- + if m.ReplicationLagUnknown { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc0 + } + if m.SslAllowed { + i-- + if m.SslAllowed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + } + if m.HasReplicationFilters { + i-- + if m.HasReplicationFilters { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if m.UsingGtid { + i-- + if m.UsingGtid { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if m.AutoPosition { + i-- + if m.AutoPosition { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.SqlDelay != 0 { + i = encodeVarint(dAtA, i, uint64(m.SqlDelay)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if len(m.SourceUser) > 0 { + i -= len(m.SourceUser) + copy(dAtA[i:], m.SourceUser) + i = encodeVarint(dAtA, i, uint64(len(m.SourceUser))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + if len(m.RelayLogFilePosition) > 0 { + i -= len(m.RelayLogFilePosition) + copy(dAtA[i:], m.RelayLogFilePosition) + i = encodeVarint(dAtA, i, uint64(len(m.RelayLogFilePosition))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } if len(m.LastSqlError) > 0 { i -= len(m.LastSqlError) copy(dAtA[i:], m.LastSqlError) @@ -86,10 +171,10 @@ func (m *Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x58 } - if len(m.FileRelayLogPosition) > 0 { - i -= len(m.FileRelayLogPosition) - copy(dAtA[i:], m.FileRelayLogPosition) - i = encodeVarint(dAtA, i, uint64(len(m.FileRelayLogPosition))) + if len(m.RelayLogSourceBinlogEquivalentPosition) > 0 { + i -= len(m.RelayLogSourceBinlogEquivalentPosition) + copy(dAtA[i:], m.RelayLogSourceBinlogEquivalentPosition) + i = encodeVarint(dAtA, i, uint64(len(m.RelayLogSourceBinlogEquivalentPosition))) i-- dAtA[i] = 0x52 } @@ -259,6 +344,208 @@ func (m *PrimaryStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *FullStatus) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FullStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.SemiSyncWaitForReplicaCount != 0 { + i = encodeVarint(dAtA, i, uint64(m.SemiSyncWaitForReplicaCount)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.SemiSyncPrimaryTimeout != 0 { + i = encodeVarint(dAtA, i, uint64(m.SemiSyncPrimaryTimeout)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if m.SemiSyncPrimaryClients != 0 { + i = encodeVarint(dAtA, i, uint64(m.SemiSyncPrimaryClients)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if m.SemiSyncReplicaStatus { + i-- + if m.SemiSyncReplicaStatus { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if m.SemiSyncPrimaryStatus { + i-- + if m.SemiSyncPrimaryStatus { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if m.SemiSyncReplicaEnabled { + i-- + if m.SemiSyncReplicaEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if m.SemiSyncPrimaryEnabled { + i-- + if m.SemiSyncPrimaryEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if m.LogReplicaUpdates { + i-- + if m.LogReplicaUpdates { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.LogBinEnabled { + i-- + if m.LogBinEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if len(m.BinlogRowImage) > 0 { + i -= len(m.BinlogRowImage) + copy(dAtA[i:], m.BinlogRowImage) + i = encodeVarint(dAtA, i, uint64(len(m.BinlogRowImage))) + i-- + dAtA[i] = 0x5a + } + if len(m.BinlogFormat) > 0 { + i -= len(m.BinlogFormat) + copy(dAtA[i:], m.BinlogFormat) + i = encodeVarint(dAtA, i, uint64(len(m.BinlogFormat))) + i-- + dAtA[i] = 0x52 + } + if len(m.GtidMode) > 0 { + i -= len(m.GtidMode) + copy(dAtA[i:], m.GtidMode) + i = encodeVarint(dAtA, i, uint64(len(m.GtidMode))) + i-- + dAtA[i] = 0x4a + } + if m.ReadOnly { + i-- + if m.ReadOnly { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if len(m.VersionComment) > 0 { + i -= len(m.VersionComment) + copy(dAtA[i:], m.VersionComment) + i = encodeVarint(dAtA, i, uint64(len(m.VersionComment))) + i-- + dAtA[i] = 0x3a + } + if len(m.Version) > 0 { + i -= len(m.Version) + copy(dAtA[i:], m.Version) + i = encodeVarint(dAtA, i, uint64(len(m.Version))) + i-- + dAtA[i] = 0x32 + } + if len(m.GtidPurged) > 0 { + i -= len(m.GtidPurged) + copy(dAtA[i:], m.GtidPurged) + i = encodeVarint(dAtA, i, uint64(len(m.GtidPurged))) + i-- + dAtA[i] = 0x2a + } + if m.PrimaryStatus != nil { + size, err := m.PrimaryStatus.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.ReplicationStatus != nil { + size, err := m.ReplicationStatus.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if len(m.ServerUuid) > 0 { + i -= len(m.ServerUuid) + copy(dAtA[i:], m.ServerUuid) + i = encodeVarint(dAtA, i, uint64(len(m.ServerUuid))) + i-- + dAtA[i] = 0x12 + } + if m.ServerId != 0 { + i = encodeVarint(dAtA, i, uint64(m.ServerId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarint(dAtA []byte, offset int, v uint64) int { offset -= sov(v) base := offset @@ -307,7 +594,7 @@ func (m *Status) SizeVT() (n int) { if l > 0 { n += 1 + l + sov(uint64(l)) } - l = len(m.FileRelayLogPosition) + l = len(m.RelayLogSourceBinlogEquivalentPosition) if l > 0 { n += 1 + l + sov(uint64(l)) } @@ -332,6 +619,32 @@ func (m *Status) SizeVT() (n int) { if l > 0 { n += 2 + l + sov(uint64(l)) } + l = len(m.RelayLogFilePosition) + if l > 0 { + n += 2 + l + sov(uint64(l)) + } + l = len(m.SourceUser) + if l > 0 { + n += 2 + l + sov(uint64(l)) + } + if m.SqlDelay != 0 { + n += 2 + sov(uint64(m.SqlDelay)) + } + if m.AutoPosition { + n += 3 + } + if m.UsingGtid { + n += 3 + } + if m.HasReplicationFilters { + n += 3 + } + if m.SslAllowed { + n += 3 + } + if m.ReplicationLagUnknown { + n += 3 + } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -378,6 +691,87 @@ func (m *PrimaryStatus) SizeVT() (n int) { return n } +func (m *FullStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ServerId != 0 { + n += 1 + sov(uint64(m.ServerId)) + } + l = len(m.ServerUuid) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.ReplicationStatus != nil { + l = m.ReplicationStatus.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.PrimaryStatus != nil { + l = m.PrimaryStatus.SizeVT() + n += 1 + l + sov(uint64(l)) + } + l = len(m.GtidPurged) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Version) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.VersionComment) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.ReadOnly { + n += 2 + } + l = len(m.GtidMode) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.BinlogFormat) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.BinlogRowImage) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.LogBinEnabled { + n += 2 + } + if m.LogReplicaUpdates { + n += 2 + } + if m.SemiSyncPrimaryEnabled { + n += 2 + } + if m.SemiSyncReplicaEnabled { + n += 2 + } + if m.SemiSyncPrimaryStatus { + n += 3 + } + if m.SemiSyncReplicaStatus { + n += 3 + } + if m.SemiSyncPrimaryClients != 0 { + n += 2 + sov(uint64(m.SemiSyncPrimaryClients)) + } + if m.SemiSyncPrimaryTimeout != 0 { + n += 2 + sov(uint64(m.SemiSyncPrimaryTimeout)) + } + if m.SemiSyncWaitForReplicaCount != 0 { + n += 2 + sov(uint64(m.SemiSyncWaitForReplicaCount)) + } + if m.unknownFields != nil { + n += len(m.unknownFields) + } + return n +} + func sov(x uint64) (n int) { return (bits.Len64(x|1) + 6) / 7 } @@ -640,7 +1034,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error { iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FileRelayLogPosition", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelayLogSourceBinlogEquivalentPosition", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -668,7 +1062,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FileRelayLogPosition = string(dAtA[iNdEx:postIndex]) + m.RelayLogSourceBinlogEquivalentPosition = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 11: if wireType != 0 { @@ -823,10 +1217,193 @@ func (m *Status) UnmarshalVT(dAtA []byte) error { } m.LastSqlError = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RelayLogFilePosition", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RelayLogFilePosition = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceUser", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SourceUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SqlDelay", wireType) + } + m.SqlDelay = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SqlDelay |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AutoPosition", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.AutoPosition = bool(v != 0) + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsingGtid", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.UsingGtid = bool(v != 0) + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasReplicationFilters", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HasReplicationFilters = bool(v != 0) + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SslAllowed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SslAllowed = bool(v != 0) + case 24: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReplicationLagUnknown", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ReplicationLagUnknown = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { return err } if (skippy < 0) || (iNdEx+skippy) < 0 { @@ -1083,6 +1660,569 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *FullStatus) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: FullStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerId", wireType) + } + m.ServerId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ServerId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerUuid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServerUuid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReplicationStatus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReplicationStatus == nil { + m.ReplicationStatus = &Status{} + } + if err := m.ReplicationStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PrimaryStatus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PrimaryStatus == nil { + m.PrimaryStatus = &PrimaryStatus{} + } + if err := m.PrimaryStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GtidPurged", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GtidPurged = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionComment", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VersionComment = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadOnly", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ReadOnly = bool(v != 0) + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GtidMode", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GtidMode = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinlogFormat", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BinlogFormat = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinlogRowImage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BinlogRowImage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LogBinEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.LogBinEnabled = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LogReplicaUpdates", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.LogReplicaUpdates = bool(v != 0) + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncPrimaryEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SemiSyncPrimaryEnabled = bool(v != 0) + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncReplicaEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SemiSyncReplicaEnabled = bool(v != 0) + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncPrimaryStatus", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SemiSyncPrimaryStatus = bool(v != 0) + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncReplicaStatus", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SemiSyncReplicaStatus = bool(v != 0) + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncPrimaryClients", wireType) + } + m.SemiSyncPrimaryClients = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SemiSyncPrimaryClients |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncPrimaryTimeout", wireType) + } + m.SemiSyncPrimaryTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SemiSyncPrimaryTimeout |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SemiSyncWaitForReplicaCount", wireType) + } + m.SemiSyncWaitForReplicaCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SemiSyncWaitForReplicaCount |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skip(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go index 39a5aaf731e..59aaacdc8d1 100644 --- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go +++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go @@ -3937,6 +3937,167 @@ func (*ReplicaWasPromotedResponse) Descriptor() ([]byte, []int) { return file_tabletmanagerdata_proto_rawDescGZIP(), []int{79} } +type ResetReplicationParametersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ResetReplicationParametersRequest) Reset() { + *x = ResetReplicationParametersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tabletmanagerdata_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetReplicationParametersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetReplicationParametersRequest) ProtoMessage() {} + +func (x *ResetReplicationParametersRequest) ProtoReflect() protoreflect.Message { + mi := &file_tabletmanagerdata_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetReplicationParametersRequest.ProtoReflect.Descriptor instead. +func (*ResetReplicationParametersRequest) Descriptor() ([]byte, []int) { + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{80} +} + +type ResetReplicationParametersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ResetReplicationParametersResponse) Reset() { + *x = ResetReplicationParametersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tabletmanagerdata_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetReplicationParametersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetReplicationParametersResponse) ProtoMessage() {} + +func (x *ResetReplicationParametersResponse) ProtoReflect() protoreflect.Message { + mi := &file_tabletmanagerdata_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetReplicationParametersResponse.ProtoReflect.Descriptor instead. +func (*ResetReplicationParametersResponse) Descriptor() ([]byte, []int) { + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{81} +} + +type FullStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FullStatusRequest) Reset() { + *x = FullStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tabletmanagerdata_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FullStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FullStatusRequest) ProtoMessage() {} + +func (x *FullStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_tabletmanagerdata_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FullStatusRequest.ProtoReflect.Descriptor instead. +func (*FullStatusRequest) Descriptor() ([]byte, []int) { + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{82} +} + +type FullStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status *replicationdata.FullStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *FullStatusResponse) Reset() { + *x = FullStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tabletmanagerdata_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FullStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FullStatusResponse) ProtoMessage() {} + +func (x *FullStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_tabletmanagerdata_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FullStatusResponse.ProtoReflect.Descriptor instead. +func (*FullStatusResponse) Descriptor() ([]byte, []int) { + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{83} +} + +func (x *FullStatusResponse) GetStatus() *replicationdata.FullStatus { + if x != nil { + return x.Status + } + return nil +} + type SetReplicationSourceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3952,7 +4113,7 @@ type SetReplicationSourceRequest struct { func (x *SetReplicationSourceRequest) Reset() { *x = SetReplicationSourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[80] + mi := &file_tabletmanagerdata_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3965,7 +4126,7 @@ func (x *SetReplicationSourceRequest) String() string { func (*SetReplicationSourceRequest) ProtoMessage() {} func (x *SetReplicationSourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[80] + mi := &file_tabletmanagerdata_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3978,7 +4139,7 @@ func (x *SetReplicationSourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetReplicationSourceRequest.ProtoReflect.Descriptor instead. func (*SetReplicationSourceRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{80} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{84} } func (x *SetReplicationSourceRequest) GetParent() *topodata.TabletAlias { @@ -4025,7 +4186,7 @@ type SetReplicationSourceResponse struct { func (x *SetReplicationSourceResponse) Reset() { *x = SetReplicationSourceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[81] + mi := &file_tabletmanagerdata_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4038,7 +4199,7 @@ func (x *SetReplicationSourceResponse) String() string { func (*SetReplicationSourceResponse) ProtoMessage() {} func (x *SetReplicationSourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[81] + mi := &file_tabletmanagerdata_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4051,7 +4212,7 @@ func (x *SetReplicationSourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetReplicationSourceResponse.ProtoReflect.Descriptor instead. func (*SetReplicationSourceResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{81} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{85} } type ReplicaWasRestartedRequest struct { @@ -4066,7 +4227,7 @@ type ReplicaWasRestartedRequest struct { func (x *ReplicaWasRestartedRequest) Reset() { *x = ReplicaWasRestartedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[82] + mi := &file_tabletmanagerdata_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4079,7 +4240,7 @@ func (x *ReplicaWasRestartedRequest) String() string { func (*ReplicaWasRestartedRequest) ProtoMessage() {} func (x *ReplicaWasRestartedRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[82] + mi := &file_tabletmanagerdata_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4092,7 +4253,7 @@ func (x *ReplicaWasRestartedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicaWasRestartedRequest.ProtoReflect.Descriptor instead. func (*ReplicaWasRestartedRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{82} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{86} } func (x *ReplicaWasRestartedRequest) GetParent() *topodata.TabletAlias { @@ -4111,7 +4272,7 @@ type ReplicaWasRestartedResponse struct { func (x *ReplicaWasRestartedResponse) Reset() { *x = ReplicaWasRestartedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[83] + mi := &file_tabletmanagerdata_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4124,7 +4285,7 @@ func (x *ReplicaWasRestartedResponse) String() string { func (*ReplicaWasRestartedResponse) ProtoMessage() {} func (x *ReplicaWasRestartedResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[83] + mi := &file_tabletmanagerdata_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4137,7 +4298,7 @@ func (x *ReplicaWasRestartedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicaWasRestartedResponse.ProtoReflect.Descriptor instead. func (*ReplicaWasRestartedResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{83} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{87} } type StopReplicationAndGetStatusRequest struct { @@ -4151,7 +4312,7 @@ type StopReplicationAndGetStatusRequest struct { func (x *StopReplicationAndGetStatusRequest) Reset() { *x = StopReplicationAndGetStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[84] + mi := &file_tabletmanagerdata_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4164,7 +4325,7 @@ func (x *StopReplicationAndGetStatusRequest) String() string { func (*StopReplicationAndGetStatusRequest) ProtoMessage() {} func (x *StopReplicationAndGetStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[84] + mi := &file_tabletmanagerdata_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4177,7 +4338,7 @@ func (x *StopReplicationAndGetStatusRequest) ProtoReflect() protoreflect.Message // Deprecated: Use StopReplicationAndGetStatusRequest.ProtoReflect.Descriptor instead. func (*StopReplicationAndGetStatusRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{84} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{88} } func (x *StopReplicationAndGetStatusRequest) GetStopReplicationMode() replicationdata.StopReplicationMode { @@ -4205,7 +4366,7 @@ type StopReplicationAndGetStatusResponse struct { func (x *StopReplicationAndGetStatusResponse) Reset() { *x = StopReplicationAndGetStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[85] + mi := &file_tabletmanagerdata_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4218,7 +4379,7 @@ func (x *StopReplicationAndGetStatusResponse) String() string { func (*StopReplicationAndGetStatusResponse) ProtoMessage() {} func (x *StopReplicationAndGetStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[85] + mi := &file_tabletmanagerdata_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4231,7 +4392,7 @@ func (x *StopReplicationAndGetStatusResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use StopReplicationAndGetStatusResponse.ProtoReflect.Descriptor instead. func (*StopReplicationAndGetStatusResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{85} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{89} } // Deprecated: Do not use. @@ -4260,7 +4421,7 @@ type PromoteReplicaRequest struct { func (x *PromoteReplicaRequest) Reset() { *x = PromoteReplicaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[86] + mi := &file_tabletmanagerdata_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4273,7 +4434,7 @@ func (x *PromoteReplicaRequest) String() string { func (*PromoteReplicaRequest) ProtoMessage() {} func (x *PromoteReplicaRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[86] + mi := &file_tabletmanagerdata_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4286,7 +4447,7 @@ func (x *PromoteReplicaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PromoteReplicaRequest.ProtoReflect.Descriptor instead. func (*PromoteReplicaRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{86} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{90} } func (x *PromoteReplicaRequest) GetSemiSync() bool { @@ -4307,7 +4468,7 @@ type PromoteReplicaResponse struct { func (x *PromoteReplicaResponse) Reset() { *x = PromoteReplicaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[87] + mi := &file_tabletmanagerdata_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4320,7 +4481,7 @@ func (x *PromoteReplicaResponse) String() string { func (*PromoteReplicaResponse) ProtoMessage() {} func (x *PromoteReplicaResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[87] + mi := &file_tabletmanagerdata_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4333,7 +4494,7 @@ func (x *PromoteReplicaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PromoteReplicaResponse.ProtoReflect.Descriptor instead. func (*PromoteReplicaResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{87} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{91} } func (x *PromoteReplicaResponse) GetPosition() string { @@ -4355,7 +4516,7 @@ type BackupRequest struct { func (x *BackupRequest) Reset() { *x = BackupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[88] + mi := &file_tabletmanagerdata_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4368,7 +4529,7 @@ func (x *BackupRequest) String() string { func (*BackupRequest) ProtoMessage() {} func (x *BackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[88] + mi := &file_tabletmanagerdata_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4381,7 +4542,7 @@ func (x *BackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupRequest.ProtoReflect.Descriptor instead. func (*BackupRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{88} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{92} } func (x *BackupRequest) GetConcurrency() int64 { @@ -4409,7 +4570,7 @@ type BackupResponse struct { func (x *BackupResponse) Reset() { *x = BackupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[89] + mi := &file_tabletmanagerdata_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4422,7 +4583,7 @@ func (x *BackupResponse) String() string { func (*BackupResponse) ProtoMessage() {} func (x *BackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[89] + mi := &file_tabletmanagerdata_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4435,7 +4596,7 @@ func (x *BackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupResponse.ProtoReflect.Descriptor instead. func (*BackupResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{89} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{93} } func (x *BackupResponse) GetEvent() *logutil.Event { @@ -4456,7 +4617,7 @@ type RestoreFromBackupRequest struct { func (x *RestoreFromBackupRequest) Reset() { *x = RestoreFromBackupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[90] + mi := &file_tabletmanagerdata_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4469,7 +4630,7 @@ func (x *RestoreFromBackupRequest) String() string { func (*RestoreFromBackupRequest) ProtoMessage() {} func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[90] + mi := &file_tabletmanagerdata_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4482,7 +4643,7 @@ func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreFromBackupRequest.ProtoReflect.Descriptor instead. func (*RestoreFromBackupRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{90} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{94} } func (x *RestoreFromBackupRequest) GetBackupTime() *vttime.Time { @@ -4503,7 +4664,7 @@ type RestoreFromBackupResponse struct { func (x *RestoreFromBackupResponse) Reset() { *x = RestoreFromBackupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[91] + mi := &file_tabletmanagerdata_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4516,7 +4677,7 @@ func (x *RestoreFromBackupResponse) String() string { func (*RestoreFromBackupResponse) ProtoMessage() {} func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[91] + mi := &file_tabletmanagerdata_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4529,7 +4690,7 @@ func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreFromBackupResponse.ProtoReflect.Descriptor instead. func (*RestoreFromBackupResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{91} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{95} } func (x *RestoreFromBackupResponse) GetEvent() *logutil.Event { @@ -4552,7 +4713,7 @@ type VExecRequest struct { func (x *VExecRequest) Reset() { *x = VExecRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[92] + mi := &file_tabletmanagerdata_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4565,7 +4726,7 @@ func (x *VExecRequest) String() string { func (*VExecRequest) ProtoMessage() {} func (x *VExecRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[92] + mi := &file_tabletmanagerdata_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4578,7 +4739,7 @@ func (x *VExecRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VExecRequest.ProtoReflect.Descriptor instead. func (*VExecRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{92} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{96} } func (x *VExecRequest) GetQuery() string { @@ -4613,7 +4774,7 @@ type VExecResponse struct { func (x *VExecResponse) Reset() { *x = VExecResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[93] + mi := &file_tabletmanagerdata_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4626,7 +4787,7 @@ func (x *VExecResponse) String() string { func (*VExecResponse) ProtoMessage() {} func (x *VExecResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[93] + mi := &file_tabletmanagerdata_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4639,7 +4800,7 @@ func (x *VExecResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VExecResponse.ProtoReflect.Descriptor instead. func (*VExecResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{93} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{97} } func (x *VExecResponse) GetResult() *query.QueryResult { @@ -4665,7 +4826,7 @@ type VDiffRequest struct { func (x *VDiffRequest) Reset() { *x = VDiffRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[94] + mi := &file_tabletmanagerdata_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4678,7 +4839,7 @@ func (x *VDiffRequest) String() string { func (*VDiffRequest) ProtoMessage() {} func (x *VDiffRequest) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[94] + mi := &file_tabletmanagerdata_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4691,7 +4852,7 @@ func (x *VDiffRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffRequest.ProtoReflect.Descriptor instead. func (*VDiffRequest) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{94} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{98} } func (x *VDiffRequest) GetKeyspace() string { @@ -4749,7 +4910,7 @@ type VDiffResponse struct { func (x *VDiffResponse) Reset() { *x = VDiffResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[95] + mi := &file_tabletmanagerdata_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4762,7 +4923,7 @@ func (x *VDiffResponse) String() string { func (*VDiffResponse) ProtoMessage() {} func (x *VDiffResponse) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[95] + mi := &file_tabletmanagerdata_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4775,7 +4936,7 @@ func (x *VDiffResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffResponse.ProtoReflect.Descriptor instead. func (*VDiffResponse) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{95} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{99} } func (x *VDiffResponse) GetId() int64 { @@ -4813,7 +4974,7 @@ type VDiffPickerOptions struct { func (x *VDiffPickerOptions) Reset() { *x = VDiffPickerOptions{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[96] + mi := &file_tabletmanagerdata_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4826,7 +4987,7 @@ func (x *VDiffPickerOptions) String() string { func (*VDiffPickerOptions) ProtoMessage() {} func (x *VDiffPickerOptions) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[96] + mi := &file_tabletmanagerdata_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4839,7 +5000,7 @@ func (x *VDiffPickerOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffPickerOptions.ProtoReflect.Descriptor instead. func (*VDiffPickerOptions) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{96} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{100} } func (x *VDiffPickerOptions) GetTabletTypes() string { @@ -4877,7 +5038,7 @@ type VDiffReportOptions struct { func (x *VDiffReportOptions) Reset() { *x = VDiffReportOptions{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[97] + mi := &file_tabletmanagerdata_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4890,7 +5051,7 @@ func (x *VDiffReportOptions) String() string { func (*VDiffReportOptions) ProtoMessage() {} func (x *VDiffReportOptions) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[97] + mi := &file_tabletmanagerdata_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4903,7 +5064,7 @@ func (x *VDiffReportOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffReportOptions.ProtoReflect.Descriptor instead. func (*VDiffReportOptions) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{97} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{101} } func (x *VDiffReportOptions) GetOnlyPKS() bool { @@ -4944,7 +5105,7 @@ type VDiffCoreOptions struct { func (x *VDiffCoreOptions) Reset() { *x = VDiffCoreOptions{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[98] + mi := &file_tabletmanagerdata_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4957,7 +5118,7 @@ func (x *VDiffCoreOptions) String() string { func (*VDiffCoreOptions) ProtoMessage() {} func (x *VDiffCoreOptions) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[98] + mi := &file_tabletmanagerdata_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4970,7 +5131,7 @@ func (x *VDiffCoreOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffCoreOptions.ProtoReflect.Descriptor instead. func (*VDiffCoreOptions) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{98} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{102} } func (x *VDiffCoreOptions) GetTables() string { @@ -5035,7 +5196,7 @@ type VDiffOptions struct { func (x *VDiffOptions) Reset() { *x = VDiffOptions{} if protoimpl.UnsafeEnabled { - mi := &file_tabletmanagerdata_proto_msgTypes[99] + mi := &file_tabletmanagerdata_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5048,7 +5209,7 @@ func (x *VDiffOptions) String() string { func (*VDiffOptions) ProtoMessage() {} func (x *VDiffOptions) ProtoReflect() protoreflect.Message { - mi := &file_tabletmanagerdata_proto_msgTypes[99] + mi := &file_tabletmanagerdata_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5061,7 +5222,7 @@ func (x *VDiffOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffOptions.ProtoReflect.Descriptor instead. func (*VDiffOptions) Descriptor() ([]byte, []int) { - return file_tabletmanagerdata_proto_rawDescGZIP(), []int{99} + return file_tabletmanagerdata_proto_rawDescGZIP(), []int{103} } func (x *VDiffOptions) GetPickerOptions() *VDiffPickerOptions { @@ -5472,154 +5633,165 @@ var file_tabletmanagerdata_proto_rawDesc = []byte{ 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, - 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x1b, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, - 0x73, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, - 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x1e, 0x0a, 0x1c, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x1a, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x22, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x15, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x24, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x12, 0x46, 0x75, + 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, + 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x36, 0x0a, 0x17, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, + 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, + 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, + 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x1e, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7e, 0x0a, 0x22, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x15, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x13, 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, - 0x65, 0x52, 0x13, 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x23, 0x53, 0x74, 0x6f, 0x70, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, - 0x0a, 0x0d, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x0c, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x33, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, - 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, - 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x34, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x0d, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, - 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, - 0x61, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x49, 0x0a, 0x18, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, - 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x0c, 0x56, 0x45, 0x78, - 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3b, 0x0a, 0x0d, 0x56, 0x45, 0x78, 0x65, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0xdb, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, - 0x62, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x69, 0x66, - 0x66, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, - 0x69, 0x66, 0x66, 0x55, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, - 0x66, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0x6a, 0x0a, 0x0d, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, + 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x23, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, + 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x33, 0x0a, 0x15, 0x50, + 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, + 0x22, 0x34, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x36, + 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x49, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x41, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, + 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x0c, 0x56, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x22, 0x3b, 0x0a, 0x0d, 0x56, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, 0x69, 0x66, 0x66, 0x55, 0x75, 0x69, 0x64, 0x22, 0x79, - 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x22, 0x6a, 0x0a, 0x12, 0x56, 0x44, 0x69, - 0x66, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1b, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x5f, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x53, 0x12, 0x1f, 0x0a, 0x0b, - 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x16, 0x0a, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x81, 0x02, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, - 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x50, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, - 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, - 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x44, - 0x69, 0x66, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x69, - 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x4c, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, - 0x66, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x30, - 0x5a, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0xdb, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, 0x69, 0x66, 0x66, 0x55, 0x75, + 0x69, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6a, 0x0a, + 0x0d, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, + 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, + 0x69, 0x66, 0x66, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x76, 0x64, 0x69, 0x66, 0x66, 0x55, 0x75, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x12, 0x56, 0x44, 0x69, + 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x65, 0x6c, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65, + 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x43, 0x65, 0x6c, 0x6c, 0x22, 0x6a, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x0a, 0x6f, 0x6e, + 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x53, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, + 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x22, 0x81, 0x02, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x6f, 0x72, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, + 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x63, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x63, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, + 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, + 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x72, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66, 0x66, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, + 0x69, 0x66, 0x66, 0x43, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, + 0x63, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x30, 0x5a, 0x2e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, + 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -5634,7 +5806,7 @@ func file_tabletmanagerdata_proto_rawDescGZIP() []byte { return file_tabletmanagerdata_proto_rawDescData } -var file_tabletmanagerdata_proto_msgTypes = make([]protoimpl.MessageInfo, 103) +var file_tabletmanagerdata_proto_msgTypes = make([]protoimpl.MessageInfo, 107) var file_tabletmanagerdata_proto_goTypes = []interface{}{ (*TableDefinition)(nil), // 0: tabletmanagerdata.TableDefinition (*SchemaDefinition)(nil), // 1: tabletmanagerdata.SchemaDefinition @@ -5716,89 +5888,95 @@ var file_tabletmanagerdata_proto_goTypes = []interface{}{ (*UndoDemotePrimaryResponse)(nil), // 77: tabletmanagerdata.UndoDemotePrimaryResponse (*ReplicaWasPromotedRequest)(nil), // 78: tabletmanagerdata.ReplicaWasPromotedRequest (*ReplicaWasPromotedResponse)(nil), // 79: tabletmanagerdata.ReplicaWasPromotedResponse - (*SetReplicationSourceRequest)(nil), // 80: tabletmanagerdata.SetReplicationSourceRequest - (*SetReplicationSourceResponse)(nil), // 81: tabletmanagerdata.SetReplicationSourceResponse - (*ReplicaWasRestartedRequest)(nil), // 82: tabletmanagerdata.ReplicaWasRestartedRequest - (*ReplicaWasRestartedResponse)(nil), // 83: tabletmanagerdata.ReplicaWasRestartedResponse - (*StopReplicationAndGetStatusRequest)(nil), // 84: tabletmanagerdata.StopReplicationAndGetStatusRequest - (*StopReplicationAndGetStatusResponse)(nil), // 85: tabletmanagerdata.StopReplicationAndGetStatusResponse - (*PromoteReplicaRequest)(nil), // 86: tabletmanagerdata.PromoteReplicaRequest - (*PromoteReplicaResponse)(nil), // 87: tabletmanagerdata.PromoteReplicaResponse - (*BackupRequest)(nil), // 88: tabletmanagerdata.BackupRequest - (*BackupResponse)(nil), // 89: tabletmanagerdata.BackupResponse - (*RestoreFromBackupRequest)(nil), // 90: tabletmanagerdata.RestoreFromBackupRequest - (*RestoreFromBackupResponse)(nil), // 91: tabletmanagerdata.RestoreFromBackupResponse - (*VExecRequest)(nil), // 92: tabletmanagerdata.VExecRequest - (*VExecResponse)(nil), // 93: tabletmanagerdata.VExecResponse - (*VDiffRequest)(nil), // 94: tabletmanagerdata.VDiffRequest - (*VDiffResponse)(nil), // 95: tabletmanagerdata.VDiffResponse - (*VDiffPickerOptions)(nil), // 96: tabletmanagerdata.VDiffPickerOptions - (*VDiffReportOptions)(nil), // 97: tabletmanagerdata.VDiffReportOptions - (*VDiffCoreOptions)(nil), // 98: tabletmanagerdata.VDiffCoreOptions - (*VDiffOptions)(nil), // 99: tabletmanagerdata.VDiffOptions - nil, // 100: tabletmanagerdata.UserPermission.PrivilegesEntry - nil, // 101: tabletmanagerdata.DbPermission.PrivilegesEntry - nil, // 102: tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry - (*query.Field)(nil), // 103: query.Field - (topodata.TabletType)(0), // 104: topodata.TabletType - (*vtrpc.CallerID)(nil), // 105: vtrpc.CallerID - (*query.QueryResult)(nil), // 106: query.QueryResult - (*replicationdata.Status)(nil), // 107: replicationdata.Status - (*replicationdata.PrimaryStatus)(nil), // 108: replicationdata.PrimaryStatus - (*topodata.TabletAlias)(nil), // 109: topodata.TabletAlias - (replicationdata.StopReplicationMode)(0), // 110: replicationdata.StopReplicationMode - (*replicationdata.StopReplicationStatus)(nil), // 111: replicationdata.StopReplicationStatus - (*logutil.Event)(nil), // 112: logutil.Event - (*vttime.Time)(nil), // 113: vttime.Time + (*ResetReplicationParametersRequest)(nil), // 80: tabletmanagerdata.ResetReplicationParametersRequest + (*ResetReplicationParametersResponse)(nil), // 81: tabletmanagerdata.ResetReplicationParametersResponse + (*FullStatusRequest)(nil), // 82: tabletmanagerdata.FullStatusRequest + (*FullStatusResponse)(nil), // 83: tabletmanagerdata.FullStatusResponse + (*SetReplicationSourceRequest)(nil), // 84: tabletmanagerdata.SetReplicationSourceRequest + (*SetReplicationSourceResponse)(nil), // 85: tabletmanagerdata.SetReplicationSourceResponse + (*ReplicaWasRestartedRequest)(nil), // 86: tabletmanagerdata.ReplicaWasRestartedRequest + (*ReplicaWasRestartedResponse)(nil), // 87: tabletmanagerdata.ReplicaWasRestartedResponse + (*StopReplicationAndGetStatusRequest)(nil), // 88: tabletmanagerdata.StopReplicationAndGetStatusRequest + (*StopReplicationAndGetStatusResponse)(nil), // 89: tabletmanagerdata.StopReplicationAndGetStatusResponse + (*PromoteReplicaRequest)(nil), // 90: tabletmanagerdata.PromoteReplicaRequest + (*PromoteReplicaResponse)(nil), // 91: tabletmanagerdata.PromoteReplicaResponse + (*BackupRequest)(nil), // 92: tabletmanagerdata.BackupRequest + (*BackupResponse)(nil), // 93: tabletmanagerdata.BackupResponse + (*RestoreFromBackupRequest)(nil), // 94: tabletmanagerdata.RestoreFromBackupRequest + (*RestoreFromBackupResponse)(nil), // 95: tabletmanagerdata.RestoreFromBackupResponse + (*VExecRequest)(nil), // 96: tabletmanagerdata.VExecRequest + (*VExecResponse)(nil), // 97: tabletmanagerdata.VExecResponse + (*VDiffRequest)(nil), // 98: tabletmanagerdata.VDiffRequest + (*VDiffResponse)(nil), // 99: tabletmanagerdata.VDiffResponse + (*VDiffPickerOptions)(nil), // 100: tabletmanagerdata.VDiffPickerOptions + (*VDiffReportOptions)(nil), // 101: tabletmanagerdata.VDiffReportOptions + (*VDiffCoreOptions)(nil), // 102: tabletmanagerdata.VDiffCoreOptions + (*VDiffOptions)(nil), // 103: tabletmanagerdata.VDiffOptions + nil, // 104: tabletmanagerdata.UserPermission.PrivilegesEntry + nil, // 105: tabletmanagerdata.DbPermission.PrivilegesEntry + nil, // 106: tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry + (*query.Field)(nil), // 107: query.Field + (topodata.TabletType)(0), // 108: topodata.TabletType + (*vtrpc.CallerID)(nil), // 109: vtrpc.CallerID + (*query.QueryResult)(nil), // 110: query.QueryResult + (*replicationdata.Status)(nil), // 111: replicationdata.Status + (*replicationdata.PrimaryStatus)(nil), // 112: replicationdata.PrimaryStatus + (*topodata.TabletAlias)(nil), // 113: topodata.TabletAlias + (*replicationdata.FullStatus)(nil), // 114: replicationdata.FullStatus + (replicationdata.StopReplicationMode)(0), // 115: replicationdata.StopReplicationMode + (*replicationdata.StopReplicationStatus)(nil), // 116: replicationdata.StopReplicationStatus + (*logutil.Event)(nil), // 117: logutil.Event + (*vttime.Time)(nil), // 118: vttime.Time } var file_tabletmanagerdata_proto_depIdxs = []int32{ - 103, // 0: tabletmanagerdata.TableDefinition.fields:type_name -> query.Field + 107, // 0: tabletmanagerdata.TableDefinition.fields:type_name -> query.Field 0, // 1: tabletmanagerdata.SchemaDefinition.table_definitions:type_name -> tabletmanagerdata.TableDefinition 1, // 2: tabletmanagerdata.SchemaChangeResult.before_schema:type_name -> tabletmanagerdata.SchemaDefinition 1, // 3: tabletmanagerdata.SchemaChangeResult.after_schema:type_name -> tabletmanagerdata.SchemaDefinition - 100, // 4: tabletmanagerdata.UserPermission.privileges:type_name -> tabletmanagerdata.UserPermission.PrivilegesEntry - 101, // 5: tabletmanagerdata.DbPermission.privileges:type_name -> tabletmanagerdata.DbPermission.PrivilegesEntry + 104, // 4: tabletmanagerdata.UserPermission.privileges:type_name -> tabletmanagerdata.UserPermission.PrivilegesEntry + 105, // 5: tabletmanagerdata.DbPermission.privileges:type_name -> tabletmanagerdata.DbPermission.PrivilegesEntry 3, // 6: tabletmanagerdata.Permissions.user_permissions:type_name -> tabletmanagerdata.UserPermission 4, // 7: tabletmanagerdata.Permissions.db_permissions:type_name -> tabletmanagerdata.DbPermission - 102, // 8: tabletmanagerdata.ExecuteHookRequest.extra_env:type_name -> tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry + 106, // 8: tabletmanagerdata.ExecuteHookRequest.extra_env:type_name -> tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry 1, // 9: tabletmanagerdata.GetSchemaResponse.schema_definition:type_name -> tabletmanagerdata.SchemaDefinition 5, // 10: tabletmanagerdata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions - 104, // 11: tabletmanagerdata.ChangeTypeRequest.tablet_type:type_name -> topodata.TabletType + 108, // 11: tabletmanagerdata.ChangeTypeRequest.tablet_type:type_name -> topodata.TabletType 2, // 12: tabletmanagerdata.PreflightSchemaResponse.change_results:type_name -> tabletmanagerdata.SchemaChangeResult 1, // 13: tabletmanagerdata.ApplySchemaRequest.before_schema:type_name -> tabletmanagerdata.SchemaDefinition 1, // 14: tabletmanagerdata.ApplySchemaRequest.after_schema:type_name -> tabletmanagerdata.SchemaDefinition 1, // 15: tabletmanagerdata.ApplySchemaResponse.before_schema:type_name -> tabletmanagerdata.SchemaDefinition 1, // 16: tabletmanagerdata.ApplySchemaResponse.after_schema:type_name -> tabletmanagerdata.SchemaDefinition - 105, // 17: tabletmanagerdata.ExecuteQueryRequest.caller_id:type_name -> vtrpc.CallerID - 106, // 18: tabletmanagerdata.ExecuteQueryResponse.result:type_name -> query.QueryResult - 106, // 19: tabletmanagerdata.ExecuteFetchAsDbaResponse.result:type_name -> query.QueryResult - 106, // 20: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse.result:type_name -> query.QueryResult - 106, // 21: tabletmanagerdata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult - 107, // 22: tabletmanagerdata.ReplicationStatusResponse.status:type_name -> replicationdata.Status - 108, // 23: tabletmanagerdata.PrimaryStatusResponse.status:type_name -> replicationdata.PrimaryStatus - 106, // 24: tabletmanagerdata.VReplicationExecResponse.result:type_name -> query.QueryResult - 109, // 25: tabletmanagerdata.PopulateReparentJournalRequest.primary_alias:type_name -> topodata.TabletAlias - 109, // 26: tabletmanagerdata.InitReplicaRequest.parent:type_name -> topodata.TabletAlias - 108, // 27: tabletmanagerdata.DemotePrimaryResponse.primary_status:type_name -> replicationdata.PrimaryStatus - 109, // 28: tabletmanagerdata.SetReplicationSourceRequest.parent:type_name -> topodata.TabletAlias - 109, // 29: tabletmanagerdata.ReplicaWasRestartedRequest.parent:type_name -> topodata.TabletAlias - 110, // 30: tabletmanagerdata.StopReplicationAndGetStatusRequest.stop_replication_mode:type_name -> replicationdata.StopReplicationMode - 107, // 31: tabletmanagerdata.StopReplicationAndGetStatusResponse.hybrid_status:type_name -> replicationdata.Status - 111, // 32: tabletmanagerdata.StopReplicationAndGetStatusResponse.status:type_name -> replicationdata.StopReplicationStatus - 112, // 33: tabletmanagerdata.BackupResponse.event:type_name -> logutil.Event - 113, // 34: tabletmanagerdata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time - 112, // 35: tabletmanagerdata.RestoreFromBackupResponse.event:type_name -> logutil.Event - 106, // 36: tabletmanagerdata.VExecResponse.result:type_name -> query.QueryResult - 99, // 37: tabletmanagerdata.VDiffRequest.options:type_name -> tabletmanagerdata.VDiffOptions - 106, // 38: tabletmanagerdata.VDiffResponse.output:type_name -> query.QueryResult - 96, // 39: tabletmanagerdata.VDiffOptions.picker_options:type_name -> tabletmanagerdata.VDiffPickerOptions - 98, // 40: tabletmanagerdata.VDiffOptions.core_options:type_name -> tabletmanagerdata.VDiffCoreOptions - 97, // 41: tabletmanagerdata.VDiffOptions.report_options:type_name -> tabletmanagerdata.VDiffReportOptions - 42, // [42:42] is the sub-list for method output_type - 42, // [42:42] is the sub-list for method input_type - 42, // [42:42] is the sub-list for extension type_name - 42, // [42:42] is the sub-list for extension extendee - 0, // [0:42] is the sub-list for field type_name + 109, // 17: tabletmanagerdata.ExecuteQueryRequest.caller_id:type_name -> vtrpc.CallerID + 110, // 18: tabletmanagerdata.ExecuteQueryResponse.result:type_name -> query.QueryResult + 110, // 19: tabletmanagerdata.ExecuteFetchAsDbaResponse.result:type_name -> query.QueryResult + 110, // 20: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse.result:type_name -> query.QueryResult + 110, // 21: tabletmanagerdata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult + 111, // 22: tabletmanagerdata.ReplicationStatusResponse.status:type_name -> replicationdata.Status + 112, // 23: tabletmanagerdata.PrimaryStatusResponse.status:type_name -> replicationdata.PrimaryStatus + 110, // 24: tabletmanagerdata.VReplicationExecResponse.result:type_name -> query.QueryResult + 113, // 25: tabletmanagerdata.PopulateReparentJournalRequest.primary_alias:type_name -> topodata.TabletAlias + 113, // 26: tabletmanagerdata.InitReplicaRequest.parent:type_name -> topodata.TabletAlias + 112, // 27: tabletmanagerdata.DemotePrimaryResponse.primary_status:type_name -> replicationdata.PrimaryStatus + 114, // 28: tabletmanagerdata.FullStatusResponse.status:type_name -> replicationdata.FullStatus + 113, // 29: tabletmanagerdata.SetReplicationSourceRequest.parent:type_name -> topodata.TabletAlias + 113, // 30: tabletmanagerdata.ReplicaWasRestartedRequest.parent:type_name -> topodata.TabletAlias + 115, // 31: tabletmanagerdata.StopReplicationAndGetStatusRequest.stop_replication_mode:type_name -> replicationdata.StopReplicationMode + 111, // 32: tabletmanagerdata.StopReplicationAndGetStatusResponse.hybrid_status:type_name -> replicationdata.Status + 116, // 33: tabletmanagerdata.StopReplicationAndGetStatusResponse.status:type_name -> replicationdata.StopReplicationStatus + 117, // 34: tabletmanagerdata.BackupResponse.event:type_name -> logutil.Event + 118, // 35: tabletmanagerdata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time + 117, // 36: tabletmanagerdata.RestoreFromBackupResponse.event:type_name -> logutil.Event + 110, // 37: tabletmanagerdata.VExecResponse.result:type_name -> query.QueryResult + 103, // 38: tabletmanagerdata.VDiffRequest.options:type_name -> tabletmanagerdata.VDiffOptions + 110, // 39: tabletmanagerdata.VDiffResponse.output:type_name -> query.QueryResult + 100, // 40: tabletmanagerdata.VDiffOptions.picker_options:type_name -> tabletmanagerdata.VDiffPickerOptions + 102, // 41: tabletmanagerdata.VDiffOptions.core_options:type_name -> tabletmanagerdata.VDiffCoreOptions + 101, // 42: tabletmanagerdata.VDiffOptions.report_options:type_name -> tabletmanagerdata.VDiffReportOptions + 43, // [43:43] is the sub-list for method output_type + 43, // [43:43] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] is the sub-list for field type_name } func init() { file_tabletmanagerdata_proto_init() } @@ -6768,7 +6946,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetReplicationSourceRequest); i { + switch v := v.(*ResetReplicationParametersRequest); i { case 0: return &v.state case 1: @@ -6780,7 +6958,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetReplicationSourceResponse); i { + switch v := v.(*ResetReplicationParametersResponse); i { case 0: return &v.state case 1: @@ -6792,7 +6970,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicaWasRestartedRequest); i { + switch v := v.(*FullStatusRequest); i { case 0: return &v.state case 1: @@ -6804,7 +6982,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicaWasRestartedResponse); i { + switch v := v.(*FullStatusResponse); i { case 0: return &v.state case 1: @@ -6816,7 +6994,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopReplicationAndGetStatusRequest); i { + switch v := v.(*SetReplicationSourceRequest); i { case 0: return &v.state case 1: @@ -6828,7 +7006,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopReplicationAndGetStatusResponse); i { + switch v := v.(*SetReplicationSourceResponse); i { case 0: return &v.state case 1: @@ -6840,7 +7018,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PromoteReplicaRequest); i { + switch v := v.(*ReplicaWasRestartedRequest); i { case 0: return &v.state case 1: @@ -6852,7 +7030,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PromoteReplicaResponse); i { + switch v := v.(*ReplicaWasRestartedResponse); i { case 0: return &v.state case 1: @@ -6864,7 +7042,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupRequest); i { + switch v := v.(*StopReplicationAndGetStatusRequest); i { case 0: return &v.state case 1: @@ -6876,7 +7054,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupResponse); i { + switch v := v.(*StopReplicationAndGetStatusResponse); i { case 0: return &v.state case 1: @@ -6888,7 +7066,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreFromBackupRequest); i { + switch v := v.(*PromoteReplicaRequest); i { case 0: return &v.state case 1: @@ -6900,7 +7078,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreFromBackupResponse); i { + switch v := v.(*PromoteReplicaResponse); i { case 0: return &v.state case 1: @@ -6912,7 +7090,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VExecRequest); i { + switch v := v.(*BackupRequest); i { case 0: return &v.state case 1: @@ -6924,7 +7102,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VExecResponse); i { + switch v := v.(*BackupResponse); i { case 0: return &v.state case 1: @@ -6936,7 +7114,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VDiffRequest); i { + switch v := v.(*RestoreFromBackupRequest); i { case 0: return &v.state case 1: @@ -6948,7 +7126,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VDiffResponse); i { + switch v := v.(*RestoreFromBackupResponse); i { case 0: return &v.state case 1: @@ -6960,7 +7138,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VDiffPickerOptions); i { + switch v := v.(*VExecRequest); i { case 0: return &v.state case 1: @@ -6972,7 +7150,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VDiffReportOptions); i { + switch v := v.(*VExecResponse); i { case 0: return &v.state case 1: @@ -6984,7 +7162,7 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VDiffCoreOptions); i { + switch v := v.(*VDiffRequest); i { case 0: return &v.state case 1: @@ -6996,6 +7174,54 @@ func file_tabletmanagerdata_proto_init() { } } file_tabletmanagerdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VDiffResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tabletmanagerdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VDiffPickerOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tabletmanagerdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VDiffReportOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tabletmanagerdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VDiffCoreOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tabletmanagerdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffOptions); i { case 0: return &v.state @@ -7014,7 +7240,7 @@ func file_tabletmanagerdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tabletmanagerdata_proto_rawDesc, NumEnums: 0, - NumMessages: 103, + NumMessages: 107, NumExtensions: 0, NumServices: 0, }, diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go index 394df36e46a..006ce8e4ef9 100644 --- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go +++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go @@ -3478,6 +3478,148 @@ func (m *ReplicaWasPromotedResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e return len(dAtA) - i, nil } +func (m *ResetReplicationParametersRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResetReplicationParametersRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ResetReplicationParametersRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *ResetReplicationParametersResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResetReplicationParametersResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ResetReplicationParametersResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *FullStatusRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FullStatusRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FullStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *FullStatusResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FullStatusResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FullStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Status != nil { + size, err := m.Status.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *SetReplicationSourceRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -5869,6 +6011,58 @@ func (m *ReplicaWasPromotedResponse) SizeVT() (n int) { return n } +func (m *ResetReplicationParametersRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.unknownFields != nil { + n += len(m.unknownFields) + } + return n +} + +func (m *ResetReplicationParametersResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.unknownFields != nil { + n += len(m.unknownFields) + } + return n +} + +func (m *FullStatusRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.unknownFields != nil { + n += len(m.unknownFields) + } + return n +} + +func (m *FullStatusResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Status != nil { + l = m.Status.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.unknownFields != nil { + n += len(m.unknownFields) + } + return n +} + func (m *SetReplicationSourceRequest) SizeVT() (n int) { if m == nil { return 0 @@ -13515,6 +13709,246 @@ func (m *ReplicaWasPromotedResponse) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *ResetReplicationParametersRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ResetReplicationParametersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResetReplicationParametersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ResetReplicationParametersResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ResetReplicationParametersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResetReplicationParametersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *FullStatusRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: FullStatusRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullStatusRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *FullStatusResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: FullStatusResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullStatusResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Status == nil { + m.Status = &replicationdata.FullStatus{} + } + if err := m.Status.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go b/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go index a24ece55c31..949fb7da66a 100644 --- a/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go +++ b/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go @@ -45,7 +45,7 @@ var file_tabletmanagerservice_proto_rawDesc = []byte{ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x17, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xa9, 0x25, 0x0a, 0x0d, + 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x94, 0x27, 0x0a, 0x0d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, @@ -296,59 +296,73 @@ var file_tabletmanagerservice_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x2e, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0a, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x24, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x79, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, + 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, + 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x28, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, + 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, + 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x72, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x30, 0x01, 0x12, 0x4c, 0x0a, 0x05, 0x56, 0x45, 0x78, 0x65, 0x63, 0x12, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x6f, - 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, - 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x36, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e, 0x50, 0x72, 0x6f, - 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x28, 0x2e, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x51, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x20, 0x2e, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x61, 0x2e, 0x56, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x4c, 0x0a, 0x05, 0x56, 0x45, 0x78, - 0x65, 0x63, 0x12, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, - 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x61, 0x2e, 0x56, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_tabletmanagerservice_proto_goTypes = []interface{}{ @@ -390,58 +404,62 @@ var file_tabletmanagerservice_proto_goTypes = []interface{}{ (*tabletmanagerdata.DemotePrimaryRequest)(nil), // 35: tabletmanagerdata.DemotePrimaryRequest (*tabletmanagerdata.UndoDemotePrimaryRequest)(nil), // 36: tabletmanagerdata.UndoDemotePrimaryRequest (*tabletmanagerdata.ReplicaWasPromotedRequest)(nil), // 37: tabletmanagerdata.ReplicaWasPromotedRequest - (*tabletmanagerdata.SetReplicationSourceRequest)(nil), // 38: tabletmanagerdata.SetReplicationSourceRequest - (*tabletmanagerdata.ReplicaWasRestartedRequest)(nil), // 39: tabletmanagerdata.ReplicaWasRestartedRequest - (*tabletmanagerdata.StopReplicationAndGetStatusRequest)(nil), // 40: tabletmanagerdata.StopReplicationAndGetStatusRequest - (*tabletmanagerdata.PromoteReplicaRequest)(nil), // 41: tabletmanagerdata.PromoteReplicaRequest - (*tabletmanagerdata.BackupRequest)(nil), // 42: tabletmanagerdata.BackupRequest - (*tabletmanagerdata.RestoreFromBackupRequest)(nil), // 43: tabletmanagerdata.RestoreFromBackupRequest - (*tabletmanagerdata.VExecRequest)(nil), // 44: tabletmanagerdata.VExecRequest - (*tabletmanagerdata.PingResponse)(nil), // 45: tabletmanagerdata.PingResponse - (*tabletmanagerdata.SleepResponse)(nil), // 46: tabletmanagerdata.SleepResponse - (*tabletmanagerdata.ExecuteHookResponse)(nil), // 47: tabletmanagerdata.ExecuteHookResponse - (*tabletmanagerdata.GetSchemaResponse)(nil), // 48: tabletmanagerdata.GetSchemaResponse - (*tabletmanagerdata.GetPermissionsResponse)(nil), // 49: tabletmanagerdata.GetPermissionsResponse - (*tabletmanagerdata.SetReadOnlyResponse)(nil), // 50: tabletmanagerdata.SetReadOnlyResponse - (*tabletmanagerdata.SetReadWriteResponse)(nil), // 51: tabletmanagerdata.SetReadWriteResponse - (*tabletmanagerdata.ChangeTypeResponse)(nil), // 52: tabletmanagerdata.ChangeTypeResponse - (*tabletmanagerdata.RefreshStateResponse)(nil), // 53: tabletmanagerdata.RefreshStateResponse - (*tabletmanagerdata.RunHealthCheckResponse)(nil), // 54: tabletmanagerdata.RunHealthCheckResponse - (*tabletmanagerdata.ReloadSchemaResponse)(nil), // 55: tabletmanagerdata.ReloadSchemaResponse - (*tabletmanagerdata.PreflightSchemaResponse)(nil), // 56: tabletmanagerdata.PreflightSchemaResponse - (*tabletmanagerdata.ApplySchemaResponse)(nil), // 57: tabletmanagerdata.ApplySchemaResponse - (*tabletmanagerdata.LockTablesResponse)(nil), // 58: tabletmanagerdata.LockTablesResponse - (*tabletmanagerdata.UnlockTablesResponse)(nil), // 59: tabletmanagerdata.UnlockTablesResponse - (*tabletmanagerdata.ExecuteQueryResponse)(nil), // 60: tabletmanagerdata.ExecuteQueryResponse - (*tabletmanagerdata.ExecuteFetchAsDbaResponse)(nil), // 61: tabletmanagerdata.ExecuteFetchAsDbaResponse - (*tabletmanagerdata.ExecuteFetchAsAllPrivsResponse)(nil), // 62: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse - (*tabletmanagerdata.ExecuteFetchAsAppResponse)(nil), // 63: tabletmanagerdata.ExecuteFetchAsAppResponse - (*tabletmanagerdata.ReplicationStatusResponse)(nil), // 64: tabletmanagerdata.ReplicationStatusResponse - (*tabletmanagerdata.PrimaryStatusResponse)(nil), // 65: tabletmanagerdata.PrimaryStatusResponse - (*tabletmanagerdata.PrimaryPositionResponse)(nil), // 66: tabletmanagerdata.PrimaryPositionResponse - (*tabletmanagerdata.WaitForPositionResponse)(nil), // 67: tabletmanagerdata.WaitForPositionResponse - (*tabletmanagerdata.StopReplicationResponse)(nil), // 68: tabletmanagerdata.StopReplicationResponse - (*tabletmanagerdata.StopReplicationMinimumResponse)(nil), // 69: tabletmanagerdata.StopReplicationMinimumResponse - (*tabletmanagerdata.StartReplicationResponse)(nil), // 70: tabletmanagerdata.StartReplicationResponse - (*tabletmanagerdata.StartReplicationUntilAfterResponse)(nil), // 71: tabletmanagerdata.StartReplicationUntilAfterResponse - (*tabletmanagerdata.GetReplicasResponse)(nil), // 72: tabletmanagerdata.GetReplicasResponse - (*tabletmanagerdata.VReplicationExecResponse)(nil), // 73: tabletmanagerdata.VReplicationExecResponse - (*tabletmanagerdata.VReplicationWaitForPosResponse)(nil), // 74: tabletmanagerdata.VReplicationWaitForPosResponse - (*tabletmanagerdata.VDiffResponse)(nil), // 75: tabletmanagerdata.VDiffResponse - (*tabletmanagerdata.ResetReplicationResponse)(nil), // 76: tabletmanagerdata.ResetReplicationResponse - (*tabletmanagerdata.InitPrimaryResponse)(nil), // 77: tabletmanagerdata.InitPrimaryResponse - (*tabletmanagerdata.PopulateReparentJournalResponse)(nil), // 78: tabletmanagerdata.PopulateReparentJournalResponse - (*tabletmanagerdata.InitReplicaResponse)(nil), // 79: tabletmanagerdata.InitReplicaResponse - (*tabletmanagerdata.DemotePrimaryResponse)(nil), // 80: tabletmanagerdata.DemotePrimaryResponse - (*tabletmanagerdata.UndoDemotePrimaryResponse)(nil), // 81: tabletmanagerdata.UndoDemotePrimaryResponse - (*tabletmanagerdata.ReplicaWasPromotedResponse)(nil), // 82: tabletmanagerdata.ReplicaWasPromotedResponse - (*tabletmanagerdata.SetReplicationSourceResponse)(nil), // 83: tabletmanagerdata.SetReplicationSourceResponse - (*tabletmanagerdata.ReplicaWasRestartedResponse)(nil), // 84: tabletmanagerdata.ReplicaWasRestartedResponse - (*tabletmanagerdata.StopReplicationAndGetStatusResponse)(nil), // 85: tabletmanagerdata.StopReplicationAndGetStatusResponse - (*tabletmanagerdata.PromoteReplicaResponse)(nil), // 86: tabletmanagerdata.PromoteReplicaResponse - (*tabletmanagerdata.BackupResponse)(nil), // 87: tabletmanagerdata.BackupResponse - (*tabletmanagerdata.RestoreFromBackupResponse)(nil), // 88: tabletmanagerdata.RestoreFromBackupResponse - (*tabletmanagerdata.VExecResponse)(nil), // 89: tabletmanagerdata.VExecResponse + (*tabletmanagerdata.ResetReplicationParametersRequest)(nil), // 38: tabletmanagerdata.ResetReplicationParametersRequest + (*tabletmanagerdata.FullStatusRequest)(nil), // 39: tabletmanagerdata.FullStatusRequest + (*tabletmanagerdata.SetReplicationSourceRequest)(nil), // 40: tabletmanagerdata.SetReplicationSourceRequest + (*tabletmanagerdata.ReplicaWasRestartedRequest)(nil), // 41: tabletmanagerdata.ReplicaWasRestartedRequest + (*tabletmanagerdata.StopReplicationAndGetStatusRequest)(nil), // 42: tabletmanagerdata.StopReplicationAndGetStatusRequest + (*tabletmanagerdata.PromoteReplicaRequest)(nil), // 43: tabletmanagerdata.PromoteReplicaRequest + (*tabletmanagerdata.BackupRequest)(nil), // 44: tabletmanagerdata.BackupRequest + (*tabletmanagerdata.RestoreFromBackupRequest)(nil), // 45: tabletmanagerdata.RestoreFromBackupRequest + (*tabletmanagerdata.VExecRequest)(nil), // 46: tabletmanagerdata.VExecRequest + (*tabletmanagerdata.PingResponse)(nil), // 47: tabletmanagerdata.PingResponse + (*tabletmanagerdata.SleepResponse)(nil), // 48: tabletmanagerdata.SleepResponse + (*tabletmanagerdata.ExecuteHookResponse)(nil), // 49: tabletmanagerdata.ExecuteHookResponse + (*tabletmanagerdata.GetSchemaResponse)(nil), // 50: tabletmanagerdata.GetSchemaResponse + (*tabletmanagerdata.GetPermissionsResponse)(nil), // 51: tabletmanagerdata.GetPermissionsResponse + (*tabletmanagerdata.SetReadOnlyResponse)(nil), // 52: tabletmanagerdata.SetReadOnlyResponse + (*tabletmanagerdata.SetReadWriteResponse)(nil), // 53: tabletmanagerdata.SetReadWriteResponse + (*tabletmanagerdata.ChangeTypeResponse)(nil), // 54: tabletmanagerdata.ChangeTypeResponse + (*tabletmanagerdata.RefreshStateResponse)(nil), // 55: tabletmanagerdata.RefreshStateResponse + (*tabletmanagerdata.RunHealthCheckResponse)(nil), // 56: tabletmanagerdata.RunHealthCheckResponse + (*tabletmanagerdata.ReloadSchemaResponse)(nil), // 57: tabletmanagerdata.ReloadSchemaResponse + (*tabletmanagerdata.PreflightSchemaResponse)(nil), // 58: tabletmanagerdata.PreflightSchemaResponse + (*tabletmanagerdata.ApplySchemaResponse)(nil), // 59: tabletmanagerdata.ApplySchemaResponse + (*tabletmanagerdata.LockTablesResponse)(nil), // 60: tabletmanagerdata.LockTablesResponse + (*tabletmanagerdata.UnlockTablesResponse)(nil), // 61: tabletmanagerdata.UnlockTablesResponse + (*tabletmanagerdata.ExecuteQueryResponse)(nil), // 62: tabletmanagerdata.ExecuteQueryResponse + (*tabletmanagerdata.ExecuteFetchAsDbaResponse)(nil), // 63: tabletmanagerdata.ExecuteFetchAsDbaResponse + (*tabletmanagerdata.ExecuteFetchAsAllPrivsResponse)(nil), // 64: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse + (*tabletmanagerdata.ExecuteFetchAsAppResponse)(nil), // 65: tabletmanagerdata.ExecuteFetchAsAppResponse + (*tabletmanagerdata.ReplicationStatusResponse)(nil), // 66: tabletmanagerdata.ReplicationStatusResponse + (*tabletmanagerdata.PrimaryStatusResponse)(nil), // 67: tabletmanagerdata.PrimaryStatusResponse + (*tabletmanagerdata.PrimaryPositionResponse)(nil), // 68: tabletmanagerdata.PrimaryPositionResponse + (*tabletmanagerdata.WaitForPositionResponse)(nil), // 69: tabletmanagerdata.WaitForPositionResponse + (*tabletmanagerdata.StopReplicationResponse)(nil), // 70: tabletmanagerdata.StopReplicationResponse + (*tabletmanagerdata.StopReplicationMinimumResponse)(nil), // 71: tabletmanagerdata.StopReplicationMinimumResponse + (*tabletmanagerdata.StartReplicationResponse)(nil), // 72: tabletmanagerdata.StartReplicationResponse + (*tabletmanagerdata.StartReplicationUntilAfterResponse)(nil), // 73: tabletmanagerdata.StartReplicationUntilAfterResponse + (*tabletmanagerdata.GetReplicasResponse)(nil), // 74: tabletmanagerdata.GetReplicasResponse + (*tabletmanagerdata.VReplicationExecResponse)(nil), // 75: tabletmanagerdata.VReplicationExecResponse + (*tabletmanagerdata.VReplicationWaitForPosResponse)(nil), // 76: tabletmanagerdata.VReplicationWaitForPosResponse + (*tabletmanagerdata.VDiffResponse)(nil), // 77: tabletmanagerdata.VDiffResponse + (*tabletmanagerdata.ResetReplicationResponse)(nil), // 78: tabletmanagerdata.ResetReplicationResponse + (*tabletmanagerdata.InitPrimaryResponse)(nil), // 79: tabletmanagerdata.InitPrimaryResponse + (*tabletmanagerdata.PopulateReparentJournalResponse)(nil), // 80: tabletmanagerdata.PopulateReparentJournalResponse + (*tabletmanagerdata.InitReplicaResponse)(nil), // 81: tabletmanagerdata.InitReplicaResponse + (*tabletmanagerdata.DemotePrimaryResponse)(nil), // 82: tabletmanagerdata.DemotePrimaryResponse + (*tabletmanagerdata.UndoDemotePrimaryResponse)(nil), // 83: tabletmanagerdata.UndoDemotePrimaryResponse + (*tabletmanagerdata.ReplicaWasPromotedResponse)(nil), // 84: tabletmanagerdata.ReplicaWasPromotedResponse + (*tabletmanagerdata.ResetReplicationParametersResponse)(nil), // 85: tabletmanagerdata.ResetReplicationParametersResponse + (*tabletmanagerdata.FullStatusResponse)(nil), // 86: tabletmanagerdata.FullStatusResponse + (*tabletmanagerdata.SetReplicationSourceResponse)(nil), // 87: tabletmanagerdata.SetReplicationSourceResponse + (*tabletmanagerdata.ReplicaWasRestartedResponse)(nil), // 88: tabletmanagerdata.ReplicaWasRestartedResponse + (*tabletmanagerdata.StopReplicationAndGetStatusResponse)(nil), // 89: tabletmanagerdata.StopReplicationAndGetStatusResponse + (*tabletmanagerdata.PromoteReplicaResponse)(nil), // 90: tabletmanagerdata.PromoteReplicaResponse + (*tabletmanagerdata.BackupResponse)(nil), // 91: tabletmanagerdata.BackupResponse + (*tabletmanagerdata.RestoreFromBackupResponse)(nil), // 92: tabletmanagerdata.RestoreFromBackupResponse + (*tabletmanagerdata.VExecResponse)(nil), // 93: tabletmanagerdata.VExecResponse } var file_tabletmanagerservice_proto_depIdxs = []int32{ 0, // 0: tabletmanagerservice.TabletManager.Ping:input_type -> tabletmanagerdata.PingRequest @@ -482,60 +500,64 @@ var file_tabletmanagerservice_proto_depIdxs = []int32{ 35, // 35: tabletmanagerservice.TabletManager.DemotePrimary:input_type -> tabletmanagerdata.DemotePrimaryRequest 36, // 36: tabletmanagerservice.TabletManager.UndoDemotePrimary:input_type -> tabletmanagerdata.UndoDemotePrimaryRequest 37, // 37: tabletmanagerservice.TabletManager.ReplicaWasPromoted:input_type -> tabletmanagerdata.ReplicaWasPromotedRequest - 38, // 38: tabletmanagerservice.TabletManager.SetReplicationSource:input_type -> tabletmanagerdata.SetReplicationSourceRequest - 39, // 39: tabletmanagerservice.TabletManager.ReplicaWasRestarted:input_type -> tabletmanagerdata.ReplicaWasRestartedRequest - 40, // 40: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:input_type -> tabletmanagerdata.StopReplicationAndGetStatusRequest - 41, // 41: tabletmanagerservice.TabletManager.PromoteReplica:input_type -> tabletmanagerdata.PromoteReplicaRequest - 42, // 42: tabletmanagerservice.TabletManager.Backup:input_type -> tabletmanagerdata.BackupRequest - 43, // 43: tabletmanagerservice.TabletManager.RestoreFromBackup:input_type -> tabletmanagerdata.RestoreFromBackupRequest - 44, // 44: tabletmanagerservice.TabletManager.VExec:input_type -> tabletmanagerdata.VExecRequest - 45, // 45: tabletmanagerservice.TabletManager.Ping:output_type -> tabletmanagerdata.PingResponse - 46, // 46: tabletmanagerservice.TabletManager.Sleep:output_type -> tabletmanagerdata.SleepResponse - 47, // 47: tabletmanagerservice.TabletManager.ExecuteHook:output_type -> tabletmanagerdata.ExecuteHookResponse - 48, // 48: tabletmanagerservice.TabletManager.GetSchema:output_type -> tabletmanagerdata.GetSchemaResponse - 49, // 49: tabletmanagerservice.TabletManager.GetPermissions:output_type -> tabletmanagerdata.GetPermissionsResponse - 50, // 50: tabletmanagerservice.TabletManager.SetReadOnly:output_type -> tabletmanagerdata.SetReadOnlyResponse - 51, // 51: tabletmanagerservice.TabletManager.SetReadWrite:output_type -> tabletmanagerdata.SetReadWriteResponse - 52, // 52: tabletmanagerservice.TabletManager.ChangeType:output_type -> tabletmanagerdata.ChangeTypeResponse - 53, // 53: tabletmanagerservice.TabletManager.RefreshState:output_type -> tabletmanagerdata.RefreshStateResponse - 54, // 54: tabletmanagerservice.TabletManager.RunHealthCheck:output_type -> tabletmanagerdata.RunHealthCheckResponse - 55, // 55: tabletmanagerservice.TabletManager.ReloadSchema:output_type -> tabletmanagerdata.ReloadSchemaResponse - 56, // 56: tabletmanagerservice.TabletManager.PreflightSchema:output_type -> tabletmanagerdata.PreflightSchemaResponse - 57, // 57: tabletmanagerservice.TabletManager.ApplySchema:output_type -> tabletmanagerdata.ApplySchemaResponse - 58, // 58: tabletmanagerservice.TabletManager.LockTables:output_type -> tabletmanagerdata.LockTablesResponse - 59, // 59: tabletmanagerservice.TabletManager.UnlockTables:output_type -> tabletmanagerdata.UnlockTablesResponse - 60, // 60: tabletmanagerservice.TabletManager.ExecuteQuery:output_type -> tabletmanagerdata.ExecuteQueryResponse - 61, // 61: tabletmanagerservice.TabletManager.ExecuteFetchAsDba:output_type -> tabletmanagerdata.ExecuteFetchAsDbaResponse - 62, // 62: tabletmanagerservice.TabletManager.ExecuteFetchAsAllPrivs:output_type -> tabletmanagerdata.ExecuteFetchAsAllPrivsResponse - 63, // 63: tabletmanagerservice.TabletManager.ExecuteFetchAsApp:output_type -> tabletmanagerdata.ExecuteFetchAsAppResponse - 64, // 64: tabletmanagerservice.TabletManager.ReplicationStatus:output_type -> tabletmanagerdata.ReplicationStatusResponse - 65, // 65: tabletmanagerservice.TabletManager.PrimaryStatus:output_type -> tabletmanagerdata.PrimaryStatusResponse - 66, // 66: tabletmanagerservice.TabletManager.PrimaryPosition:output_type -> tabletmanagerdata.PrimaryPositionResponse - 67, // 67: tabletmanagerservice.TabletManager.WaitForPosition:output_type -> tabletmanagerdata.WaitForPositionResponse - 68, // 68: tabletmanagerservice.TabletManager.StopReplication:output_type -> tabletmanagerdata.StopReplicationResponse - 69, // 69: tabletmanagerservice.TabletManager.StopReplicationMinimum:output_type -> tabletmanagerdata.StopReplicationMinimumResponse - 70, // 70: tabletmanagerservice.TabletManager.StartReplication:output_type -> tabletmanagerdata.StartReplicationResponse - 71, // 71: tabletmanagerservice.TabletManager.StartReplicationUntilAfter:output_type -> tabletmanagerdata.StartReplicationUntilAfterResponse - 72, // 72: tabletmanagerservice.TabletManager.GetReplicas:output_type -> tabletmanagerdata.GetReplicasResponse - 73, // 73: tabletmanagerservice.TabletManager.VReplicationExec:output_type -> tabletmanagerdata.VReplicationExecResponse - 74, // 74: tabletmanagerservice.TabletManager.VReplicationWaitForPos:output_type -> tabletmanagerdata.VReplicationWaitForPosResponse - 75, // 75: tabletmanagerservice.TabletManager.VDiff:output_type -> tabletmanagerdata.VDiffResponse - 76, // 76: tabletmanagerservice.TabletManager.ResetReplication:output_type -> tabletmanagerdata.ResetReplicationResponse - 77, // 77: tabletmanagerservice.TabletManager.InitPrimary:output_type -> tabletmanagerdata.InitPrimaryResponse - 78, // 78: tabletmanagerservice.TabletManager.PopulateReparentJournal:output_type -> tabletmanagerdata.PopulateReparentJournalResponse - 79, // 79: tabletmanagerservice.TabletManager.InitReplica:output_type -> tabletmanagerdata.InitReplicaResponse - 80, // 80: tabletmanagerservice.TabletManager.DemotePrimary:output_type -> tabletmanagerdata.DemotePrimaryResponse - 81, // 81: tabletmanagerservice.TabletManager.UndoDemotePrimary:output_type -> tabletmanagerdata.UndoDemotePrimaryResponse - 82, // 82: tabletmanagerservice.TabletManager.ReplicaWasPromoted:output_type -> tabletmanagerdata.ReplicaWasPromotedResponse - 83, // 83: tabletmanagerservice.TabletManager.SetReplicationSource:output_type -> tabletmanagerdata.SetReplicationSourceResponse - 84, // 84: tabletmanagerservice.TabletManager.ReplicaWasRestarted:output_type -> tabletmanagerdata.ReplicaWasRestartedResponse - 85, // 85: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:output_type -> tabletmanagerdata.StopReplicationAndGetStatusResponse - 86, // 86: tabletmanagerservice.TabletManager.PromoteReplica:output_type -> tabletmanagerdata.PromoteReplicaResponse - 87, // 87: tabletmanagerservice.TabletManager.Backup:output_type -> tabletmanagerdata.BackupResponse - 88, // 88: tabletmanagerservice.TabletManager.RestoreFromBackup:output_type -> tabletmanagerdata.RestoreFromBackupResponse - 89, // 89: tabletmanagerservice.TabletManager.VExec:output_type -> tabletmanagerdata.VExecResponse - 45, // [45:90] is the sub-list for method output_type - 0, // [0:45] is the sub-list for method input_type + 38, // 38: tabletmanagerservice.TabletManager.ResetReplicationParameters:input_type -> tabletmanagerdata.ResetReplicationParametersRequest + 39, // 39: tabletmanagerservice.TabletManager.FullStatus:input_type -> tabletmanagerdata.FullStatusRequest + 40, // 40: tabletmanagerservice.TabletManager.SetReplicationSource:input_type -> tabletmanagerdata.SetReplicationSourceRequest + 41, // 41: tabletmanagerservice.TabletManager.ReplicaWasRestarted:input_type -> tabletmanagerdata.ReplicaWasRestartedRequest + 42, // 42: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:input_type -> tabletmanagerdata.StopReplicationAndGetStatusRequest + 43, // 43: tabletmanagerservice.TabletManager.PromoteReplica:input_type -> tabletmanagerdata.PromoteReplicaRequest + 44, // 44: tabletmanagerservice.TabletManager.Backup:input_type -> tabletmanagerdata.BackupRequest + 45, // 45: tabletmanagerservice.TabletManager.RestoreFromBackup:input_type -> tabletmanagerdata.RestoreFromBackupRequest + 46, // 46: tabletmanagerservice.TabletManager.VExec:input_type -> tabletmanagerdata.VExecRequest + 47, // 47: tabletmanagerservice.TabletManager.Ping:output_type -> tabletmanagerdata.PingResponse + 48, // 48: tabletmanagerservice.TabletManager.Sleep:output_type -> tabletmanagerdata.SleepResponse + 49, // 49: tabletmanagerservice.TabletManager.ExecuteHook:output_type -> tabletmanagerdata.ExecuteHookResponse + 50, // 50: tabletmanagerservice.TabletManager.GetSchema:output_type -> tabletmanagerdata.GetSchemaResponse + 51, // 51: tabletmanagerservice.TabletManager.GetPermissions:output_type -> tabletmanagerdata.GetPermissionsResponse + 52, // 52: tabletmanagerservice.TabletManager.SetReadOnly:output_type -> tabletmanagerdata.SetReadOnlyResponse + 53, // 53: tabletmanagerservice.TabletManager.SetReadWrite:output_type -> tabletmanagerdata.SetReadWriteResponse + 54, // 54: tabletmanagerservice.TabletManager.ChangeType:output_type -> tabletmanagerdata.ChangeTypeResponse + 55, // 55: tabletmanagerservice.TabletManager.RefreshState:output_type -> tabletmanagerdata.RefreshStateResponse + 56, // 56: tabletmanagerservice.TabletManager.RunHealthCheck:output_type -> tabletmanagerdata.RunHealthCheckResponse + 57, // 57: tabletmanagerservice.TabletManager.ReloadSchema:output_type -> tabletmanagerdata.ReloadSchemaResponse + 58, // 58: tabletmanagerservice.TabletManager.PreflightSchema:output_type -> tabletmanagerdata.PreflightSchemaResponse + 59, // 59: tabletmanagerservice.TabletManager.ApplySchema:output_type -> tabletmanagerdata.ApplySchemaResponse + 60, // 60: tabletmanagerservice.TabletManager.LockTables:output_type -> tabletmanagerdata.LockTablesResponse + 61, // 61: tabletmanagerservice.TabletManager.UnlockTables:output_type -> tabletmanagerdata.UnlockTablesResponse + 62, // 62: tabletmanagerservice.TabletManager.ExecuteQuery:output_type -> tabletmanagerdata.ExecuteQueryResponse + 63, // 63: tabletmanagerservice.TabletManager.ExecuteFetchAsDba:output_type -> tabletmanagerdata.ExecuteFetchAsDbaResponse + 64, // 64: tabletmanagerservice.TabletManager.ExecuteFetchAsAllPrivs:output_type -> tabletmanagerdata.ExecuteFetchAsAllPrivsResponse + 65, // 65: tabletmanagerservice.TabletManager.ExecuteFetchAsApp:output_type -> tabletmanagerdata.ExecuteFetchAsAppResponse + 66, // 66: tabletmanagerservice.TabletManager.ReplicationStatus:output_type -> tabletmanagerdata.ReplicationStatusResponse + 67, // 67: tabletmanagerservice.TabletManager.PrimaryStatus:output_type -> tabletmanagerdata.PrimaryStatusResponse + 68, // 68: tabletmanagerservice.TabletManager.PrimaryPosition:output_type -> tabletmanagerdata.PrimaryPositionResponse + 69, // 69: tabletmanagerservice.TabletManager.WaitForPosition:output_type -> tabletmanagerdata.WaitForPositionResponse + 70, // 70: tabletmanagerservice.TabletManager.StopReplication:output_type -> tabletmanagerdata.StopReplicationResponse + 71, // 71: tabletmanagerservice.TabletManager.StopReplicationMinimum:output_type -> tabletmanagerdata.StopReplicationMinimumResponse + 72, // 72: tabletmanagerservice.TabletManager.StartReplication:output_type -> tabletmanagerdata.StartReplicationResponse + 73, // 73: tabletmanagerservice.TabletManager.StartReplicationUntilAfter:output_type -> tabletmanagerdata.StartReplicationUntilAfterResponse + 74, // 74: tabletmanagerservice.TabletManager.GetReplicas:output_type -> tabletmanagerdata.GetReplicasResponse + 75, // 75: tabletmanagerservice.TabletManager.VReplicationExec:output_type -> tabletmanagerdata.VReplicationExecResponse + 76, // 76: tabletmanagerservice.TabletManager.VReplicationWaitForPos:output_type -> tabletmanagerdata.VReplicationWaitForPosResponse + 77, // 77: tabletmanagerservice.TabletManager.VDiff:output_type -> tabletmanagerdata.VDiffResponse + 78, // 78: tabletmanagerservice.TabletManager.ResetReplication:output_type -> tabletmanagerdata.ResetReplicationResponse + 79, // 79: tabletmanagerservice.TabletManager.InitPrimary:output_type -> tabletmanagerdata.InitPrimaryResponse + 80, // 80: tabletmanagerservice.TabletManager.PopulateReparentJournal:output_type -> tabletmanagerdata.PopulateReparentJournalResponse + 81, // 81: tabletmanagerservice.TabletManager.InitReplica:output_type -> tabletmanagerdata.InitReplicaResponse + 82, // 82: tabletmanagerservice.TabletManager.DemotePrimary:output_type -> tabletmanagerdata.DemotePrimaryResponse + 83, // 83: tabletmanagerservice.TabletManager.UndoDemotePrimary:output_type -> tabletmanagerdata.UndoDemotePrimaryResponse + 84, // 84: tabletmanagerservice.TabletManager.ReplicaWasPromoted:output_type -> tabletmanagerdata.ReplicaWasPromotedResponse + 85, // 85: tabletmanagerservice.TabletManager.ResetReplicationParameters:output_type -> tabletmanagerdata.ResetReplicationParametersResponse + 86, // 86: tabletmanagerservice.TabletManager.FullStatus:output_type -> tabletmanagerdata.FullStatusResponse + 87, // 87: tabletmanagerservice.TabletManager.SetReplicationSource:output_type -> tabletmanagerdata.SetReplicationSourceResponse + 88, // 88: tabletmanagerservice.TabletManager.ReplicaWasRestarted:output_type -> tabletmanagerdata.ReplicaWasRestartedResponse + 89, // 89: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:output_type -> tabletmanagerdata.StopReplicationAndGetStatusResponse + 90, // 90: tabletmanagerservice.TabletManager.PromoteReplica:output_type -> tabletmanagerdata.PromoteReplicaResponse + 91, // 91: tabletmanagerservice.TabletManager.Backup:output_type -> tabletmanagerdata.BackupResponse + 92, // 92: tabletmanagerservice.TabletManager.RestoreFromBackup:output_type -> tabletmanagerdata.RestoreFromBackupResponse + 93, // 93: tabletmanagerservice.TabletManager.VExec:output_type -> tabletmanagerdata.VExecResponse + 47, // [47:94] is the sub-list for method output_type + 0, // [0:47] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go b/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go index 36b22c9188c..fb79b455b1a 100644 --- a/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go +++ b/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go @@ -88,6 +88,10 @@ type TabletManagerClient interface { UndoDemotePrimary(ctx context.Context, in *tabletmanagerdata.UndoDemotePrimaryRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UndoDemotePrimaryResponse, error) // ReplicaWasPromoted tells the remote tablet it is now the primary ReplicaWasPromoted(ctx context.Context, in *tabletmanagerdata.ReplicaWasPromotedRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReplicaWasPromotedResponse, error) + // ResetReplicationParameters resets the replica replication parameters + ResetReplicationParameters(ctx context.Context, in *tabletmanagerdata.ResetReplicationParametersRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ResetReplicationParametersResponse, error) + // FullStatus collects and returns the full status of MySQL including the replication information, semi-sync information, GTID information among others + FullStatus(ctx context.Context, in *tabletmanagerdata.FullStatusRequest, opts ...grpc.CallOption) (*tabletmanagerdata.FullStatusResponse, error) // SetReplicationSource tells the replica to reparent SetReplicationSource(ctx context.Context, in *tabletmanagerdata.SetReplicationSourceRequest, opts ...grpc.CallOption) (*tabletmanagerdata.SetReplicationSourceResponse, error) // ReplicaWasRestarted tells the remote tablet its primary has changed @@ -454,6 +458,24 @@ func (c *tabletManagerClient) ReplicaWasPromoted(ctx context.Context, in *tablet return out, nil } +func (c *tabletManagerClient) ResetReplicationParameters(ctx context.Context, in *tabletmanagerdata.ResetReplicationParametersRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ResetReplicationParametersResponse, error) { + out := new(tabletmanagerdata.ResetReplicationParametersResponse) + err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/ResetReplicationParameters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tabletManagerClient) FullStatus(ctx context.Context, in *tabletmanagerdata.FullStatusRequest, opts ...grpc.CallOption) (*tabletmanagerdata.FullStatusResponse, error) { + out := new(tabletmanagerdata.FullStatusResponse) + err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/FullStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *tabletManagerClient) SetReplicationSource(ctx context.Context, in *tabletmanagerdata.SetReplicationSourceRequest, opts ...grpc.CallOption) (*tabletmanagerdata.SetReplicationSourceResponse, error) { out := new(tabletmanagerdata.SetReplicationSourceResponse) err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/SetReplicationSource", in, out, opts...) @@ -632,6 +654,10 @@ type TabletManagerServer interface { UndoDemotePrimary(context.Context, *tabletmanagerdata.UndoDemotePrimaryRequest) (*tabletmanagerdata.UndoDemotePrimaryResponse, error) // ReplicaWasPromoted tells the remote tablet it is now the primary ReplicaWasPromoted(context.Context, *tabletmanagerdata.ReplicaWasPromotedRequest) (*tabletmanagerdata.ReplicaWasPromotedResponse, error) + // ResetReplicationParameters resets the replica replication parameters + ResetReplicationParameters(context.Context, *tabletmanagerdata.ResetReplicationParametersRequest) (*tabletmanagerdata.ResetReplicationParametersResponse, error) + // FullStatus collects and returns the full status of MySQL including the replication information, semi-sync information, GTID information among others + FullStatus(context.Context, *tabletmanagerdata.FullStatusRequest) (*tabletmanagerdata.FullStatusResponse, error) // SetReplicationSource tells the replica to reparent SetReplicationSource(context.Context, *tabletmanagerdata.SetReplicationSourceRequest) (*tabletmanagerdata.SetReplicationSourceResponse, error) // ReplicaWasRestarted tells the remote tablet its primary has changed @@ -767,6 +793,12 @@ func (UnimplementedTabletManagerServer) UndoDemotePrimary(context.Context, *tabl func (UnimplementedTabletManagerServer) ReplicaWasPromoted(context.Context, *tabletmanagerdata.ReplicaWasPromotedRequest) (*tabletmanagerdata.ReplicaWasPromotedResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ReplicaWasPromoted not implemented") } +func (UnimplementedTabletManagerServer) ResetReplicationParameters(context.Context, *tabletmanagerdata.ResetReplicationParametersRequest) (*tabletmanagerdata.ResetReplicationParametersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetReplicationParameters not implemented") +} +func (UnimplementedTabletManagerServer) FullStatus(context.Context, *tabletmanagerdata.FullStatusRequest) (*tabletmanagerdata.FullStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FullStatus not implemented") +} func (UnimplementedTabletManagerServer) SetReplicationSource(context.Context, *tabletmanagerdata.SetReplicationSourceRequest) (*tabletmanagerdata.SetReplicationSourceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetReplicationSource not implemented") } @@ -1485,6 +1517,42 @@ func _TabletManager_ReplicaWasPromoted_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _TabletManager_ResetReplicationParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(tabletmanagerdata.ResetReplicationParametersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TabletManagerServer).ResetReplicationParameters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tabletmanagerservice.TabletManager/ResetReplicationParameters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TabletManagerServer).ResetReplicationParameters(ctx, req.(*tabletmanagerdata.ResetReplicationParametersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TabletManager_FullStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(tabletmanagerdata.FullStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TabletManagerServer).FullStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tabletmanagerservice.TabletManager/FullStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TabletManagerServer).FullStatus(ctx, req.(*tabletmanagerdata.FullStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _TabletManager_SetReplicationSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(tabletmanagerdata.SetReplicationSourceRequest) if err := dec(in); err != nil { @@ -1776,6 +1844,14 @@ var TabletManager_ServiceDesc = grpc.ServiceDesc{ MethodName: "ReplicaWasPromoted", Handler: _TabletManager_ReplicaWasPromoted_Handler, }, + { + MethodName: "ResetReplicationParameters", + Handler: _TabletManager_ResetReplicationParameters_Handler, + }, + { + MethodName: "FullStatus", + Handler: _TabletManager_FullStatus_Handler, + }, { MethodName: "SetReplicationSource", Handler: _TabletManager_SetReplicationSource_Handler, diff --git a/go/vt/vtcombo/tablet_map.go b/go/vt/vtcombo/tablet_map.go index 3c92566a034..381ef31be72 100644 --- a/go/vt/vtcombo/tablet_map.go +++ b/go/vt/vtcombo/tablet_map.go @@ -939,6 +939,10 @@ func (itmc *internalTabletManagerClient) ReplicationStatus(context.Context, *top return nil, fmt.Errorf("not implemented in vtcombo") } +func (itmc *internalTabletManagerClient) FullStatus(context.Context, *topodatapb.Tablet) (*replicationdatapb.FullStatus, error) { + return nil, fmt.Errorf("not implemented in vtcombo") +} + func (itmc *internalTabletManagerClient) StopReplication(context.Context, *topodatapb.Tablet) error { return fmt.Errorf("not implemented in vtcombo") } @@ -967,6 +971,10 @@ func (itmc *internalTabletManagerClient) ReplicaWasPromoted(context.Context, *to return fmt.Errorf("not implemented in vtcombo") } +func (itmc *internalTabletManagerClient) ResetReplicationParameters(context.Context, *topodatapb.Tablet) error { + return fmt.Errorf("not implemented in vtcombo") +} + func (itmc *internalTabletManagerClient) ReplicaWasRestarted(context.Context, *topodatapb.Tablet, *topodatapb.TabletAlias) error { return fmt.Errorf("not implemented in vtcombo") } diff --git a/go/vt/vtctl/reparentutil/replication.go b/go/vt/vtctl/reparentutil/replication.go index 82f9696aaf1..91349470a6f 100644 --- a/go/vt/vtctl/reparentutil/replication.go +++ b/go/vt/vtctl/reparentutil/replication.go @@ -335,7 +335,7 @@ func stopReplicationAndBuildStatusMaps( func WaitForRelayLogsToApply(ctx context.Context, tmc tmclient.TabletManagerClient, tabletInfo *topo.TabletInfo, status *replicationdatapb.StopReplicationStatus) error { switch status.After.RelayLogPosition { case "": - return tmc.WaitForPosition(ctx, tabletInfo.Tablet, status.After.FileRelayLogPosition) + return tmc.WaitForPosition(ctx, tabletInfo.Tablet, status.After.RelayLogSourceBinlogEquivalentPosition) default: return tmc.WaitForPosition(ctx, tabletInfo.Tablet, status.After.RelayLogPosition) } diff --git a/go/vt/vtctl/reparentutil/replication_test.go b/go/vt/vtctl/reparentutil/replication_test.go index b1e09a85af9..911e0e7da3a 100644 --- a/go/vt/vtctl/reparentutil/replication_test.go +++ b/go/vt/vtctl/reparentutil/replication_test.go @@ -1349,7 +1349,7 @@ func TestWaitForRelayLogsToApply(t *testing.T) { client: &waitForRelayLogsToApplyTestTMClient{}, status: &replicationdatapb.StopReplicationStatus{ After: &replicationdatapb.Status{ - FileRelayLogPosition: "file-relay-pos", + RelayLogSourceBinlogEquivalentPosition: "file-relay-pos", }, }, expectedCalledPositions: []string{"file-relay-pos"}, diff --git a/go/vt/vttablet/faketmclient/fake_client.go b/go/vt/vttablet/faketmclient/fake_client.go index e154433560b..4f78b212dac 100644 --- a/go/vt/vttablet/faketmclient/fake_client.go +++ b/go/vt/vttablet/faketmclient/fake_client.go @@ -180,6 +180,11 @@ func (client *FakeTabletManagerClient) ReplicationStatus(ctx context.Context, ta return &replicationdatapb.Status{}, nil } +// FullStatus is part of the tmclient.TabletManagerClient interface. +func (client *FakeTabletManagerClient) FullStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.FullStatus, error) { + return &replicationdatapb.FullStatus{}, nil +} + // StopReplication is part of the tmclient.TabletManagerClient interface. func (client *FakeTabletManagerClient) StopReplication(ctx context.Context, tablet *topodatapb.Tablet) error { return nil @@ -220,6 +225,11 @@ func (client *FakeTabletManagerClient) ReplicaWasPromoted(ctx context.Context, t return nil } +// ResetReplicationParameters is part of the tmclient.TabletManagerClient interface. +func (client *FakeTabletManagerClient) ResetReplicationParameters(ctx context.Context, tablet *topodatapb.Tablet) error { + return nil +} + // ReplicaWasRestarted is part of the tmclient.TabletManagerClient interface. func (client *FakeTabletManagerClient) ReplicaWasRestarted(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias) error { return nil diff --git a/go/vt/vttablet/grpctmclient/client.go b/go/vt/vttablet/grpctmclient/client.go index 9b5d29ee43f..be5ca01e44b 100644 --- a/go/vt/vttablet/grpctmclient/client.go +++ b/go/vt/vttablet/grpctmclient/client.go @@ -532,6 +532,20 @@ func (client *Client) ReplicationStatus(ctx context.Context, tablet *topodatapb. return response.Status, nil } +// FullStatus is part of the tmclient.TabletManagerClient interface. +func (client *Client) FullStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.FullStatus, error) { + c, closer, err := client.dialer.dial(ctx, tablet) + if err != nil { + return nil, err + } + defer closer.Close() + response, err := c.FullStatus(ctx, &tabletmanagerdatapb.FullStatusRequest{}) + if err != nil { + return nil, err + } + return response.Status, nil +} + // PrimaryStatus is part of the tmclient.TabletManagerClient interface. func (client *Client) PrimaryStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.PrimaryStatus, error) { c, closer, err := client.dialer.dial(ctx, tablet) @@ -807,6 +821,17 @@ func (client *Client) ReplicaWasPromoted(ctx context.Context, tablet *topodatapb return err } +// ResetReplicationParameters is part of the tmclient.TabletManagerClient interface. +func (client *Client) ResetReplicationParameters(ctx context.Context, tablet *topodatapb.Tablet) error { + c, closer, err := client.dialer.dial(ctx, tablet) + if err != nil { + return err + } + defer closer.Close() + _, err = c.ResetReplicationParameters(ctx, &tabletmanagerdatapb.ResetReplicationParametersRequest{}) + return err +} + // SetReplicationSource is part of the tmclient.TabletManagerClient interface. func (client *Client) SetReplicationSource(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias, timeCreatedNS int64, waitPosition string, forceStartReplication bool, semiSync bool) error { c, closer, err := client.dialer.dial(ctx, tablet) diff --git a/go/vt/vttablet/grpctmserver/server.go b/go/vt/vttablet/grpctmserver/server.go index afb9e3641e2..307205afeae 100644 --- a/go/vt/vttablet/grpctmserver/server.go +++ b/go/vt/vttablet/grpctmserver/server.go @@ -261,6 +261,17 @@ func (s *server) ReplicationStatus(ctx context.Context, request *tabletmanagerda return response, err } +func (s *server) FullStatus(ctx context.Context, request *tabletmanagerdatapb.FullStatusRequest) (response *tabletmanagerdatapb.FullStatusResponse, err error) { + defer s.tm.HandleRPCPanic(ctx, "FullStatus", request, response, false /*verbose*/, &err) + ctx = callinfo.GRPCCallInfo(ctx) + response = &tabletmanagerdatapb.FullStatusResponse{} + status, err := s.tm.FullStatus(ctx) + if err == nil { + response.Status = status + } + return response, err +} + func (s *server) PrimaryStatus(ctx context.Context, request *tabletmanagerdatapb.PrimaryStatusRequest) (response *tabletmanagerdatapb.PrimaryStatusResponse, err error) { defer s.tm.HandleRPCPanic(ctx, "PrimaryStatus", request, response, false /*verbose*/, &err) ctx = callinfo.GRPCCallInfo(ctx) @@ -426,6 +437,13 @@ func (s *server) ReplicaWasPromoted(ctx context.Context, request *tabletmanagerd return response, s.tm.ReplicaWasPromoted(ctx) } +func (s *server) ResetReplicationParameters(ctx context.Context, request *tabletmanagerdatapb.ResetReplicationParametersRequest) (response *tabletmanagerdatapb.ResetReplicationParametersResponse, err error) { + defer s.tm.HandleRPCPanic(ctx, "ResetReplicationParameters", request, response, true /*verbose*/, &err) + ctx = callinfo.GRPCCallInfo(ctx) + response = &tabletmanagerdatapb.ResetReplicationParametersResponse{} + return response, s.tm.ResetReplicationParameters(ctx) +} + func (s *server) SetReplicationSource(ctx context.Context, request *tabletmanagerdatapb.SetReplicationSourceRequest) (response *tabletmanagerdatapb.SetReplicationSourceResponse, err error) { defer s.tm.HandleRPCPanic(ctx, "SetReplicationSource", request, response, true /*verbose*/, &err) ctx = callinfo.GRPCCallInfo(ctx) diff --git a/go/vt/vttablet/tabletmanager/rpc_agent.go b/go/vt/vttablet/tabletmanager/rpc_agent.go index ac4faf2a026..8561a2e0fc6 100644 --- a/go/vt/vttablet/tabletmanager/rpc_agent.go +++ b/go/vt/vttablet/tabletmanager/rpc_agent.go @@ -81,6 +81,8 @@ type RPCTM interface { ReplicationStatus(ctx context.Context) (*replicationdatapb.Status, error) + FullStatus(ctx context.Context) (*replicationdatapb.FullStatus, error) + StopReplication(ctx context.Context) error StopReplicationMinimum(ctx context.Context, position string, waitTime time.Duration) (string, error) @@ -121,6 +123,8 @@ type RPCTM interface { ReplicaWasPromoted(ctx context.Context) error + ResetReplicationParameters(ctx context.Context) error + SetReplicationSource(ctx context.Context, parent *topodatapb.TabletAlias, timeCreatedNS int64, waitPosition string, forceStartReplication bool, semiSync bool) error StopReplicationAndGetStatus(ctx context.Context, stopReplicationMode replicationdatapb.StopReplicationMode) (StopReplicationAndGetStatusResponse, error) diff --git a/go/vt/vttablet/tabletmanager/rpc_replication.go b/go/vt/vttablet/tabletmanager/rpc_replication.go index cdf8cd56d0f..adf1d3555f4 100644 --- a/go/vt/vttablet/tabletmanager/rpc_replication.go +++ b/go/vt/vttablet/tabletmanager/rpc_replication.go @@ -52,6 +52,106 @@ func (tm *TabletManager) ReplicationStatus(ctx context.Context) (*replicationdat return mysql.ReplicationStatusToProto(status), nil } +// FullStatus returns the full status of MySQL including the replication information, semi-sync information, GTID information among others +func (tm *TabletManager) FullStatus(ctx context.Context) (*replicationdatapb.FullStatus, error) { + // Server ID - "select @@global.server_id" + serverID, err := tm.MysqlDaemon.GetServerID(ctx) + if err != nil { + return nil, err + } + + // Server UUID - "select @@global.server_uuid" + serverUUID, err := tm.MysqlDaemon.GetServerUUID(ctx) + if err != nil { + return nil, err + } + + // Replication status - "SHOW REPLICA STATUS" + replicationStatus, err := tm.MysqlDaemon.ReplicationStatus() + var replicationStatusProto *replicationdatapb.Status + if err != nil && err != mysql.ErrNotReplica { + return nil, err + } + if err == nil { + replicationStatusProto = mysql.ReplicationStatusToProto(replicationStatus) + } + + // Primary status - "SHOW MASTER STATUS" + primaryStatus, err := tm.MysqlDaemon.PrimaryStatus(ctx) + var primaryStatusProto *replicationdatapb.PrimaryStatus + if err != nil && err != mysql.ErrNoPrimaryStatus { + return nil, err + } + if err == nil { + primaryStatusProto = mysql.PrimaryStatusToProto(primaryStatus) + } + + // Purged GTID set + purgedGTIDs, err := tm.MysqlDaemon.GetGTIDPurged(ctx) + if err != nil { + return nil, err + } + + // Version string "majorVersion.minorVersion.patchRelease" + version := tm.MysqlDaemon.GetVersionString() + + // Version comment "select @@global.version_comment" + versionComment := tm.MysqlDaemon.GetVersionComment(ctx) + + // Read only - "SHOW VARIABLES LIKE 'read_only'" + readOnly, err := tm.MysqlDaemon.IsReadOnly() + if err != nil { + return nil, err + } + + // Binlog Information - "select @@global.binlog_format, @@global.log_bin, @@global.log_slave_updates, @@global.binlog_row_image" + binlogFormat, logBin, logReplicaUpdates, binlogRowImage, err := tm.MysqlDaemon.GetBinlogInformation(ctx) + if err != nil { + return nil, err + } + + // GTID Mode - "select @@global.gtid_mode" - Only applicable for MySQL variants + gtidMode, err := tm.MysqlDaemon.GetGTIDMode(ctx) + if err != nil { + return nil, err + } + + // Semi sync settings - "show global variables like 'rpl_semi_sync_%_enabled'" + primarySemiSync, replicaSemiSync := tm.MysqlDaemon.SemiSyncEnabled() + + // Semi sync status - "show status like 'Rpl_semi_sync_%_status'" + primarySemiSyncStatus, replicaSemiSyncStatus := tm.MysqlDaemon.SemiSyncStatus() + + // Semi sync clients count - "show status like 'semi_sync_primary_clients'" + semiSyncClients := tm.MysqlDaemon.SemiSyncClients() + + // Semi sync settings - "show status like 'rpl_semi_sync_%' + semiSyncTimeout, semiSyncNumReplicas := tm.MysqlDaemon.SemiSyncSettings() + + return &replicationdatapb.FullStatus{ + ServerId: serverID, + ServerUuid: serverUUID, + ReplicationStatus: replicationStatusProto, + PrimaryStatus: primaryStatusProto, + GtidPurged: mysql.EncodePosition(purgedGTIDs), + Version: version, + VersionComment: versionComment, + ReadOnly: readOnly, + GtidMode: gtidMode, + BinlogFormat: binlogFormat, + BinlogRowImage: binlogRowImage, + LogBinEnabled: logBin, + LogReplicaUpdates: logReplicaUpdates, + SemiSyncPrimaryEnabled: primarySemiSync, + SemiSyncReplicaEnabled: replicaSemiSync, + SemiSyncPrimaryStatus: primarySemiSyncStatus, + SemiSyncReplicaStatus: replicaSemiSyncStatus, + SemiSyncPrimaryClients: semiSyncClients, + SemiSyncPrimaryTimeout: semiSyncTimeout, + SemiSyncWaitForReplicaCount: semiSyncNumReplicas, + }, nil +} + // PrimaryStatus returns the replication status for a primary tablet. func (tm *TabletManager) PrimaryStatus(ctx context.Context) (*replicationdatapb.PrimaryStatus, error) { status, err := tm.MysqlDaemon.PrimaryStatus(ctx) @@ -529,6 +629,27 @@ func (tm *TabletManager) ReplicaWasPromoted(ctx context.Context) error { return tm.changeTypeLocked(ctx, topodatapb.TabletType_PRIMARY, DBActionNone, SemiSyncActionNone) } +// ResetReplicationParameters resets the replica replication parameters +func (tm *TabletManager) ResetReplicationParameters(ctx context.Context) error { + log.Infof("ResetReplicationParameters") + if err := tm.lock(ctx); err != nil { + return err + } + defer tm.unlock() + + tm.replManager.setReplicationStopped(true) + err := tm.MysqlDaemon.StopReplication(tm.hookExtraEnv()) + if err != nil { + return err + } + + err = tm.MysqlDaemon.ResetReplicationParameters(ctx) + if err != nil { + return err + } + return nil +} + // SetReplicationSource sets replication primary, and waits for the // reparent_journal table entry up to context timeout func (tm *TabletManager) SetReplicationSource(ctx context.Context, parentAlias *topodatapb.TabletAlias, timeCreatedNS int64, waitPosition string, forceStartReplication bool, semiSync bool) error { @@ -776,7 +897,7 @@ func (tm *TabletManager) StopReplicationAndGetStatus(ctx context.Context, stopRe rs.Position = rsAfter.Position rs.RelayLogPosition = rsAfter.RelayLogPosition rs.FilePosition = rsAfter.FilePosition - rs.FileRelayLogPosition = rsAfter.FileRelayLogPosition + rs.RelayLogSourceBinlogEquivalentPosition = rsAfter.RelayLogSourceBinlogEquivalentPosition return StopReplicationAndGetStatusResponse{ HybridStatus: mysql.ReplicationStatusToProto(rs), diff --git a/go/vt/vttablet/tmclient/rpc_client_api.go b/go/vt/vttablet/tmclient/rpc_client_api.go index babefe07438..e810ad4988e 100644 --- a/go/vt/vttablet/tmclient/rpc_client_api.go +++ b/go/vt/vttablet/tmclient/rpc_client_api.go @@ -115,6 +115,9 @@ type TabletManagerClient interface { // ReplicationStatus returns the tablet's mysql replication status. ReplicationStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.Status, error) + // FullStatus returns the tablet's mysql replication status. + FullStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.FullStatus, error) + // StopReplication stops the mysql replication StopReplication(ctx context.Context, tablet *topodatapb.Tablet) error @@ -180,6 +183,9 @@ type TabletManagerClient interface { // ReplicaWasPromoted tells the remote tablet it is now the primary ReplicaWasPromoted(ctx context.Context, tablet *topodatapb.Tablet) error + // ResetReplicationParameters resets the replica replication parameters + ResetReplicationParameters(ctx context.Context, tablet *topodatapb.Tablet) error + // SetReplicationSource tells a tablet to start replicating from the // passed in tablet alias, and wait for the row in the // reparent_journal table (if timeCreatedNS is non-zero). diff --git a/go/vt/vttablet/tmrpctest/test_tm_rpc.go b/go/vt/vttablet/tmrpctest/test_tm_rpc.go index 19b14448c5f..4a9d349c837 100644 --- a/go/vt/vttablet/tmrpctest/test_tm_rpc.go +++ b/go/vt/vttablet/tmrpctest/test_tm_rpc.go @@ -699,6 +699,10 @@ var testReplicationStatus = &replicationdatapb.Status{ ConnectRetry: 12, } +var testFullStatus = &replicationdatapb.FullStatus{ + ReplicationStatus: testReplicationStatus, +} + var testPrimaryStatus = &replicationdatapb.PrimaryStatus{Position: "MariaDB/1-345-789"} func (fra *fakeRPCTM) PrimaryStatus(ctx context.Context) (*replicationdatapb.PrimaryStatus, error) { @@ -725,6 +729,23 @@ func tmRPCTestReplicationStatusPanic(ctx context.Context, t *testing.T, client t expectHandleRPCPanic(t, "ReplicationStatus", false /*verbose*/, err) } +func (fra *fakeRPCTM) FullStatus(ctx context.Context) (*replicationdatapb.FullStatus, error) { + if fra.panics { + panic(fmt.Errorf("test-triggered panic")) + } + return testFullStatus, nil +} + +func tmRPCTestFullStatus(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) { + rs, err := client.FullStatus(ctx, tablet) + compareError(t, "FullStatus", err, rs, testFullStatus) +} + +func tmRPCTestFullStatusPanic(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) { + _, err := client.FullStatus(ctx, tablet) + expectHandleRPCPanic(t, "FullStatus", false /*verbose*/, err) +} + var testReplicationPosition = "MariaDB/5-456-890" func (fra *fakeRPCTM) PrimaryPosition(ctx context.Context) (string, error) { @@ -1049,6 +1070,26 @@ func tmRPCTestReplicaWasPromotedPanic(ctx context.Context, t *testing.T, client expectHandleRPCPanic(t, "ReplicaWasPromoted", true /*verbose*/, err) } +var testResetReplicationParametersCalled = false + +func (fra *fakeRPCTM) ResetReplicationParameters(ctx context.Context) error { + if fra.panics { + panic(fmt.Errorf("test-triggered panic")) + } + testResetReplicationParametersCalled = true + return nil +} + +func tmRPCTestResetReplicationParameters(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) { + err := client.ResetReplicationParameters(ctx, tablet) + compareError(t, "ResetReplicationParameters", err, true, testResetReplicationParametersCalled) +} + +func tmRPCTestResetReplicationParametersPanic(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) { + err := client.ResetReplicationParameters(ctx, tablet) + expectHandleRPCPanic(t, "ResetReplicationParameters", true /*verbose*/, err) +} + var testSetReplicationSourceCalled = false var testForceStartReplica = true @@ -1260,6 +1301,7 @@ func Run(t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.T tmRPCTestPrimaryPosition(ctx, t, client, tablet) tmRPCTestReplicationStatus(ctx, t, client, tablet) + tmRPCTestFullStatus(ctx, t, client, tablet) tmRPCTestPrimaryPosition(ctx, t, client, tablet) tmRPCTestStopReplication(ctx, t, client, tablet) tmRPCTestStopReplicationMinimum(ctx, t, client, tablet) @@ -1284,6 +1326,7 @@ func Run(t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.T tmRPCTestInitReplica(ctx, t, client, tablet) tmRPCTestReplicaWasPromoted(ctx, t, client, tablet) tmRPCTestReplicaWasRestarted(ctx, t, client, tablet) + tmRPCTestResetReplicationParameters(ctx, t, client, tablet) // Backup / restore related methods tmRPCTestBackup(ctx, t, client, tablet) @@ -1314,6 +1357,7 @@ func Run(t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.T // Replication related methods tmRPCTestPrimaryPositionPanic(ctx, t, client, tablet) tmRPCTestReplicationStatusPanic(ctx, t, client, tablet) + tmRPCTestFullStatusPanic(ctx, t, client, tablet) tmRPCTestStopReplicationPanic(ctx, t, client, tablet) tmRPCTestStopReplicationMinimumPanic(ctx, t, client, tablet) tmRPCTestStartReplicationPanic(ctx, t, client, tablet) @@ -1334,6 +1378,7 @@ func Run(t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.T tmRPCTestInitReplicaPanic(ctx, t, client, tablet) tmRPCTestReplicaWasPromotedPanic(ctx, t, client, tablet) + tmRPCTestResetReplicationParametersPanic(ctx, t, client, tablet) tmRPCTestReplicaWasRestartedPanic(ctx, t, client, tablet) // Backup / restore related methods tmRPCTestBackupPanic(ctx, t, client, tablet) diff --git a/proto/replicationdata.proto b/proto/replicationdata.proto index f62b63b5c9e..5b83be90311 100644 --- a/proto/replicationdata.proto +++ b/proto/replicationdata.proto @@ -37,13 +37,21 @@ message Status { // RelayLogPosition will be empty for flavors that do not support returning the full GTIDSet from the relay log, such as MariaDB. string relay_log_position = 8; string file_position = 9; - string file_relay_log_position = 10; + string relay_log_source_binlog_equivalent_position = 10; uint32 source_server_id = 11; string source_uuid = 12; int32 io_state = 13; string last_io_error = 14; int32 sql_state = 15; string last_sql_error = 16; + string relay_log_file_position = 17; + string source_user = 18; + uint32 sql_delay = 19; + bool auto_position = 20; + bool using_gtid = 21; + bool has_replication_filters = 22; + bool ssl_allowed = 23; + bool replication_lag_unknown = 24; } // StopReplicationStatus represents the replication status before calling StopReplication, and the replication status collected immediately after @@ -64,3 +72,27 @@ message PrimaryStatus { string position = 1; string file_position = 2; } + +// FullStatus contains the full status of MySQL including the replication information, semi-sync information, GTID information among others +message FullStatus { + uint32 server_id = 1; + string server_uuid = 2; + replicationdata.Status replication_status = 3; + replicationdata.PrimaryStatus primary_status = 4; + string gtid_purged = 5; + string version = 6; + string version_comment = 7; + bool read_only = 8; + string gtid_mode = 9; + string binlog_format = 10; + string binlog_row_image = 11; + bool log_bin_enabled = 12; + bool log_replica_updates = 13; + bool semi_sync_primary_enabled = 14; + bool semi_sync_replica_enabled = 15; + bool semi_sync_primary_status = 16; + bool semi_sync_replica_status = 17; + uint32 semi_sync_primary_clients = 18; + uint64 semi_sync_primary_timeout = 19; + uint32 semi_sync_wait_for_replica_count = 20; +} \ No newline at end of file diff --git a/proto/tabletmanagerdata.proto b/proto/tabletmanagerdata.proto index 23bfc1cb763..bb8cc7f814d 100644 --- a/proto/tabletmanagerdata.proto +++ b/proto/tabletmanagerdata.proto @@ -410,6 +410,19 @@ message ReplicaWasPromotedRequest { message ReplicaWasPromotedResponse { } +message ResetReplicationParametersRequest { +} + +message ResetReplicationParametersResponse { +} + +message FullStatusRequest { +} + +message FullStatusResponse { + replicationdata.FullStatus status = 1; +} + message SetReplicationSourceRequest { topodata.TabletAlias parent = 1; int64 time_created_ns = 2; diff --git a/proto/tabletmanagerservice.proto b/proto/tabletmanagerservice.proto index e0dbafcd4aa..c23631acd59 100644 --- a/proto/tabletmanagerservice.proto +++ b/proto/tabletmanagerservice.proto @@ -144,6 +144,12 @@ service TabletManager { // ReplicaWasPromoted tells the remote tablet it is now the primary rpc ReplicaWasPromoted(tabletmanagerdata.ReplicaWasPromotedRequest) returns (tabletmanagerdata.ReplicaWasPromotedResponse) {}; + // ResetReplicationParameters resets the replica replication parameters + rpc ResetReplicationParameters(tabletmanagerdata.ResetReplicationParametersRequest) returns (tabletmanagerdata.ResetReplicationParametersResponse) {}; + + // FullStatus collects and returns the full status of MySQL including the replication information, semi-sync information, GTID information among others + rpc FullStatus(tabletmanagerdata.FullStatusRequest) returns (tabletmanagerdata.FullStatusResponse) {}; + // SetReplicationSource tells the replica to reparent rpc SetReplicationSource(tabletmanagerdata.SetReplicationSourceRequest) returns (tabletmanagerdata.SetReplicationSourceResponse) {}; diff --git a/web/vtadmin/src/proto/vtadmin.d.ts b/web/vtadmin/src/proto/vtadmin.d.ts index 0c04b9f3236..e5b1135cb51 100644 --- a/web/vtadmin/src/proto/vtadmin.d.ts +++ b/web/vtadmin/src/proto/vtadmin.d.ts @@ -20658,6 +20658,348 @@ export namespace tabletmanagerdata { public toJSON(): { [k: string]: any }; } + /** Properties of a ResetReplicationParametersRequest. */ + interface IResetReplicationParametersRequest { + } + + /** Represents a ResetReplicationParametersRequest. */ + class ResetReplicationParametersRequest implements IResetReplicationParametersRequest { + + /** + * Constructs a new ResetReplicationParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tabletmanagerdata.IResetReplicationParametersRequest); + + /** + * Creates a new ResetReplicationParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ResetReplicationParametersRequest instance + */ + public static create(properties?: tabletmanagerdata.IResetReplicationParametersRequest): tabletmanagerdata.ResetReplicationParametersRequest; + + /** + * Encodes the specified ResetReplicationParametersRequest message. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersRequest.verify|verify} messages. + * @param message ResetReplicationParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tabletmanagerdata.IResetReplicationParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResetReplicationParametersRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersRequest.verify|verify} messages. + * @param message ResetReplicationParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tabletmanagerdata.IResetReplicationParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResetReplicationParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResetReplicationParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tabletmanagerdata.ResetReplicationParametersRequest; + + /** + * Decodes a ResetReplicationParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResetReplicationParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tabletmanagerdata.ResetReplicationParametersRequest; + + /** + * Verifies a ResetReplicationParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResetReplicationParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResetReplicationParametersRequest + */ + public static fromObject(object: { [k: string]: any }): tabletmanagerdata.ResetReplicationParametersRequest; + + /** + * Creates a plain object from a ResetReplicationParametersRequest message. Also converts values to other types if specified. + * @param message ResetReplicationParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tabletmanagerdata.ResetReplicationParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResetReplicationParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ResetReplicationParametersResponse. */ + interface IResetReplicationParametersResponse { + } + + /** Represents a ResetReplicationParametersResponse. */ + class ResetReplicationParametersResponse implements IResetReplicationParametersResponse { + + /** + * Constructs a new ResetReplicationParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tabletmanagerdata.IResetReplicationParametersResponse); + + /** + * Creates a new ResetReplicationParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ResetReplicationParametersResponse instance + */ + public static create(properties?: tabletmanagerdata.IResetReplicationParametersResponse): tabletmanagerdata.ResetReplicationParametersResponse; + + /** + * Encodes the specified ResetReplicationParametersResponse message. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersResponse.verify|verify} messages. + * @param message ResetReplicationParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tabletmanagerdata.IResetReplicationParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResetReplicationParametersResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersResponse.verify|verify} messages. + * @param message ResetReplicationParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tabletmanagerdata.IResetReplicationParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResetReplicationParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResetReplicationParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tabletmanagerdata.ResetReplicationParametersResponse; + + /** + * Decodes a ResetReplicationParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResetReplicationParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tabletmanagerdata.ResetReplicationParametersResponse; + + /** + * Verifies a ResetReplicationParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResetReplicationParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResetReplicationParametersResponse + */ + public static fromObject(object: { [k: string]: any }): tabletmanagerdata.ResetReplicationParametersResponse; + + /** + * Creates a plain object from a ResetReplicationParametersResponse message. Also converts values to other types if specified. + * @param message ResetReplicationParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tabletmanagerdata.ResetReplicationParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResetReplicationParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FullStatusRequest. */ + interface IFullStatusRequest { + } + + /** Represents a FullStatusRequest. */ + class FullStatusRequest implements IFullStatusRequest { + + /** + * Constructs a new FullStatusRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tabletmanagerdata.IFullStatusRequest); + + /** + * Creates a new FullStatusRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns FullStatusRequest instance + */ + public static create(properties?: tabletmanagerdata.IFullStatusRequest): tabletmanagerdata.FullStatusRequest; + + /** + * Encodes the specified FullStatusRequest message. Does not implicitly {@link tabletmanagerdata.FullStatusRequest.verify|verify} messages. + * @param message FullStatusRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tabletmanagerdata.IFullStatusRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FullStatusRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.FullStatusRequest.verify|verify} messages. + * @param message FullStatusRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tabletmanagerdata.IFullStatusRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FullStatusRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FullStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tabletmanagerdata.FullStatusRequest; + + /** + * Decodes a FullStatusRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FullStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tabletmanagerdata.FullStatusRequest; + + /** + * Verifies a FullStatusRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FullStatusRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FullStatusRequest + */ + public static fromObject(object: { [k: string]: any }): tabletmanagerdata.FullStatusRequest; + + /** + * Creates a plain object from a FullStatusRequest message. Also converts values to other types if specified. + * @param message FullStatusRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tabletmanagerdata.FullStatusRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FullStatusRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FullStatusResponse. */ + interface IFullStatusResponse { + + /** FullStatusResponse status */ + status?: (replicationdata.IFullStatus|null); + } + + /** Represents a FullStatusResponse. */ + class FullStatusResponse implements IFullStatusResponse { + + /** + * Constructs a new FullStatusResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tabletmanagerdata.IFullStatusResponse); + + /** FullStatusResponse status. */ + public status?: (replicationdata.IFullStatus|null); + + /** + * Creates a new FullStatusResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns FullStatusResponse instance + */ + public static create(properties?: tabletmanagerdata.IFullStatusResponse): tabletmanagerdata.FullStatusResponse; + + /** + * Encodes the specified FullStatusResponse message. Does not implicitly {@link tabletmanagerdata.FullStatusResponse.verify|verify} messages. + * @param message FullStatusResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tabletmanagerdata.IFullStatusResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FullStatusResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.FullStatusResponse.verify|verify} messages. + * @param message FullStatusResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tabletmanagerdata.IFullStatusResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FullStatusResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FullStatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tabletmanagerdata.FullStatusResponse; + + /** + * Decodes a FullStatusResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FullStatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tabletmanagerdata.FullStatusResponse; + + /** + * Verifies a FullStatusResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FullStatusResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FullStatusResponse + */ + public static fromObject(object: { [k: string]: any }): tabletmanagerdata.FullStatusResponse; + + /** + * Creates a plain object from a FullStatusResponse message. Also converts values to other types if specified. + * @param message FullStatusResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tabletmanagerdata.FullStatusResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FullStatusResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a SetReplicationSourceRequest. */ interface ISetReplicationSourceRequest { @@ -29659,8 +30001,8 @@ export namespace replicationdata { /** Status file_position */ file_position?: (string|null); - /** Status file_relay_log_position */ - file_relay_log_position?: (string|null); + /** Status relay_log_source_binlog_equivalent_position */ + relay_log_source_binlog_equivalent_position?: (string|null); /** Status source_server_id */ source_server_id?: (number|null); @@ -29679,6 +30021,30 @@ export namespace replicationdata { /** Status last_sql_error */ last_sql_error?: (string|null); + + /** Status relay_log_file_position */ + relay_log_file_position?: (string|null); + + /** Status source_user */ + source_user?: (string|null); + + /** Status sql_delay */ + sql_delay?: (number|null); + + /** Status auto_position */ + auto_position?: (boolean|null); + + /** Status using_gtid */ + using_gtid?: (boolean|null); + + /** Status has_replication_filters */ + has_replication_filters?: (boolean|null); + + /** Status ssl_allowed */ + ssl_allowed?: (boolean|null); + + /** Status replication_lag_unknown */ + replication_lag_unknown?: (boolean|null); } /** Represents a Status. */ @@ -29717,8 +30083,8 @@ export namespace replicationdata { /** Status file_position. */ public file_position: string; - /** Status file_relay_log_position. */ - public file_relay_log_position: string; + /** Status relay_log_source_binlog_equivalent_position. */ + public relay_log_source_binlog_equivalent_position: string; /** Status source_server_id. */ public source_server_id: number; @@ -29738,6 +30104,30 @@ export namespace replicationdata { /** Status last_sql_error. */ public last_sql_error: string; + /** Status relay_log_file_position. */ + public relay_log_file_position: string; + + /** Status source_user. */ + public source_user: string; + + /** Status sql_delay. */ + public sql_delay: number; + + /** Status auto_position. */ + public auto_position: boolean; + + /** Status using_gtid. */ + public using_gtid: boolean; + + /** Status has_replication_filters. */ + public has_replication_filters: boolean; + + /** Status ssl_allowed. */ + public ssl_allowed: boolean; + + /** Status replication_lag_unknown. */ + public replication_lag_unknown: boolean; + /** * Creates a new Status instance using the specified properties. * @param [properties] Properties to set @@ -30006,6 +30396,210 @@ export namespace replicationdata { */ public toJSON(): { [k: string]: any }; } + + /** Properties of a FullStatus. */ + interface IFullStatus { + + /** FullStatus server_id */ + server_id?: (number|null); + + /** FullStatus server_uuid */ + server_uuid?: (string|null); + + /** FullStatus replication_status */ + replication_status?: (replicationdata.IStatus|null); + + /** FullStatus primary_status */ + primary_status?: (replicationdata.IPrimaryStatus|null); + + /** FullStatus gtid_purged */ + gtid_purged?: (string|null); + + /** FullStatus version */ + version?: (string|null); + + /** FullStatus version_comment */ + version_comment?: (string|null); + + /** FullStatus read_only */ + read_only?: (boolean|null); + + /** FullStatus gtid_mode */ + gtid_mode?: (string|null); + + /** FullStatus binlog_format */ + binlog_format?: (string|null); + + /** FullStatus binlog_row_image */ + binlog_row_image?: (string|null); + + /** FullStatus log_bin_enabled */ + log_bin_enabled?: (boolean|null); + + /** FullStatus log_replica_updates */ + log_replica_updates?: (boolean|null); + + /** FullStatus semi_sync_primary_enabled */ + semi_sync_primary_enabled?: (boolean|null); + + /** FullStatus semi_sync_replica_enabled */ + semi_sync_replica_enabled?: (boolean|null); + + /** FullStatus semi_sync_primary_status */ + semi_sync_primary_status?: (boolean|null); + + /** FullStatus semi_sync_replica_status */ + semi_sync_replica_status?: (boolean|null); + + /** FullStatus semi_sync_primary_clients */ + semi_sync_primary_clients?: (number|null); + + /** FullStatus semi_sync_primary_timeout */ + semi_sync_primary_timeout?: (number|Long|null); + + /** FullStatus semi_sync_wait_for_replica_count */ + semi_sync_wait_for_replica_count?: (number|null); + } + + /** Represents a FullStatus. */ + class FullStatus implements IFullStatus { + + /** + * Constructs a new FullStatus. + * @param [properties] Properties to set + */ + constructor(properties?: replicationdata.IFullStatus); + + /** FullStatus server_id. */ + public server_id: number; + + /** FullStatus server_uuid. */ + public server_uuid: string; + + /** FullStatus replication_status. */ + public replication_status?: (replicationdata.IStatus|null); + + /** FullStatus primary_status. */ + public primary_status?: (replicationdata.IPrimaryStatus|null); + + /** FullStatus gtid_purged. */ + public gtid_purged: string; + + /** FullStatus version. */ + public version: string; + + /** FullStatus version_comment. */ + public version_comment: string; + + /** FullStatus read_only. */ + public read_only: boolean; + + /** FullStatus gtid_mode. */ + public gtid_mode: string; + + /** FullStatus binlog_format. */ + public binlog_format: string; + + /** FullStatus binlog_row_image. */ + public binlog_row_image: string; + + /** FullStatus log_bin_enabled. */ + public log_bin_enabled: boolean; + + /** FullStatus log_replica_updates. */ + public log_replica_updates: boolean; + + /** FullStatus semi_sync_primary_enabled. */ + public semi_sync_primary_enabled: boolean; + + /** FullStatus semi_sync_replica_enabled. */ + public semi_sync_replica_enabled: boolean; + + /** FullStatus semi_sync_primary_status. */ + public semi_sync_primary_status: boolean; + + /** FullStatus semi_sync_replica_status. */ + public semi_sync_replica_status: boolean; + + /** FullStatus semi_sync_primary_clients. */ + public semi_sync_primary_clients: number; + + /** FullStatus semi_sync_primary_timeout. */ + public semi_sync_primary_timeout: (number|Long); + + /** FullStatus semi_sync_wait_for_replica_count. */ + public semi_sync_wait_for_replica_count: number; + + /** + * Creates a new FullStatus instance using the specified properties. + * @param [properties] Properties to set + * @returns FullStatus instance + */ + public static create(properties?: replicationdata.IFullStatus): replicationdata.FullStatus; + + /** + * Encodes the specified FullStatus message. Does not implicitly {@link replicationdata.FullStatus.verify|verify} messages. + * @param message FullStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: replicationdata.IFullStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FullStatus message, length delimited. Does not implicitly {@link replicationdata.FullStatus.verify|verify} messages. + * @param message FullStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: replicationdata.IFullStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FullStatus message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FullStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): replicationdata.FullStatus; + + /** + * Decodes a FullStatus message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FullStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): replicationdata.FullStatus; + + /** + * Verifies a FullStatus message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FullStatus message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FullStatus + */ + public static fromObject(object: { [k: string]: any }): replicationdata.FullStatus; + + /** + * Creates a plain object from a FullStatus message. Also converts values to other types if specified. + * @param message FullStatus + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: replicationdata.FullStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FullStatus to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } } /** Namespace vschema. */ diff --git a/web/vtadmin/src/proto/vtadmin.js b/web/vtadmin/src/proto/vtadmin.js index 2f95e007487..6f9d3b6f9ef 100644 --- a/web/vtadmin/src/proto/vtadmin.js +++ b/web/vtadmin/src/proto/vtadmin.js @@ -47288,28 +47288,23 @@ $root.tabletmanagerdata = (function() { return ReplicaWasPromotedResponse; })(); - tabletmanagerdata.SetReplicationSourceRequest = (function() { + tabletmanagerdata.ResetReplicationParametersRequest = (function() { /** - * Properties of a SetReplicationSourceRequest. + * Properties of a ResetReplicationParametersRequest. * @memberof tabletmanagerdata - * @interface ISetReplicationSourceRequest - * @property {topodata.ITabletAlias|null} [parent] SetReplicationSourceRequest parent - * @property {number|Long|null} [time_created_ns] SetReplicationSourceRequest time_created_ns - * @property {boolean|null} [force_start_replication] SetReplicationSourceRequest force_start_replication - * @property {string|null} [wait_position] SetReplicationSourceRequest wait_position - * @property {boolean|null} [semiSync] SetReplicationSourceRequest semiSync + * @interface IResetReplicationParametersRequest */ /** - * Constructs a new SetReplicationSourceRequest. + * Constructs a new ResetReplicationParametersRequest. * @memberof tabletmanagerdata - * @classdesc Represents a SetReplicationSourceRequest. - * @implements ISetReplicationSourceRequest + * @classdesc Represents a ResetReplicationParametersRequest. + * @implements IResetReplicationParametersRequest * @constructor - * @param {tabletmanagerdata.ISetReplicationSourceRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IResetReplicationParametersRequest=} [properties] Properties to set */ - function SetReplicationSourceRequest(properties) { + function ResetReplicationParametersRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47317,128 +47312,63 @@ $root.tabletmanagerdata = (function() { } /** - * SetReplicationSourceRequest parent. - * @member {topodata.ITabletAlias|null|undefined} parent - * @memberof tabletmanagerdata.SetReplicationSourceRequest - * @instance - */ - SetReplicationSourceRequest.prototype.parent = null; - - /** - * SetReplicationSourceRequest time_created_ns. - * @member {number|Long} time_created_ns - * @memberof tabletmanagerdata.SetReplicationSourceRequest - * @instance - */ - SetReplicationSourceRequest.prototype.time_created_ns = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * SetReplicationSourceRequest force_start_replication. - * @member {boolean} force_start_replication - * @memberof tabletmanagerdata.SetReplicationSourceRequest - * @instance - */ - SetReplicationSourceRequest.prototype.force_start_replication = false; - - /** - * SetReplicationSourceRequest wait_position. - * @member {string} wait_position - * @memberof tabletmanagerdata.SetReplicationSourceRequest - * @instance - */ - SetReplicationSourceRequest.prototype.wait_position = ""; - - /** - * SetReplicationSourceRequest semiSync. - * @member {boolean} semiSync - * @memberof tabletmanagerdata.SetReplicationSourceRequest - * @instance - */ - SetReplicationSourceRequest.prototype.semiSync = false; - - /** - * Creates a new SetReplicationSourceRequest instance using the specified properties. + * Creates a new ResetReplicationParametersRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static - * @param {tabletmanagerdata.ISetReplicationSourceRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest instance + * @param {tabletmanagerdata.IResetReplicationParametersRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.ResetReplicationParametersRequest} ResetReplicationParametersRequest instance */ - SetReplicationSourceRequest.create = function create(properties) { - return new SetReplicationSourceRequest(properties); + ResetReplicationParametersRequest.create = function create(properties) { + return new ResetReplicationParametersRequest(properties); }; /** - * Encodes the specified SetReplicationSourceRequest message. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceRequest.verify|verify} messages. + * Encodes the specified ResetReplicationParametersRequest message. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static - * @param {tabletmanagerdata.ISetReplicationSourceRequest} message SetReplicationSourceRequest message or plain object to encode + * @param {tabletmanagerdata.IResetReplicationParametersRequest} message ResetReplicationParametersRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SetReplicationSourceRequest.encode = function encode(message, writer) { + ResetReplicationParametersRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) - $root.topodata.TabletAlias.encode(message.parent, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.time_created_ns != null && Object.hasOwnProperty.call(message, "time_created_ns")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.time_created_ns); - if (message.force_start_replication != null && Object.hasOwnProperty.call(message, "force_start_replication")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force_start_replication); - if (message.wait_position != null && Object.hasOwnProperty.call(message, "wait_position")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.wait_position); - if (message.semiSync != null && Object.hasOwnProperty.call(message, "semiSync")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.semiSync); return writer; }; /** - * Encodes the specified SetReplicationSourceRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceRequest.verify|verify} messages. + * Encodes the specified ResetReplicationParametersRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static - * @param {tabletmanagerdata.ISetReplicationSourceRequest} message SetReplicationSourceRequest message or plain object to encode + * @param {tabletmanagerdata.IResetReplicationParametersRequest} message ResetReplicationParametersRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SetReplicationSourceRequest.encodeDelimited = function encodeDelimited(message, writer) { + ResetReplicationParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SetReplicationSourceRequest message from the specified reader or buffer. + * Decodes a ResetReplicationParametersRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest + * @returns {tabletmanagerdata.ResetReplicationParametersRequest} ResetReplicationParametersRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetReplicationSourceRequest.decode = function decode(reader, length) { + ResetReplicationParametersRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.SetReplicationSourceRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.ResetReplicationParametersRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = $root.topodata.TabletAlias.decode(reader, reader.uint32()); - break; - case 2: - message.time_created_ns = reader.int64(); - break; - case 3: - message.force_start_replication = reader.bool(); - break; - case 4: - message.wait_position = reader.string(); - break; - case 5: - message.semiSync = reader.bool(); - break; default: reader.skipType(tag & 7); break; @@ -47448,158 +47378,93 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a SetReplicationSourceRequest message from the specified reader or buffer, length delimited. + * Decodes a ResetReplicationParametersRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest + * @returns {tabletmanagerdata.ResetReplicationParametersRequest} ResetReplicationParametersRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetReplicationSourceRequest.decodeDelimited = function decodeDelimited(reader) { + ResetReplicationParametersRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SetReplicationSourceRequest message. + * Verifies a ResetReplicationParametersRequest message. * @function verify - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetReplicationSourceRequest.verify = function verify(message) { + ResetReplicationParametersRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.parent != null && message.hasOwnProperty("parent")) { - var error = $root.topodata.TabletAlias.verify(message.parent); - if (error) - return "parent." + error; - } - if (message.time_created_ns != null && message.hasOwnProperty("time_created_ns")) - if (!$util.isInteger(message.time_created_ns) && !(message.time_created_ns && $util.isInteger(message.time_created_ns.low) && $util.isInteger(message.time_created_ns.high))) - return "time_created_ns: integer|Long expected"; - if (message.force_start_replication != null && message.hasOwnProperty("force_start_replication")) - if (typeof message.force_start_replication !== "boolean") - return "force_start_replication: boolean expected"; - if (message.wait_position != null && message.hasOwnProperty("wait_position")) - if (!$util.isString(message.wait_position)) - return "wait_position: string expected"; - if (message.semiSync != null && message.hasOwnProperty("semiSync")) - if (typeof message.semiSync !== "boolean") - return "semiSync: boolean expected"; return null; }; /** - * Creates a SetReplicationSourceRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ResetReplicationParametersRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest + * @returns {tabletmanagerdata.ResetReplicationParametersRequest} ResetReplicationParametersRequest */ - SetReplicationSourceRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.SetReplicationSourceRequest) + ResetReplicationParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.ResetReplicationParametersRequest) return object; - var message = new $root.tabletmanagerdata.SetReplicationSourceRequest(); - if (object.parent != null) { - if (typeof object.parent !== "object") - throw TypeError(".tabletmanagerdata.SetReplicationSourceRequest.parent: object expected"); - message.parent = $root.topodata.TabletAlias.fromObject(object.parent); - } - if (object.time_created_ns != null) - if ($util.Long) - (message.time_created_ns = $util.Long.fromValue(object.time_created_ns)).unsigned = false; - else if (typeof object.time_created_ns === "string") - message.time_created_ns = parseInt(object.time_created_ns, 10); - else if (typeof object.time_created_ns === "number") - message.time_created_ns = object.time_created_ns; - else if (typeof object.time_created_ns === "object") - message.time_created_ns = new $util.LongBits(object.time_created_ns.low >>> 0, object.time_created_ns.high >>> 0).toNumber(); - if (object.force_start_replication != null) - message.force_start_replication = Boolean(object.force_start_replication); - if (object.wait_position != null) - message.wait_position = String(object.wait_position); - if (object.semiSync != null) - message.semiSync = Boolean(object.semiSync); - return message; + return new $root.tabletmanagerdata.ResetReplicationParametersRequest(); }; /** - * Creates a plain object from a SetReplicationSourceRequest message. Also converts values to other types if specified. + * Creates a plain object from a ResetReplicationParametersRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @static - * @param {tabletmanagerdata.SetReplicationSourceRequest} message SetReplicationSourceRequest + * @param {tabletmanagerdata.ResetReplicationParametersRequest} message ResetReplicationParametersRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SetReplicationSourceRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.parent = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.time_created_ns = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.time_created_ns = options.longs === String ? "0" : 0; - object.force_start_replication = false; - object.wait_position = ""; - object.semiSync = false; - } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = $root.topodata.TabletAlias.toObject(message.parent, options); - if (message.time_created_ns != null && message.hasOwnProperty("time_created_ns")) - if (typeof message.time_created_ns === "number") - object.time_created_ns = options.longs === String ? String(message.time_created_ns) : message.time_created_ns; - else - object.time_created_ns = options.longs === String ? $util.Long.prototype.toString.call(message.time_created_ns) : options.longs === Number ? new $util.LongBits(message.time_created_ns.low >>> 0, message.time_created_ns.high >>> 0).toNumber() : message.time_created_ns; - if (message.force_start_replication != null && message.hasOwnProperty("force_start_replication")) - object.force_start_replication = message.force_start_replication; - if (message.wait_position != null && message.hasOwnProperty("wait_position")) - object.wait_position = message.wait_position; - if (message.semiSync != null && message.hasOwnProperty("semiSync")) - object.semiSync = message.semiSync; - return object; + ResetReplicationParametersRequest.toObject = function toObject() { + return {}; }; /** - * Converts this SetReplicationSourceRequest to JSON. + * Converts this ResetReplicationParametersRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @memberof tabletmanagerdata.ResetReplicationParametersRequest * @instance * @returns {Object.} JSON object */ - SetReplicationSourceRequest.prototype.toJSON = function toJSON() { + ResetReplicationParametersRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SetReplicationSourceRequest; + return ResetReplicationParametersRequest; })(); - tabletmanagerdata.SetReplicationSourceResponse = (function() { + tabletmanagerdata.ResetReplicationParametersResponse = (function() { /** - * Properties of a SetReplicationSourceResponse. + * Properties of a ResetReplicationParametersResponse. * @memberof tabletmanagerdata - * @interface ISetReplicationSourceResponse + * @interface IResetReplicationParametersResponse */ /** - * Constructs a new SetReplicationSourceResponse. + * Constructs a new ResetReplicationParametersResponse. * @memberof tabletmanagerdata - * @classdesc Represents a SetReplicationSourceResponse. - * @implements ISetReplicationSourceResponse + * @classdesc Represents a ResetReplicationParametersResponse. + * @implements IResetReplicationParametersResponse * @constructor - * @param {tabletmanagerdata.ISetReplicationSourceResponse=} [properties] Properties to set + * @param {tabletmanagerdata.IResetReplicationParametersResponse=} [properties] Properties to set */ - function SetReplicationSourceResponse(properties) { + function ResetReplicationParametersResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47607,60 +47472,60 @@ $root.tabletmanagerdata = (function() { } /** - * Creates a new SetReplicationSourceResponse instance using the specified properties. + * Creates a new ResetReplicationParametersResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static - * @param {tabletmanagerdata.ISetReplicationSourceResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse instance + * @param {tabletmanagerdata.IResetReplicationParametersResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.ResetReplicationParametersResponse} ResetReplicationParametersResponse instance */ - SetReplicationSourceResponse.create = function create(properties) { - return new SetReplicationSourceResponse(properties); + ResetReplicationParametersResponse.create = function create(properties) { + return new ResetReplicationParametersResponse(properties); }; /** - * Encodes the specified SetReplicationSourceResponse message. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceResponse.verify|verify} messages. + * Encodes the specified ResetReplicationParametersResponse message. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static - * @param {tabletmanagerdata.ISetReplicationSourceResponse} message SetReplicationSourceResponse message or plain object to encode + * @param {tabletmanagerdata.IResetReplicationParametersResponse} message ResetReplicationParametersResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SetReplicationSourceResponse.encode = function encode(message, writer) { + ResetReplicationParametersResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); return writer; }; /** - * Encodes the specified SetReplicationSourceResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceResponse.verify|verify} messages. + * Encodes the specified ResetReplicationParametersResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.ResetReplicationParametersResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static - * @param {tabletmanagerdata.ISetReplicationSourceResponse} message SetReplicationSourceResponse message or plain object to encode + * @param {tabletmanagerdata.IResetReplicationParametersResponse} message ResetReplicationParametersResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SetReplicationSourceResponse.encodeDelimited = function encodeDelimited(message, writer) { + ResetReplicationParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SetReplicationSourceResponse message from the specified reader or buffer. + * Decodes a ResetReplicationParametersResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse + * @returns {tabletmanagerdata.ResetReplicationParametersResponse} ResetReplicationParametersResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetReplicationSourceResponse.decode = function decode(reader, length) { + ResetReplicationParametersResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.SetReplicationSourceResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.ResetReplicationParametersResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -47673,94 +47538,93 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a SetReplicationSourceResponse message from the specified reader or buffer, length delimited. + * Decodes a ResetReplicationParametersResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse + * @returns {tabletmanagerdata.ResetReplicationParametersResponse} ResetReplicationParametersResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetReplicationSourceResponse.decodeDelimited = function decodeDelimited(reader) { + ResetReplicationParametersResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SetReplicationSourceResponse message. + * Verifies a ResetReplicationParametersResponse message. * @function verify - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetReplicationSourceResponse.verify = function verify(message) { + ResetReplicationParametersResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; return null; }; /** - * Creates a SetReplicationSourceResponse message from a plain object. Also converts values to their respective internal types. + * Creates a ResetReplicationParametersResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse + * @returns {tabletmanagerdata.ResetReplicationParametersResponse} ResetReplicationParametersResponse */ - SetReplicationSourceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.SetReplicationSourceResponse) + ResetReplicationParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.ResetReplicationParametersResponse) return object; - return new $root.tabletmanagerdata.SetReplicationSourceResponse(); + return new $root.tabletmanagerdata.ResetReplicationParametersResponse(); }; /** - * Creates a plain object from a SetReplicationSourceResponse message. Also converts values to other types if specified. + * Creates a plain object from a ResetReplicationParametersResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @static - * @param {tabletmanagerdata.SetReplicationSourceResponse} message SetReplicationSourceResponse + * @param {tabletmanagerdata.ResetReplicationParametersResponse} message ResetReplicationParametersResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SetReplicationSourceResponse.toObject = function toObject() { + ResetReplicationParametersResponse.toObject = function toObject() { return {}; }; /** - * Converts this SetReplicationSourceResponse to JSON. + * Converts this ResetReplicationParametersResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.SetReplicationSourceResponse + * @memberof tabletmanagerdata.ResetReplicationParametersResponse * @instance * @returns {Object.} JSON object */ - SetReplicationSourceResponse.prototype.toJSON = function toJSON() { + ResetReplicationParametersResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SetReplicationSourceResponse; + return ResetReplicationParametersResponse; })(); - tabletmanagerdata.ReplicaWasRestartedRequest = (function() { + tabletmanagerdata.FullStatusRequest = (function() { /** - * Properties of a ReplicaWasRestartedRequest. + * Properties of a FullStatusRequest. * @memberof tabletmanagerdata - * @interface IReplicaWasRestartedRequest - * @property {topodata.ITabletAlias|null} [parent] ReplicaWasRestartedRequest parent + * @interface IFullStatusRequest */ /** - * Constructs a new ReplicaWasRestartedRequest. + * Constructs a new FullStatusRequest. * @memberof tabletmanagerdata - * @classdesc Represents a ReplicaWasRestartedRequest. - * @implements IReplicaWasRestartedRequest + * @classdesc Represents a FullStatusRequest. + * @implements IFullStatusRequest * @constructor - * @param {tabletmanagerdata.IReplicaWasRestartedRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IFullStatusRequest=} [properties] Properties to set */ - function ReplicaWasRestartedRequest(properties) { + function FullStatusRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47768,76 +47632,63 @@ $root.tabletmanagerdata = (function() { } /** - * ReplicaWasRestartedRequest parent. - * @member {topodata.ITabletAlias|null|undefined} parent - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest - * @instance - */ - ReplicaWasRestartedRequest.prototype.parent = null; - - /** - * Creates a new ReplicaWasRestartedRequest instance using the specified properties. + * Creates a new FullStatusRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static - * @param {tabletmanagerdata.IReplicaWasRestartedRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest instance + * @param {tabletmanagerdata.IFullStatusRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.FullStatusRequest} FullStatusRequest instance */ - ReplicaWasRestartedRequest.create = function create(properties) { - return new ReplicaWasRestartedRequest(properties); + FullStatusRequest.create = function create(properties) { + return new FullStatusRequest(properties); }; /** - * Encodes the specified ReplicaWasRestartedRequest message. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedRequest.verify|verify} messages. + * Encodes the specified FullStatusRequest message. Does not implicitly {@link tabletmanagerdata.FullStatusRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static - * @param {tabletmanagerdata.IReplicaWasRestartedRequest} message ReplicaWasRestartedRequest message or plain object to encode + * @param {tabletmanagerdata.IFullStatusRequest} message FullStatusRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ReplicaWasRestartedRequest.encode = function encode(message, writer) { + FullStatusRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) - $root.topodata.TabletAlias.encode(message.parent, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ReplicaWasRestartedRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedRequest.verify|verify} messages. + * Encodes the specified FullStatusRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.FullStatusRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static - * @param {tabletmanagerdata.IReplicaWasRestartedRequest} message ReplicaWasRestartedRequest message or plain object to encode + * @param {tabletmanagerdata.IFullStatusRequest} message FullStatusRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ReplicaWasRestartedRequest.encodeDelimited = function encodeDelimited(message, writer) { + FullStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ReplicaWasRestartedRequest message from the specified reader or buffer. + * Decodes a FullStatusRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest + * @returns {tabletmanagerdata.FullStatusRequest} FullStatusRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaWasRestartedRequest.decode = function decode(reader, length) { + FullStatusRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.ReplicaWasRestartedRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.FullStatusRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = $root.topodata.TabletAlias.decode(reader, reader.uint32()); - break; default: reader.skipType(tag & 7); break; @@ -47847,111 +47698,94 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a ReplicaWasRestartedRequest message from the specified reader or buffer, length delimited. + * Decodes a FullStatusRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest + * @returns {tabletmanagerdata.FullStatusRequest} FullStatusRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaWasRestartedRequest.decodeDelimited = function decodeDelimited(reader) { + FullStatusRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ReplicaWasRestartedRequest message. + * Verifies a FullStatusRequest message. * @function verify - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReplicaWasRestartedRequest.verify = function verify(message) { + FullStatusRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.parent != null && message.hasOwnProperty("parent")) { - var error = $root.topodata.TabletAlias.verify(message.parent); - if (error) - return "parent." + error; - } return null; }; /** - * Creates a ReplicaWasRestartedRequest message from a plain object. Also converts values to their respective internal types. + * Creates a FullStatusRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest + * @returns {tabletmanagerdata.FullStatusRequest} FullStatusRequest */ - ReplicaWasRestartedRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.ReplicaWasRestartedRequest) + FullStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.FullStatusRequest) return object; - var message = new $root.tabletmanagerdata.ReplicaWasRestartedRequest(); - if (object.parent != null) { - if (typeof object.parent !== "object") - throw TypeError(".tabletmanagerdata.ReplicaWasRestartedRequest.parent: object expected"); - message.parent = $root.topodata.TabletAlias.fromObject(object.parent); - } - return message; + return new $root.tabletmanagerdata.FullStatusRequest(); }; /** - * Creates a plain object from a ReplicaWasRestartedRequest message. Also converts values to other types if specified. + * Creates a plain object from a FullStatusRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @static - * @param {tabletmanagerdata.ReplicaWasRestartedRequest} message ReplicaWasRestartedRequest + * @param {tabletmanagerdata.FullStatusRequest} message FullStatusRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ReplicaWasRestartedRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.parent = null; - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = $root.topodata.TabletAlias.toObject(message.parent, options); - return object; + FullStatusRequest.toObject = function toObject() { + return {}; }; /** - * Converts this ReplicaWasRestartedRequest to JSON. + * Converts this FullStatusRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.ReplicaWasRestartedRequest + * @memberof tabletmanagerdata.FullStatusRequest * @instance * @returns {Object.} JSON object */ - ReplicaWasRestartedRequest.prototype.toJSON = function toJSON() { + FullStatusRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ReplicaWasRestartedRequest; + return FullStatusRequest; })(); - tabletmanagerdata.ReplicaWasRestartedResponse = (function() { + tabletmanagerdata.FullStatusResponse = (function() { /** - * Properties of a ReplicaWasRestartedResponse. + * Properties of a FullStatusResponse. * @memberof tabletmanagerdata - * @interface IReplicaWasRestartedResponse + * @interface IFullStatusResponse + * @property {replicationdata.IFullStatus|null} [status] FullStatusResponse status */ /** - * Constructs a new ReplicaWasRestartedResponse. + * Constructs a new FullStatusResponse. * @memberof tabletmanagerdata - * @classdesc Represents a ReplicaWasRestartedResponse. - * @implements IReplicaWasRestartedResponse + * @classdesc Represents a FullStatusResponse. + * @implements IFullStatusResponse * @constructor - * @param {tabletmanagerdata.IReplicaWasRestartedResponse=} [properties] Properties to set + * @param {tabletmanagerdata.IFullStatusResponse=} [properties] Properties to set */ - function ReplicaWasRestartedResponse(properties) { + function FullStatusResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47959,63 +47793,76 @@ $root.tabletmanagerdata = (function() { } /** - * Creates a new ReplicaWasRestartedResponse instance using the specified properties. + * FullStatusResponse status. + * @member {replicationdata.IFullStatus|null|undefined} status + * @memberof tabletmanagerdata.FullStatusResponse + * @instance + */ + FullStatusResponse.prototype.status = null; + + /** + * Creates a new FullStatusResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static - * @param {tabletmanagerdata.IReplicaWasRestartedResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse instance + * @param {tabletmanagerdata.IFullStatusResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.FullStatusResponse} FullStatusResponse instance */ - ReplicaWasRestartedResponse.create = function create(properties) { - return new ReplicaWasRestartedResponse(properties); + FullStatusResponse.create = function create(properties) { + return new FullStatusResponse(properties); }; /** - * Encodes the specified ReplicaWasRestartedResponse message. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedResponse.verify|verify} messages. + * Encodes the specified FullStatusResponse message. Does not implicitly {@link tabletmanagerdata.FullStatusResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static - * @param {tabletmanagerdata.IReplicaWasRestartedResponse} message ReplicaWasRestartedResponse message or plain object to encode + * @param {tabletmanagerdata.IFullStatusResponse} message FullStatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ReplicaWasRestartedResponse.encode = function encode(message, writer) { + FullStatusResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); + if (message.status != null && Object.hasOwnProperty.call(message, "status")) + $root.replicationdata.FullStatus.encode(message.status, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ReplicaWasRestartedResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedResponse.verify|verify} messages. + * Encodes the specified FullStatusResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.FullStatusResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static - * @param {tabletmanagerdata.IReplicaWasRestartedResponse} message ReplicaWasRestartedResponse message or plain object to encode + * @param {tabletmanagerdata.IFullStatusResponse} message FullStatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ReplicaWasRestartedResponse.encodeDelimited = function encodeDelimited(message, writer) { + FullStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ReplicaWasRestartedResponse message from the specified reader or buffer. + * Decodes a FullStatusResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse + * @returns {tabletmanagerdata.FullStatusResponse} FullStatusResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaWasRestartedResponse.decode = function decode(reader, length) { + FullStatusResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.ReplicaWasRestartedResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.FullStatusResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.status = $root.replicationdata.FullStatus.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -48025,94 +47872,116 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a ReplicaWasRestartedResponse message from the specified reader or buffer, length delimited. + * Decodes a FullStatusResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse + * @returns {tabletmanagerdata.FullStatusResponse} FullStatusResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaWasRestartedResponse.decodeDelimited = function decodeDelimited(reader) { + FullStatusResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ReplicaWasRestartedResponse message. + * Verifies a FullStatusResponse message. * @function verify - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReplicaWasRestartedResponse.verify = function verify(message) { + FullStatusResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + if (message.status != null && message.hasOwnProperty("status")) { + var error = $root.replicationdata.FullStatus.verify(message.status); + if (error) + return "status." + error; + } return null; }; /** - * Creates a ReplicaWasRestartedResponse message from a plain object. Also converts values to their respective internal types. + * Creates a FullStatusResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse + * @returns {tabletmanagerdata.FullStatusResponse} FullStatusResponse */ - ReplicaWasRestartedResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.ReplicaWasRestartedResponse) + FullStatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.FullStatusResponse) return object; - return new $root.tabletmanagerdata.ReplicaWasRestartedResponse(); + var message = new $root.tabletmanagerdata.FullStatusResponse(); + if (object.status != null) { + if (typeof object.status !== "object") + throw TypeError(".tabletmanagerdata.FullStatusResponse.status: object expected"); + message.status = $root.replicationdata.FullStatus.fromObject(object.status); + } + return message; }; /** - * Creates a plain object from a ReplicaWasRestartedResponse message. Also converts values to other types if specified. + * Creates a plain object from a FullStatusResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @static - * @param {tabletmanagerdata.ReplicaWasRestartedResponse} message ReplicaWasRestartedResponse + * @param {tabletmanagerdata.FullStatusResponse} message FullStatusResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ReplicaWasRestartedResponse.toObject = function toObject() { - return {}; + FullStatusResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.status = null; + if (message.status != null && message.hasOwnProperty("status")) + object.status = $root.replicationdata.FullStatus.toObject(message.status, options); + return object; }; /** - * Converts this ReplicaWasRestartedResponse to JSON. + * Converts this FullStatusResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.ReplicaWasRestartedResponse + * @memberof tabletmanagerdata.FullStatusResponse * @instance * @returns {Object.} JSON object */ - ReplicaWasRestartedResponse.prototype.toJSON = function toJSON() { + FullStatusResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ReplicaWasRestartedResponse; + return FullStatusResponse; })(); - tabletmanagerdata.StopReplicationAndGetStatusRequest = (function() { + tabletmanagerdata.SetReplicationSourceRequest = (function() { /** - * Properties of a StopReplicationAndGetStatusRequest. + * Properties of a SetReplicationSourceRequest. * @memberof tabletmanagerdata - * @interface IStopReplicationAndGetStatusRequest - * @property {replicationdata.StopReplicationMode|null} [stop_replication_mode] StopReplicationAndGetStatusRequest stop_replication_mode + * @interface ISetReplicationSourceRequest + * @property {topodata.ITabletAlias|null} [parent] SetReplicationSourceRequest parent + * @property {number|Long|null} [time_created_ns] SetReplicationSourceRequest time_created_ns + * @property {boolean|null} [force_start_replication] SetReplicationSourceRequest force_start_replication + * @property {string|null} [wait_position] SetReplicationSourceRequest wait_position + * @property {boolean|null} [semiSync] SetReplicationSourceRequest semiSync */ /** - * Constructs a new StopReplicationAndGetStatusRequest. + * Constructs a new SetReplicationSourceRequest. * @memberof tabletmanagerdata - * @classdesc Represents a StopReplicationAndGetStatusRequest. - * @implements IStopReplicationAndGetStatusRequest + * @classdesc Represents a SetReplicationSourceRequest. + * @implements ISetReplicationSourceRequest * @constructor - * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest=} [properties] Properties to set + * @param {tabletmanagerdata.ISetReplicationSourceRequest=} [properties] Properties to set */ - function StopReplicationAndGetStatusRequest(properties) { + function SetReplicationSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48120,75 +47989,127 @@ $root.tabletmanagerdata = (function() { } /** - * StopReplicationAndGetStatusRequest stop_replication_mode. - * @member {replicationdata.StopReplicationMode} stop_replication_mode - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * SetReplicationSourceRequest parent. + * @member {topodata.ITabletAlias|null|undefined} parent + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @instance */ - StopReplicationAndGetStatusRequest.prototype.stop_replication_mode = 0; + SetReplicationSourceRequest.prototype.parent = null; /** - * Creates a new StopReplicationAndGetStatusRequest instance using the specified properties. + * SetReplicationSourceRequest time_created_ns. + * @member {number|Long} time_created_ns + * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @instance + */ + SetReplicationSourceRequest.prototype.time_created_ns = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * SetReplicationSourceRequest force_start_replication. + * @member {boolean} force_start_replication + * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @instance + */ + SetReplicationSourceRequest.prototype.force_start_replication = false; + + /** + * SetReplicationSourceRequest wait_position. + * @member {string} wait_position + * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @instance + */ + SetReplicationSourceRequest.prototype.wait_position = ""; + + /** + * SetReplicationSourceRequest semiSync. + * @member {boolean} semiSync + * @memberof tabletmanagerdata.SetReplicationSourceRequest + * @instance + */ + SetReplicationSourceRequest.prototype.semiSync = false; + + /** + * Creates a new SetReplicationSourceRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static - * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest instance + * @param {tabletmanagerdata.ISetReplicationSourceRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest instance */ - StopReplicationAndGetStatusRequest.create = function create(properties) { - return new StopReplicationAndGetStatusRequest(properties); + SetReplicationSourceRequest.create = function create(properties) { + return new SetReplicationSourceRequest(properties); }; /** - * Encodes the specified StopReplicationAndGetStatusRequest message. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusRequest.verify|verify} messages. + * Encodes the specified SetReplicationSourceRequest message. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static - * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest} message StopReplicationAndGetStatusRequest message or plain object to encode + * @param {tabletmanagerdata.ISetReplicationSourceRequest} message SetReplicationSourceRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StopReplicationAndGetStatusRequest.encode = function encode(message, writer) { + SetReplicationSourceRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.stop_replication_mode != null && Object.hasOwnProperty.call(message, "stop_replication_mode")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.stop_replication_mode); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + $root.topodata.TabletAlias.encode(message.parent, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.time_created_ns != null && Object.hasOwnProperty.call(message, "time_created_ns")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.time_created_ns); + if (message.force_start_replication != null && Object.hasOwnProperty.call(message, "force_start_replication")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force_start_replication); + if (message.wait_position != null && Object.hasOwnProperty.call(message, "wait_position")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.wait_position); + if (message.semiSync != null && Object.hasOwnProperty.call(message, "semiSync")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.semiSync); return writer; }; /** - * Encodes the specified StopReplicationAndGetStatusRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusRequest.verify|verify} messages. + * Encodes the specified SetReplicationSourceRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static - * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest} message StopReplicationAndGetStatusRequest message or plain object to encode + * @param {tabletmanagerdata.ISetReplicationSourceRequest} message SetReplicationSourceRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StopReplicationAndGetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + SetReplicationSourceRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StopReplicationAndGetStatusRequest message from the specified reader or buffer. + * Decodes a SetReplicationSourceRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest + * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StopReplicationAndGetStatusRequest.decode = function decode(reader, length) { + SetReplicationSourceRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.StopReplicationAndGetStatusRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.SetReplicationSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.stop_replication_mode = reader.int32(); + message.parent = $root.topodata.TabletAlias.decode(reader, reader.uint32()); + break; + case 2: + message.time_created_ns = reader.int64(); + break; + case 3: + message.force_start_replication = reader.bool(); + break; + case 4: + message.wait_position = reader.string(); + break; + case 5: + message.semiSync = reader.bool(); break; default: reader.skipType(tag & 7); @@ -48199,121 +48120,158 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a StopReplicationAndGetStatusRequest message from the specified reader or buffer, length delimited. + * Decodes a SetReplicationSourceRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest + * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StopReplicationAndGetStatusRequest.decodeDelimited = function decodeDelimited(reader) { + SetReplicationSourceRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StopReplicationAndGetStatusRequest message. + * Verifies a SetReplicationSourceRequest message. * @function verify - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StopReplicationAndGetStatusRequest.verify = function verify(message) { + SetReplicationSourceRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.stop_replication_mode != null && message.hasOwnProperty("stop_replication_mode")) - switch (message.stop_replication_mode) { - default: - return "stop_replication_mode: enum value expected"; - case 0: - case 1: - break; - } + if (message.parent != null && message.hasOwnProperty("parent")) { + var error = $root.topodata.TabletAlias.verify(message.parent); + if (error) + return "parent." + error; + } + if (message.time_created_ns != null && message.hasOwnProperty("time_created_ns")) + if (!$util.isInteger(message.time_created_ns) && !(message.time_created_ns && $util.isInteger(message.time_created_ns.low) && $util.isInteger(message.time_created_ns.high))) + return "time_created_ns: integer|Long expected"; + if (message.force_start_replication != null && message.hasOwnProperty("force_start_replication")) + if (typeof message.force_start_replication !== "boolean") + return "force_start_replication: boolean expected"; + if (message.wait_position != null && message.hasOwnProperty("wait_position")) + if (!$util.isString(message.wait_position)) + return "wait_position: string expected"; + if (message.semiSync != null && message.hasOwnProperty("semiSync")) + if (typeof message.semiSync !== "boolean") + return "semiSync: boolean expected"; return null; }; /** - * Creates a StopReplicationAndGetStatusRequest message from a plain object. Also converts values to their respective internal types. + * Creates a SetReplicationSourceRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest + * @returns {tabletmanagerdata.SetReplicationSourceRequest} SetReplicationSourceRequest */ - StopReplicationAndGetStatusRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.StopReplicationAndGetStatusRequest) + SetReplicationSourceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.SetReplicationSourceRequest) return object; - var message = new $root.tabletmanagerdata.StopReplicationAndGetStatusRequest(); - switch (object.stop_replication_mode) { - case "IOANDSQLTHREAD": - case 0: - message.stop_replication_mode = 0; - break; - case "IOTHREADONLY": - case 1: - message.stop_replication_mode = 1; - break; + var message = new $root.tabletmanagerdata.SetReplicationSourceRequest(); + if (object.parent != null) { + if (typeof object.parent !== "object") + throw TypeError(".tabletmanagerdata.SetReplicationSourceRequest.parent: object expected"); + message.parent = $root.topodata.TabletAlias.fromObject(object.parent); } + if (object.time_created_ns != null) + if ($util.Long) + (message.time_created_ns = $util.Long.fromValue(object.time_created_ns)).unsigned = false; + else if (typeof object.time_created_ns === "string") + message.time_created_ns = parseInt(object.time_created_ns, 10); + else if (typeof object.time_created_ns === "number") + message.time_created_ns = object.time_created_ns; + else if (typeof object.time_created_ns === "object") + message.time_created_ns = new $util.LongBits(object.time_created_ns.low >>> 0, object.time_created_ns.high >>> 0).toNumber(); + if (object.force_start_replication != null) + message.force_start_replication = Boolean(object.force_start_replication); + if (object.wait_position != null) + message.wait_position = String(object.wait_position); + if (object.semiSync != null) + message.semiSync = Boolean(object.semiSync); return message; }; /** - * Creates a plain object from a StopReplicationAndGetStatusRequest message. Also converts values to other types if specified. + * Creates a plain object from a SetReplicationSourceRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @static - * @param {tabletmanagerdata.StopReplicationAndGetStatusRequest} message StopReplicationAndGetStatusRequest + * @param {tabletmanagerdata.SetReplicationSourceRequest} message SetReplicationSourceRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StopReplicationAndGetStatusRequest.toObject = function toObject(message, options) { + SetReplicationSourceRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.stop_replication_mode = options.enums === String ? "IOANDSQLTHREAD" : 0; - if (message.stop_replication_mode != null && message.hasOwnProperty("stop_replication_mode")) - object.stop_replication_mode = options.enums === String ? $root.replicationdata.StopReplicationMode[message.stop_replication_mode] : message.stop_replication_mode; + if (options.defaults) { + object.parent = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.time_created_ns = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.time_created_ns = options.longs === String ? "0" : 0; + object.force_start_replication = false; + object.wait_position = ""; + object.semiSync = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = $root.topodata.TabletAlias.toObject(message.parent, options); + if (message.time_created_ns != null && message.hasOwnProperty("time_created_ns")) + if (typeof message.time_created_ns === "number") + object.time_created_ns = options.longs === String ? String(message.time_created_ns) : message.time_created_ns; + else + object.time_created_ns = options.longs === String ? $util.Long.prototype.toString.call(message.time_created_ns) : options.longs === Number ? new $util.LongBits(message.time_created_ns.low >>> 0, message.time_created_ns.high >>> 0).toNumber() : message.time_created_ns; + if (message.force_start_replication != null && message.hasOwnProperty("force_start_replication")) + object.force_start_replication = message.force_start_replication; + if (message.wait_position != null && message.hasOwnProperty("wait_position")) + object.wait_position = message.wait_position; + if (message.semiSync != null && message.hasOwnProperty("semiSync")) + object.semiSync = message.semiSync; return object; }; /** - * Converts this StopReplicationAndGetStatusRequest to JSON. + * Converts this SetReplicationSourceRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest + * @memberof tabletmanagerdata.SetReplicationSourceRequest * @instance * @returns {Object.} JSON object */ - StopReplicationAndGetStatusRequest.prototype.toJSON = function toJSON() { + SetReplicationSourceRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StopReplicationAndGetStatusRequest; + return SetReplicationSourceRequest; })(); - tabletmanagerdata.StopReplicationAndGetStatusResponse = (function() { + tabletmanagerdata.SetReplicationSourceResponse = (function() { /** - * Properties of a StopReplicationAndGetStatusResponse. + * Properties of a SetReplicationSourceResponse. * @memberof tabletmanagerdata - * @interface IStopReplicationAndGetStatusResponse - * @property {replicationdata.IStatus|null} [hybrid_status] StopReplicationAndGetStatusResponse hybrid_status - * @property {replicationdata.IStopReplicationStatus|null} [status] StopReplicationAndGetStatusResponse status + * @interface ISetReplicationSourceResponse */ /** - * Constructs a new StopReplicationAndGetStatusResponse. + * Constructs a new SetReplicationSourceResponse. * @memberof tabletmanagerdata - * @classdesc Represents a StopReplicationAndGetStatusResponse. - * @implements IStopReplicationAndGetStatusResponse + * @classdesc Represents a SetReplicationSourceResponse. + * @implements ISetReplicationSourceResponse * @constructor - * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse=} [properties] Properties to set + * @param {tabletmanagerdata.ISetReplicationSourceResponse=} [properties] Properties to set */ - function StopReplicationAndGetStatusResponse(properties) { + function SetReplicationSourceResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48321,89 +48279,63 @@ $root.tabletmanagerdata = (function() { } /** - * StopReplicationAndGetStatusResponse hybrid_status. - * @member {replicationdata.IStatus|null|undefined} hybrid_status - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse - * @instance - */ - StopReplicationAndGetStatusResponse.prototype.hybrid_status = null; - - /** - * StopReplicationAndGetStatusResponse status. - * @member {replicationdata.IStopReplicationStatus|null|undefined} status - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse - * @instance - */ - StopReplicationAndGetStatusResponse.prototype.status = null; - - /** - * Creates a new StopReplicationAndGetStatusResponse instance using the specified properties. + * Creates a new SetReplicationSourceResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static - * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse instance + * @param {tabletmanagerdata.ISetReplicationSourceResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse instance */ - StopReplicationAndGetStatusResponse.create = function create(properties) { - return new StopReplicationAndGetStatusResponse(properties); + SetReplicationSourceResponse.create = function create(properties) { + return new SetReplicationSourceResponse(properties); }; /** - * Encodes the specified StopReplicationAndGetStatusResponse message. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusResponse.verify|verify} messages. + * Encodes the specified SetReplicationSourceResponse message. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static - * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse} message StopReplicationAndGetStatusResponse message or plain object to encode + * @param {tabletmanagerdata.ISetReplicationSourceResponse} message SetReplicationSourceResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StopReplicationAndGetStatusResponse.encode = function encode(message, writer) { + SetReplicationSourceResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.hybrid_status != null && Object.hasOwnProperty.call(message, "hybrid_status")) - $root.replicationdata.Status.encode(message.hybrid_status, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.status != null && Object.hasOwnProperty.call(message, "status")) - $root.replicationdata.StopReplicationStatus.encode(message.status, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified StopReplicationAndGetStatusResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusResponse.verify|verify} messages. + * Encodes the specified SetReplicationSourceResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.SetReplicationSourceResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static - * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse} message StopReplicationAndGetStatusResponse message or plain object to encode + * @param {tabletmanagerdata.ISetReplicationSourceResponse} message SetReplicationSourceResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StopReplicationAndGetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + SetReplicationSourceResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StopReplicationAndGetStatusResponse message from the specified reader or buffer. + * Decodes a SetReplicationSourceResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse + * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StopReplicationAndGetStatusResponse.decode = function decode(reader, length) { + SetReplicationSourceResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.StopReplicationAndGetStatusResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.SetReplicationSourceResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.hybrid_status = $root.replicationdata.Status.decode(reader, reader.uint32()); - break; - case 2: - message.status = $root.replicationdata.StopReplicationStatus.decode(reader, reader.uint32()); - break; default: reader.skipType(tag & 7); break; @@ -48413,126 +48345,94 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a StopReplicationAndGetStatusResponse message from the specified reader or buffer, length delimited. + * Decodes a SetReplicationSourceResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse + * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StopReplicationAndGetStatusResponse.decodeDelimited = function decodeDelimited(reader) { + SetReplicationSourceResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StopReplicationAndGetStatusResponse message. + * Verifies a SetReplicationSourceResponse message. * @function verify - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StopReplicationAndGetStatusResponse.verify = function verify(message) { + SetReplicationSourceResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.hybrid_status != null && message.hasOwnProperty("hybrid_status")) { - var error = $root.replicationdata.Status.verify(message.hybrid_status); - if (error) - return "hybrid_status." + error; - } - if (message.status != null && message.hasOwnProperty("status")) { - var error = $root.replicationdata.StopReplicationStatus.verify(message.status); - if (error) - return "status." + error; - } return null; }; /** - * Creates a StopReplicationAndGetStatusResponse message from a plain object. Also converts values to their respective internal types. + * Creates a SetReplicationSourceResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse + * @returns {tabletmanagerdata.SetReplicationSourceResponse} SetReplicationSourceResponse */ - StopReplicationAndGetStatusResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.StopReplicationAndGetStatusResponse) + SetReplicationSourceResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.SetReplicationSourceResponse) return object; - var message = new $root.tabletmanagerdata.StopReplicationAndGetStatusResponse(); - if (object.hybrid_status != null) { - if (typeof object.hybrid_status !== "object") - throw TypeError(".tabletmanagerdata.StopReplicationAndGetStatusResponse.hybrid_status: object expected"); - message.hybrid_status = $root.replicationdata.Status.fromObject(object.hybrid_status); - } - if (object.status != null) { - if (typeof object.status !== "object") - throw TypeError(".tabletmanagerdata.StopReplicationAndGetStatusResponse.status: object expected"); - message.status = $root.replicationdata.StopReplicationStatus.fromObject(object.status); - } - return message; + return new $root.tabletmanagerdata.SetReplicationSourceResponse(); }; /** - * Creates a plain object from a StopReplicationAndGetStatusResponse message. Also converts values to other types if specified. + * Creates a plain object from a SetReplicationSourceResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @static - * @param {tabletmanagerdata.StopReplicationAndGetStatusResponse} message StopReplicationAndGetStatusResponse + * @param {tabletmanagerdata.SetReplicationSourceResponse} message SetReplicationSourceResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StopReplicationAndGetStatusResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.hybrid_status = null; - object.status = null; - } - if (message.hybrid_status != null && message.hasOwnProperty("hybrid_status")) - object.hybrid_status = $root.replicationdata.Status.toObject(message.hybrid_status, options); - if (message.status != null && message.hasOwnProperty("status")) - object.status = $root.replicationdata.StopReplicationStatus.toObject(message.status, options); - return object; + SetReplicationSourceResponse.toObject = function toObject() { + return {}; }; /** - * Converts this StopReplicationAndGetStatusResponse to JSON. + * Converts this SetReplicationSourceResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @memberof tabletmanagerdata.SetReplicationSourceResponse * @instance * @returns {Object.} JSON object */ - StopReplicationAndGetStatusResponse.prototype.toJSON = function toJSON() { + SetReplicationSourceResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StopReplicationAndGetStatusResponse; + return SetReplicationSourceResponse; })(); - tabletmanagerdata.PromoteReplicaRequest = (function() { + tabletmanagerdata.ReplicaWasRestartedRequest = (function() { /** - * Properties of a PromoteReplicaRequest. + * Properties of a ReplicaWasRestartedRequest. * @memberof tabletmanagerdata - * @interface IPromoteReplicaRequest - * @property {boolean|null} [semiSync] PromoteReplicaRequest semiSync + * @interface IReplicaWasRestartedRequest + * @property {topodata.ITabletAlias|null} [parent] ReplicaWasRestartedRequest parent */ /** - * Constructs a new PromoteReplicaRequest. + * Constructs a new ReplicaWasRestartedRequest. * @memberof tabletmanagerdata - * @classdesc Represents a PromoteReplicaRequest. - * @implements IPromoteReplicaRequest + * @classdesc Represents a ReplicaWasRestartedRequest. + * @implements IReplicaWasRestartedRequest * @constructor - * @param {tabletmanagerdata.IPromoteReplicaRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IReplicaWasRestartedRequest=} [properties] Properties to set */ - function PromoteReplicaRequest(properties) { + function ReplicaWasRestartedRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48540,75 +48440,75 @@ $root.tabletmanagerdata = (function() { } /** - * PromoteReplicaRequest semiSync. - * @member {boolean} semiSync - * @memberof tabletmanagerdata.PromoteReplicaRequest + * ReplicaWasRestartedRequest parent. + * @member {topodata.ITabletAlias|null|undefined} parent + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @instance */ - PromoteReplicaRequest.prototype.semiSync = false; + ReplicaWasRestartedRequest.prototype.parent = null; /** - * Creates a new PromoteReplicaRequest instance using the specified properties. + * Creates a new ReplicaWasRestartedRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static - * @param {tabletmanagerdata.IPromoteReplicaRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest instance + * @param {tabletmanagerdata.IReplicaWasRestartedRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest instance */ - PromoteReplicaRequest.create = function create(properties) { - return new PromoteReplicaRequest(properties); + ReplicaWasRestartedRequest.create = function create(properties) { + return new ReplicaWasRestartedRequest(properties); }; /** - * Encodes the specified PromoteReplicaRequest message. Does not implicitly {@link tabletmanagerdata.PromoteReplicaRequest.verify|verify} messages. + * Encodes the specified ReplicaWasRestartedRequest message. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static - * @param {tabletmanagerdata.IPromoteReplicaRequest} message PromoteReplicaRequest message or plain object to encode + * @param {tabletmanagerdata.IReplicaWasRestartedRequest} message ReplicaWasRestartedRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PromoteReplicaRequest.encode = function encode(message, writer) { + ReplicaWasRestartedRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.semiSync != null && Object.hasOwnProperty.call(message, "semiSync")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.semiSync); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + $root.topodata.TabletAlias.encode(message.parent, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified PromoteReplicaRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.PromoteReplicaRequest.verify|verify} messages. + * Encodes the specified ReplicaWasRestartedRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static - * @param {tabletmanagerdata.IPromoteReplicaRequest} message PromoteReplicaRequest message or plain object to encode + * @param {tabletmanagerdata.IReplicaWasRestartedRequest} message ReplicaWasRestartedRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PromoteReplicaRequest.encodeDelimited = function encodeDelimited(message, writer) { + ReplicaWasRestartedRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a PromoteReplicaRequest message from the specified reader or buffer. + * Decodes a ReplicaWasRestartedRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest + * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteReplicaRequest.decode = function decode(reader, length) { + ReplicaWasRestartedRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.PromoteReplicaRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.ReplicaWasRestartedRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.semiSync = reader.bool(); + message.parent = $root.topodata.TabletAlias.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -48619,107 +48519,111 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a PromoteReplicaRequest message from the specified reader or buffer, length delimited. + * Decodes a ReplicaWasRestartedRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest + * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteReplicaRequest.decodeDelimited = function decodeDelimited(reader) { + ReplicaWasRestartedRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a PromoteReplicaRequest message. + * Verifies a ReplicaWasRestartedRequest message. * @function verify - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PromoteReplicaRequest.verify = function verify(message) { + ReplicaWasRestartedRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.semiSync != null && message.hasOwnProperty("semiSync")) - if (typeof message.semiSync !== "boolean") - return "semiSync: boolean expected"; + if (message.parent != null && message.hasOwnProperty("parent")) { + var error = $root.topodata.TabletAlias.verify(message.parent); + if (error) + return "parent." + error; + } return null; }; /** - * Creates a PromoteReplicaRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ReplicaWasRestartedRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest + * @returns {tabletmanagerdata.ReplicaWasRestartedRequest} ReplicaWasRestartedRequest */ - PromoteReplicaRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.PromoteReplicaRequest) + ReplicaWasRestartedRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.ReplicaWasRestartedRequest) return object; - var message = new $root.tabletmanagerdata.PromoteReplicaRequest(); - if (object.semiSync != null) - message.semiSync = Boolean(object.semiSync); + var message = new $root.tabletmanagerdata.ReplicaWasRestartedRequest(); + if (object.parent != null) { + if (typeof object.parent !== "object") + throw TypeError(".tabletmanagerdata.ReplicaWasRestartedRequest.parent: object expected"); + message.parent = $root.topodata.TabletAlias.fromObject(object.parent); + } return message; }; /** - * Creates a plain object from a PromoteReplicaRequest message. Also converts values to other types if specified. + * Creates a plain object from a ReplicaWasRestartedRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @static - * @param {tabletmanagerdata.PromoteReplicaRequest} message PromoteReplicaRequest + * @param {tabletmanagerdata.ReplicaWasRestartedRequest} message ReplicaWasRestartedRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - PromoteReplicaRequest.toObject = function toObject(message, options) { + ReplicaWasRestartedRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.semiSync = false; - if (message.semiSync != null && message.hasOwnProperty("semiSync")) - object.semiSync = message.semiSync; + object.parent = null; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = $root.topodata.TabletAlias.toObject(message.parent, options); return object; }; /** - * Converts this PromoteReplicaRequest to JSON. + * Converts this ReplicaWasRestartedRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.PromoteReplicaRequest + * @memberof tabletmanagerdata.ReplicaWasRestartedRequest * @instance * @returns {Object.} JSON object */ - PromoteReplicaRequest.prototype.toJSON = function toJSON() { + ReplicaWasRestartedRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return PromoteReplicaRequest; + return ReplicaWasRestartedRequest; })(); - tabletmanagerdata.PromoteReplicaResponse = (function() { + tabletmanagerdata.ReplicaWasRestartedResponse = (function() { /** - * Properties of a PromoteReplicaResponse. + * Properties of a ReplicaWasRestartedResponse. * @memberof tabletmanagerdata - * @interface IPromoteReplicaResponse - * @property {string|null} [position] PromoteReplicaResponse position + * @interface IReplicaWasRestartedResponse */ /** - * Constructs a new PromoteReplicaResponse. + * Constructs a new ReplicaWasRestartedResponse. * @memberof tabletmanagerdata - * @classdesc Represents a PromoteReplicaResponse. - * @implements IPromoteReplicaResponse + * @classdesc Represents a ReplicaWasRestartedResponse. + * @implements IReplicaWasRestartedResponse * @constructor - * @param {tabletmanagerdata.IPromoteReplicaResponse=} [properties] Properties to set + * @param {tabletmanagerdata.IReplicaWasRestartedResponse=} [properties] Properties to set */ - function PromoteReplicaResponse(properties) { + function ReplicaWasRestartedResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48727,76 +48631,63 @@ $root.tabletmanagerdata = (function() { } /** - * PromoteReplicaResponse position. - * @member {string} position - * @memberof tabletmanagerdata.PromoteReplicaResponse - * @instance - */ - PromoteReplicaResponse.prototype.position = ""; - - /** - * Creates a new PromoteReplicaResponse instance using the specified properties. + * Creates a new ReplicaWasRestartedResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static - * @param {tabletmanagerdata.IPromoteReplicaResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse instance + * @param {tabletmanagerdata.IReplicaWasRestartedResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse instance */ - PromoteReplicaResponse.create = function create(properties) { - return new PromoteReplicaResponse(properties); + ReplicaWasRestartedResponse.create = function create(properties) { + return new ReplicaWasRestartedResponse(properties); }; /** - * Encodes the specified PromoteReplicaResponse message. Does not implicitly {@link tabletmanagerdata.PromoteReplicaResponse.verify|verify} messages. + * Encodes the specified ReplicaWasRestartedResponse message. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static - * @param {tabletmanagerdata.IPromoteReplicaResponse} message PromoteReplicaResponse message or plain object to encode + * @param {tabletmanagerdata.IReplicaWasRestartedResponse} message ReplicaWasRestartedResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PromoteReplicaResponse.encode = function encode(message, writer) { + ReplicaWasRestartedResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.position); return writer; }; /** - * Encodes the specified PromoteReplicaResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.PromoteReplicaResponse.verify|verify} messages. + * Encodes the specified ReplicaWasRestartedResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.ReplicaWasRestartedResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static - * @param {tabletmanagerdata.IPromoteReplicaResponse} message PromoteReplicaResponse message or plain object to encode + * @param {tabletmanagerdata.IReplicaWasRestartedResponse} message ReplicaWasRestartedResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PromoteReplicaResponse.encodeDelimited = function encodeDelimited(message, writer) { + ReplicaWasRestartedResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a PromoteReplicaResponse message from the specified reader or buffer. + * Decodes a ReplicaWasRestartedResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse + * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteReplicaResponse.decode = function decode(reader, length) { + ReplicaWasRestartedResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.PromoteReplicaResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.ReplicaWasRestartedResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.position = reader.string(); - break; default: reader.skipType(tag & 7); break; @@ -48806,108 +48697,94 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a PromoteReplicaResponse message from the specified reader or buffer, length delimited. + * Decodes a ReplicaWasRestartedResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse + * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteReplicaResponse.decodeDelimited = function decodeDelimited(reader) { + ReplicaWasRestartedResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a PromoteReplicaResponse message. + * Verifies a ReplicaWasRestartedResponse message. * @function verify - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PromoteReplicaResponse.verify = function verify(message) { + ReplicaWasRestartedResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.position != null && message.hasOwnProperty("position")) - if (!$util.isString(message.position)) - return "position: string expected"; return null; }; /** - * Creates a PromoteReplicaResponse message from a plain object. Also converts values to their respective internal types. + * Creates a ReplicaWasRestartedResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse + * @returns {tabletmanagerdata.ReplicaWasRestartedResponse} ReplicaWasRestartedResponse */ - PromoteReplicaResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.PromoteReplicaResponse) + ReplicaWasRestartedResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.ReplicaWasRestartedResponse) return object; - var message = new $root.tabletmanagerdata.PromoteReplicaResponse(); - if (object.position != null) - message.position = String(object.position); - return message; + return new $root.tabletmanagerdata.ReplicaWasRestartedResponse(); }; /** - * Creates a plain object from a PromoteReplicaResponse message. Also converts values to other types if specified. + * Creates a plain object from a ReplicaWasRestartedResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @static - * @param {tabletmanagerdata.PromoteReplicaResponse} message PromoteReplicaResponse + * @param {tabletmanagerdata.ReplicaWasRestartedResponse} message ReplicaWasRestartedResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - PromoteReplicaResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.position = ""; - if (message.position != null && message.hasOwnProperty("position")) - object.position = message.position; - return object; + ReplicaWasRestartedResponse.toObject = function toObject() { + return {}; }; /** - * Converts this PromoteReplicaResponse to JSON. + * Converts this ReplicaWasRestartedResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.PromoteReplicaResponse + * @memberof tabletmanagerdata.ReplicaWasRestartedResponse * @instance * @returns {Object.} JSON object */ - PromoteReplicaResponse.prototype.toJSON = function toJSON() { + ReplicaWasRestartedResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return PromoteReplicaResponse; + return ReplicaWasRestartedResponse; })(); - tabletmanagerdata.BackupRequest = (function() { + tabletmanagerdata.StopReplicationAndGetStatusRequest = (function() { /** - * Properties of a BackupRequest. + * Properties of a StopReplicationAndGetStatusRequest. * @memberof tabletmanagerdata - * @interface IBackupRequest - * @property {number|Long|null} [concurrency] BackupRequest concurrency - * @property {boolean|null} [allow_primary] BackupRequest allow_primary + * @interface IStopReplicationAndGetStatusRequest + * @property {replicationdata.StopReplicationMode|null} [stop_replication_mode] StopReplicationAndGetStatusRequest stop_replication_mode */ /** - * Constructs a new BackupRequest. + * Constructs a new StopReplicationAndGetStatusRequest. * @memberof tabletmanagerdata - * @classdesc Represents a BackupRequest. - * @implements IBackupRequest + * @classdesc Represents a StopReplicationAndGetStatusRequest. + * @implements IStopReplicationAndGetStatusRequest * @constructor - * @param {tabletmanagerdata.IBackupRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest=} [properties] Properties to set */ - function BackupRequest(properties) { + function StopReplicationAndGetStatusRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48915,88 +48792,75 @@ $root.tabletmanagerdata = (function() { } /** - * BackupRequest concurrency. - * @member {number|Long} concurrency - * @memberof tabletmanagerdata.BackupRequest - * @instance - */ - BackupRequest.prototype.concurrency = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BackupRequest allow_primary. - * @member {boolean} allow_primary - * @memberof tabletmanagerdata.BackupRequest + * StopReplicationAndGetStatusRequest stop_replication_mode. + * @member {replicationdata.StopReplicationMode} stop_replication_mode + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @instance */ - BackupRequest.prototype.allow_primary = false; + StopReplicationAndGetStatusRequest.prototype.stop_replication_mode = 0; /** - * Creates a new BackupRequest instance using the specified properties. + * Creates a new StopReplicationAndGetStatusRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static - * @param {tabletmanagerdata.IBackupRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.BackupRequest} BackupRequest instance + * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest instance */ - BackupRequest.create = function create(properties) { - return new BackupRequest(properties); + StopReplicationAndGetStatusRequest.create = function create(properties) { + return new StopReplicationAndGetStatusRequest(properties); }; /** - * Encodes the specified BackupRequest message. Does not implicitly {@link tabletmanagerdata.BackupRequest.verify|verify} messages. + * Encodes the specified StopReplicationAndGetStatusRequest message. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static - * @param {tabletmanagerdata.IBackupRequest} message BackupRequest message or plain object to encode + * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest} message StopReplicationAndGetStatusRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BackupRequest.encode = function encode(message, writer) { + StopReplicationAndGetStatusRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.concurrency != null && Object.hasOwnProperty.call(message, "concurrency")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.concurrency); - if (message.allow_primary != null && Object.hasOwnProperty.call(message, "allow_primary")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allow_primary); + if (message.stop_replication_mode != null && Object.hasOwnProperty.call(message, "stop_replication_mode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.stop_replication_mode); return writer; }; /** - * Encodes the specified BackupRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.BackupRequest.verify|verify} messages. + * Encodes the specified StopReplicationAndGetStatusRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static - * @param {tabletmanagerdata.IBackupRequest} message BackupRequest message or plain object to encode + * @param {tabletmanagerdata.IStopReplicationAndGetStatusRequest} message StopReplicationAndGetStatusRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BackupRequest.encodeDelimited = function encodeDelimited(message, writer) { + StopReplicationAndGetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BackupRequest message from the specified reader or buffer. + * Decodes a StopReplicationAndGetStatusRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.BackupRequest} BackupRequest + * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupRequest.decode = function decode(reader, length) { + StopReplicationAndGetStatusRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.BackupRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.StopReplicationAndGetStatusRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.concurrency = reader.int64(); - break; - case 2: - message.allow_primary = reader.bool(); + message.stop_replication_mode = reader.int32(); break; default: reader.skipType(tag & 7); @@ -49007,130 +48871,121 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a BackupRequest message from the specified reader or buffer, length delimited. + * Decodes a StopReplicationAndGetStatusRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.BackupRequest} BackupRequest + * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupRequest.decodeDelimited = function decodeDelimited(reader) { + StopReplicationAndGetStatusRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BackupRequest message. + * Verifies a StopReplicationAndGetStatusRequest message. * @function verify - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupRequest.verify = function verify(message) { + StopReplicationAndGetStatusRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.concurrency != null && message.hasOwnProperty("concurrency")) - if (!$util.isInteger(message.concurrency) && !(message.concurrency && $util.isInteger(message.concurrency.low) && $util.isInteger(message.concurrency.high))) - return "concurrency: integer|Long expected"; - if (message.allow_primary != null && message.hasOwnProperty("allow_primary")) - if (typeof message.allow_primary !== "boolean") - return "allow_primary: boolean expected"; + if (message.stop_replication_mode != null && message.hasOwnProperty("stop_replication_mode")) + switch (message.stop_replication_mode) { + default: + return "stop_replication_mode: enum value expected"; + case 0: + case 1: + break; + } return null; }; /** - * Creates a BackupRequest message from a plain object. Also converts values to their respective internal types. + * Creates a StopReplicationAndGetStatusRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.BackupRequest} BackupRequest + * @returns {tabletmanagerdata.StopReplicationAndGetStatusRequest} StopReplicationAndGetStatusRequest */ - BackupRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.BackupRequest) + StopReplicationAndGetStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.StopReplicationAndGetStatusRequest) return object; - var message = new $root.tabletmanagerdata.BackupRequest(); - if (object.concurrency != null) - if ($util.Long) - (message.concurrency = $util.Long.fromValue(object.concurrency)).unsigned = false; - else if (typeof object.concurrency === "string") - message.concurrency = parseInt(object.concurrency, 10); - else if (typeof object.concurrency === "number") - message.concurrency = object.concurrency; - else if (typeof object.concurrency === "object") - message.concurrency = new $util.LongBits(object.concurrency.low >>> 0, object.concurrency.high >>> 0).toNumber(); - if (object.allow_primary != null) - message.allow_primary = Boolean(object.allow_primary); + var message = new $root.tabletmanagerdata.StopReplicationAndGetStatusRequest(); + switch (object.stop_replication_mode) { + case "IOANDSQLTHREAD": + case 0: + message.stop_replication_mode = 0; + break; + case "IOTHREADONLY": + case 1: + message.stop_replication_mode = 1; + break; + } return message; }; /** - * Creates a plain object from a BackupRequest message. Also converts values to other types if specified. + * Creates a plain object from a StopReplicationAndGetStatusRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @static - * @param {tabletmanagerdata.BackupRequest} message BackupRequest + * @param {tabletmanagerdata.StopReplicationAndGetStatusRequest} message StopReplicationAndGetStatusRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BackupRequest.toObject = function toObject(message, options) { + StopReplicationAndGetStatusRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.concurrency = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.concurrency = options.longs === String ? "0" : 0; - object.allow_primary = false; - } - if (message.concurrency != null && message.hasOwnProperty("concurrency")) - if (typeof message.concurrency === "number") - object.concurrency = options.longs === String ? String(message.concurrency) : message.concurrency; - else - object.concurrency = options.longs === String ? $util.Long.prototype.toString.call(message.concurrency) : options.longs === Number ? new $util.LongBits(message.concurrency.low >>> 0, message.concurrency.high >>> 0).toNumber() : message.concurrency; - if (message.allow_primary != null && message.hasOwnProperty("allow_primary")) - object.allow_primary = message.allow_primary; + if (options.defaults) + object.stop_replication_mode = options.enums === String ? "IOANDSQLTHREAD" : 0; + if (message.stop_replication_mode != null && message.hasOwnProperty("stop_replication_mode")) + object.stop_replication_mode = options.enums === String ? $root.replicationdata.StopReplicationMode[message.stop_replication_mode] : message.stop_replication_mode; return object; }; /** - * Converts this BackupRequest to JSON. + * Converts this StopReplicationAndGetStatusRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.BackupRequest + * @memberof tabletmanagerdata.StopReplicationAndGetStatusRequest * @instance * @returns {Object.} JSON object */ - BackupRequest.prototype.toJSON = function toJSON() { + StopReplicationAndGetStatusRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BackupRequest; + return StopReplicationAndGetStatusRequest; })(); - tabletmanagerdata.BackupResponse = (function() { + tabletmanagerdata.StopReplicationAndGetStatusResponse = (function() { /** - * Properties of a BackupResponse. + * Properties of a StopReplicationAndGetStatusResponse. * @memberof tabletmanagerdata - * @interface IBackupResponse - * @property {logutil.IEvent|null} [event] BackupResponse event + * @interface IStopReplicationAndGetStatusResponse + * @property {replicationdata.IStatus|null} [hybrid_status] StopReplicationAndGetStatusResponse hybrid_status + * @property {replicationdata.IStopReplicationStatus|null} [status] StopReplicationAndGetStatusResponse status */ /** - * Constructs a new BackupResponse. + * Constructs a new StopReplicationAndGetStatusResponse. * @memberof tabletmanagerdata - * @classdesc Represents a BackupResponse. - * @implements IBackupResponse + * @classdesc Represents a StopReplicationAndGetStatusResponse. + * @implements IStopReplicationAndGetStatusResponse * @constructor - * @param {tabletmanagerdata.IBackupResponse=} [properties] Properties to set + * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse=} [properties] Properties to set */ - function BackupResponse(properties) { + function StopReplicationAndGetStatusResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49138,75 +48993,88 @@ $root.tabletmanagerdata = (function() { } /** - * BackupResponse event. - * @member {logutil.IEvent|null|undefined} event - * @memberof tabletmanagerdata.BackupResponse + * StopReplicationAndGetStatusResponse hybrid_status. + * @member {replicationdata.IStatus|null|undefined} hybrid_status + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @instance */ - BackupResponse.prototype.event = null; + StopReplicationAndGetStatusResponse.prototype.hybrid_status = null; /** - * Creates a new BackupResponse instance using the specified properties. + * StopReplicationAndGetStatusResponse status. + * @member {replicationdata.IStopReplicationStatus|null|undefined} status + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse + * @instance + */ + StopReplicationAndGetStatusResponse.prototype.status = null; + + /** + * Creates a new StopReplicationAndGetStatusResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static - * @param {tabletmanagerdata.IBackupResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.BackupResponse} BackupResponse instance + * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse instance */ - BackupResponse.create = function create(properties) { - return new BackupResponse(properties); + StopReplicationAndGetStatusResponse.create = function create(properties) { + return new StopReplicationAndGetStatusResponse(properties); }; /** - * Encodes the specified BackupResponse message. Does not implicitly {@link tabletmanagerdata.BackupResponse.verify|verify} messages. + * Encodes the specified StopReplicationAndGetStatusResponse message. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static - * @param {tabletmanagerdata.IBackupResponse} message BackupResponse message or plain object to encode + * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse} message StopReplicationAndGetStatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BackupResponse.encode = function encode(message, writer) { + StopReplicationAndGetStatusResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.event != null && Object.hasOwnProperty.call(message, "event")) - $root.logutil.Event.encode(message.event, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.hybrid_status != null && Object.hasOwnProperty.call(message, "hybrid_status")) + $root.replicationdata.Status.encode(message.hybrid_status, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.status != null && Object.hasOwnProperty.call(message, "status")) + $root.replicationdata.StopReplicationStatus.encode(message.status, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified BackupResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.BackupResponse.verify|verify} messages. + * Encodes the specified StopReplicationAndGetStatusResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.StopReplicationAndGetStatusResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static - * @param {tabletmanagerdata.IBackupResponse} message BackupResponse message or plain object to encode + * @param {tabletmanagerdata.IStopReplicationAndGetStatusResponse} message StopReplicationAndGetStatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BackupResponse.encodeDelimited = function encodeDelimited(message, writer) { + StopReplicationAndGetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BackupResponse message from the specified reader or buffer. + * Decodes a StopReplicationAndGetStatusResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.BackupResponse} BackupResponse + * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupResponse.decode = function decode(reader, length) { + StopReplicationAndGetStatusResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.BackupResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.StopReplicationAndGetStatusResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.event = $root.logutil.Event.decode(reader, reader.uint32()); + message.hybrid_status = $root.replicationdata.Status.decode(reader, reader.uint32()); + break; + case 2: + message.status = $root.replicationdata.StopReplicationStatus.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -49217,112 +49085,126 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a BackupResponse message from the specified reader or buffer, length delimited. + * Decodes a StopReplicationAndGetStatusResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.BackupResponse} BackupResponse + * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupResponse.decodeDelimited = function decodeDelimited(reader) { + StopReplicationAndGetStatusResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BackupResponse message. + * Verifies a StopReplicationAndGetStatusResponse message. * @function verify - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupResponse.verify = function verify(message) { + StopReplicationAndGetStatusResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.event != null && message.hasOwnProperty("event")) { - var error = $root.logutil.Event.verify(message.event); + if (message.hybrid_status != null && message.hasOwnProperty("hybrid_status")) { + var error = $root.replicationdata.Status.verify(message.hybrid_status); if (error) - return "event." + error; + return "hybrid_status." + error; + } + if (message.status != null && message.hasOwnProperty("status")) { + var error = $root.replicationdata.StopReplicationStatus.verify(message.status); + if (error) + return "status." + error; } return null; }; /** - * Creates a BackupResponse message from a plain object. Also converts values to their respective internal types. + * Creates a StopReplicationAndGetStatusResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.BackupResponse} BackupResponse + * @returns {tabletmanagerdata.StopReplicationAndGetStatusResponse} StopReplicationAndGetStatusResponse */ - BackupResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.BackupResponse) + StopReplicationAndGetStatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.StopReplicationAndGetStatusResponse) return object; - var message = new $root.tabletmanagerdata.BackupResponse(); - if (object.event != null) { - if (typeof object.event !== "object") - throw TypeError(".tabletmanagerdata.BackupResponse.event: object expected"); - message.event = $root.logutil.Event.fromObject(object.event); + var message = new $root.tabletmanagerdata.StopReplicationAndGetStatusResponse(); + if (object.hybrid_status != null) { + if (typeof object.hybrid_status !== "object") + throw TypeError(".tabletmanagerdata.StopReplicationAndGetStatusResponse.hybrid_status: object expected"); + message.hybrid_status = $root.replicationdata.Status.fromObject(object.hybrid_status); + } + if (object.status != null) { + if (typeof object.status !== "object") + throw TypeError(".tabletmanagerdata.StopReplicationAndGetStatusResponse.status: object expected"); + message.status = $root.replicationdata.StopReplicationStatus.fromObject(object.status); } return message; }; /** - * Creates a plain object from a BackupResponse message. Also converts values to other types if specified. + * Creates a plain object from a StopReplicationAndGetStatusResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @static - * @param {tabletmanagerdata.BackupResponse} message BackupResponse + * @param {tabletmanagerdata.StopReplicationAndGetStatusResponse} message StopReplicationAndGetStatusResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BackupResponse.toObject = function toObject(message, options) { + StopReplicationAndGetStatusResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.event = null; - if (message.event != null && message.hasOwnProperty("event")) - object.event = $root.logutil.Event.toObject(message.event, options); + if (options.defaults) { + object.hybrid_status = null; + object.status = null; + } + if (message.hybrid_status != null && message.hasOwnProperty("hybrid_status")) + object.hybrid_status = $root.replicationdata.Status.toObject(message.hybrid_status, options); + if (message.status != null && message.hasOwnProperty("status")) + object.status = $root.replicationdata.StopReplicationStatus.toObject(message.status, options); return object; }; /** - * Converts this BackupResponse to JSON. + * Converts this StopReplicationAndGetStatusResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.BackupResponse + * @memberof tabletmanagerdata.StopReplicationAndGetStatusResponse * @instance * @returns {Object.} JSON object */ - BackupResponse.prototype.toJSON = function toJSON() { + StopReplicationAndGetStatusResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BackupResponse; + return StopReplicationAndGetStatusResponse; })(); - tabletmanagerdata.RestoreFromBackupRequest = (function() { + tabletmanagerdata.PromoteReplicaRequest = (function() { /** - * Properties of a RestoreFromBackupRequest. + * Properties of a PromoteReplicaRequest. * @memberof tabletmanagerdata - * @interface IRestoreFromBackupRequest - * @property {vttime.ITime|null} [backup_time] RestoreFromBackupRequest backup_time + * @interface IPromoteReplicaRequest + * @property {boolean|null} [semiSync] PromoteReplicaRequest semiSync */ /** - * Constructs a new RestoreFromBackupRequest. + * Constructs a new PromoteReplicaRequest. * @memberof tabletmanagerdata - * @classdesc Represents a RestoreFromBackupRequest. - * @implements IRestoreFromBackupRequest + * @classdesc Represents a PromoteReplicaRequest. + * @implements IPromoteReplicaRequest * @constructor - * @param {tabletmanagerdata.IRestoreFromBackupRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IPromoteReplicaRequest=} [properties] Properties to set */ - function RestoreFromBackupRequest(properties) { + function PromoteReplicaRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49330,75 +49212,75 @@ $root.tabletmanagerdata = (function() { } /** - * RestoreFromBackupRequest backup_time. - * @member {vttime.ITime|null|undefined} backup_time - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * PromoteReplicaRequest semiSync. + * @member {boolean} semiSync + * @memberof tabletmanagerdata.PromoteReplicaRequest * @instance */ - RestoreFromBackupRequest.prototype.backup_time = null; + PromoteReplicaRequest.prototype.semiSync = false; /** - * Creates a new RestoreFromBackupRequest instance using the specified properties. + * Creates a new PromoteReplicaRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static - * @param {tabletmanagerdata.IRestoreFromBackupRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest instance + * @param {tabletmanagerdata.IPromoteReplicaRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest instance */ - RestoreFromBackupRequest.create = function create(properties) { - return new RestoreFromBackupRequest(properties); + PromoteReplicaRequest.create = function create(properties) { + return new PromoteReplicaRequest(properties); }; /** - * Encodes the specified RestoreFromBackupRequest message. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupRequest.verify|verify} messages. + * Encodes the specified PromoteReplicaRequest message. Does not implicitly {@link tabletmanagerdata.PromoteReplicaRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static - * @param {tabletmanagerdata.IRestoreFromBackupRequest} message RestoreFromBackupRequest message or plain object to encode + * @param {tabletmanagerdata.IPromoteReplicaRequest} message PromoteReplicaRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - RestoreFromBackupRequest.encode = function encode(message, writer) { + PromoteReplicaRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.backup_time != null && Object.hasOwnProperty.call(message, "backup_time")) - $root.vttime.Time.encode(message.backup_time, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.semiSync != null && Object.hasOwnProperty.call(message, "semiSync")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.semiSync); return writer; }; /** - * Encodes the specified RestoreFromBackupRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupRequest.verify|verify} messages. + * Encodes the specified PromoteReplicaRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.PromoteReplicaRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static - * @param {tabletmanagerdata.IRestoreFromBackupRequest} message RestoreFromBackupRequest message or plain object to encode + * @param {tabletmanagerdata.IPromoteReplicaRequest} message PromoteReplicaRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - RestoreFromBackupRequest.encodeDelimited = function encodeDelimited(message, writer) { + PromoteReplicaRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a RestoreFromBackupRequest message from the specified reader or buffer. + * Decodes a PromoteReplicaRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest + * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreFromBackupRequest.decode = function decode(reader, length) { + PromoteReplicaRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.RestoreFromBackupRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.PromoteReplicaRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.backup_time = $root.vttime.Time.decode(reader, reader.uint32()); + message.semiSync = reader.bool(); break; default: reader.skipType(tag & 7); @@ -49409,112 +49291,107 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a RestoreFromBackupRequest message from the specified reader or buffer, length delimited. + * Decodes a PromoteReplicaRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest + * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreFromBackupRequest.decodeDelimited = function decodeDelimited(reader) { + PromoteReplicaRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a RestoreFromBackupRequest message. + * Verifies a PromoteReplicaRequest message. * @function verify - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreFromBackupRequest.verify = function verify(message) { + PromoteReplicaRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.backup_time != null && message.hasOwnProperty("backup_time")) { - var error = $root.vttime.Time.verify(message.backup_time); - if (error) - return "backup_time." + error; - } + if (message.semiSync != null && message.hasOwnProperty("semiSync")) + if (typeof message.semiSync !== "boolean") + return "semiSync: boolean expected"; return null; }; /** - * Creates a RestoreFromBackupRequest message from a plain object. Also converts values to their respective internal types. + * Creates a PromoteReplicaRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest + * @returns {tabletmanagerdata.PromoteReplicaRequest} PromoteReplicaRequest */ - RestoreFromBackupRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.RestoreFromBackupRequest) + PromoteReplicaRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.PromoteReplicaRequest) return object; - var message = new $root.tabletmanagerdata.RestoreFromBackupRequest(); - if (object.backup_time != null) { - if (typeof object.backup_time !== "object") - throw TypeError(".tabletmanagerdata.RestoreFromBackupRequest.backup_time: object expected"); - message.backup_time = $root.vttime.Time.fromObject(object.backup_time); - } + var message = new $root.tabletmanagerdata.PromoteReplicaRequest(); + if (object.semiSync != null) + message.semiSync = Boolean(object.semiSync); return message; }; /** - * Creates a plain object from a RestoreFromBackupRequest message. Also converts values to other types if specified. + * Creates a plain object from a PromoteReplicaRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @static - * @param {tabletmanagerdata.RestoreFromBackupRequest} message RestoreFromBackupRequest + * @param {tabletmanagerdata.PromoteReplicaRequest} message PromoteReplicaRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - RestoreFromBackupRequest.toObject = function toObject(message, options) { + PromoteReplicaRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.backup_time = null; - if (message.backup_time != null && message.hasOwnProperty("backup_time")) - object.backup_time = $root.vttime.Time.toObject(message.backup_time, options); + object.semiSync = false; + if (message.semiSync != null && message.hasOwnProperty("semiSync")) + object.semiSync = message.semiSync; return object; }; /** - * Converts this RestoreFromBackupRequest to JSON. + * Converts this PromoteReplicaRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @memberof tabletmanagerdata.PromoteReplicaRequest * @instance * @returns {Object.} JSON object */ - RestoreFromBackupRequest.prototype.toJSON = function toJSON() { + PromoteReplicaRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return RestoreFromBackupRequest; + return PromoteReplicaRequest; })(); - tabletmanagerdata.RestoreFromBackupResponse = (function() { + tabletmanagerdata.PromoteReplicaResponse = (function() { /** - * Properties of a RestoreFromBackupResponse. + * Properties of a PromoteReplicaResponse. * @memberof tabletmanagerdata - * @interface IRestoreFromBackupResponse - * @property {logutil.IEvent|null} [event] RestoreFromBackupResponse event + * @interface IPromoteReplicaResponse + * @property {string|null} [position] PromoteReplicaResponse position */ /** - * Constructs a new RestoreFromBackupResponse. + * Constructs a new PromoteReplicaResponse. * @memberof tabletmanagerdata - * @classdesc Represents a RestoreFromBackupResponse. - * @implements IRestoreFromBackupResponse + * @classdesc Represents a PromoteReplicaResponse. + * @implements IPromoteReplicaResponse * @constructor - * @param {tabletmanagerdata.IRestoreFromBackupResponse=} [properties] Properties to set + * @param {tabletmanagerdata.IPromoteReplicaResponse=} [properties] Properties to set */ - function RestoreFromBackupResponse(properties) { + function PromoteReplicaResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49522,75 +49399,75 @@ $root.tabletmanagerdata = (function() { } /** - * RestoreFromBackupResponse event. - * @member {logutil.IEvent|null|undefined} event - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * PromoteReplicaResponse position. + * @member {string} position + * @memberof tabletmanagerdata.PromoteReplicaResponse * @instance */ - RestoreFromBackupResponse.prototype.event = null; + PromoteReplicaResponse.prototype.position = ""; /** - * Creates a new RestoreFromBackupResponse instance using the specified properties. + * Creates a new PromoteReplicaResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static - * @param {tabletmanagerdata.IRestoreFromBackupResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse instance + * @param {tabletmanagerdata.IPromoteReplicaResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse instance */ - RestoreFromBackupResponse.create = function create(properties) { - return new RestoreFromBackupResponse(properties); + PromoteReplicaResponse.create = function create(properties) { + return new PromoteReplicaResponse(properties); }; /** - * Encodes the specified RestoreFromBackupResponse message. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupResponse.verify|verify} messages. + * Encodes the specified PromoteReplicaResponse message. Does not implicitly {@link tabletmanagerdata.PromoteReplicaResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static - * @param {tabletmanagerdata.IRestoreFromBackupResponse} message RestoreFromBackupResponse message or plain object to encode + * @param {tabletmanagerdata.IPromoteReplicaResponse} message PromoteReplicaResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - RestoreFromBackupResponse.encode = function encode(message, writer) { + PromoteReplicaResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.event != null && Object.hasOwnProperty.call(message, "event")) - $root.logutil.Event.encode(message.event, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.position != null && Object.hasOwnProperty.call(message, "position")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.position); return writer; }; /** - * Encodes the specified RestoreFromBackupResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupResponse.verify|verify} messages. + * Encodes the specified PromoteReplicaResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.PromoteReplicaResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static - * @param {tabletmanagerdata.IRestoreFromBackupResponse} message RestoreFromBackupResponse message or plain object to encode + * @param {tabletmanagerdata.IPromoteReplicaResponse} message PromoteReplicaResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - RestoreFromBackupResponse.encodeDelimited = function encodeDelimited(message, writer) { + PromoteReplicaResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a RestoreFromBackupResponse message from the specified reader or buffer. + * Decodes a PromoteReplicaResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse + * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreFromBackupResponse.decode = function decode(reader, length) { + PromoteReplicaResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.RestoreFromBackupResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.PromoteReplicaResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.event = $root.logutil.Event.decode(reader, reader.uint32()); + message.position = reader.string(); break; default: reader.skipType(tag & 7); @@ -49601,114 +49478,108 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a RestoreFromBackupResponse message from the specified reader or buffer, length delimited. + * Decodes a PromoteReplicaResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse + * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreFromBackupResponse.decodeDelimited = function decodeDelimited(reader) { + PromoteReplicaResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a RestoreFromBackupResponse message. + * Verifies a PromoteReplicaResponse message. * @function verify - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreFromBackupResponse.verify = function verify(message) { + PromoteReplicaResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.event != null && message.hasOwnProperty("event")) { - var error = $root.logutil.Event.verify(message.event); - if (error) - return "event." + error; - } + if (message.position != null && message.hasOwnProperty("position")) + if (!$util.isString(message.position)) + return "position: string expected"; return null; }; /** - * Creates a RestoreFromBackupResponse message from a plain object. Also converts values to their respective internal types. + * Creates a PromoteReplicaResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse + * @returns {tabletmanagerdata.PromoteReplicaResponse} PromoteReplicaResponse */ - RestoreFromBackupResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.RestoreFromBackupResponse) + PromoteReplicaResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.PromoteReplicaResponse) return object; - var message = new $root.tabletmanagerdata.RestoreFromBackupResponse(); - if (object.event != null) { - if (typeof object.event !== "object") - throw TypeError(".tabletmanagerdata.RestoreFromBackupResponse.event: object expected"); - message.event = $root.logutil.Event.fromObject(object.event); - } + var message = new $root.tabletmanagerdata.PromoteReplicaResponse(); + if (object.position != null) + message.position = String(object.position); return message; }; /** - * Creates a plain object from a RestoreFromBackupResponse message. Also converts values to other types if specified. + * Creates a plain object from a PromoteReplicaResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @static - * @param {tabletmanagerdata.RestoreFromBackupResponse} message RestoreFromBackupResponse + * @param {tabletmanagerdata.PromoteReplicaResponse} message PromoteReplicaResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - RestoreFromBackupResponse.toObject = function toObject(message, options) { + PromoteReplicaResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.event = null; - if (message.event != null && message.hasOwnProperty("event")) - object.event = $root.logutil.Event.toObject(message.event, options); + object.position = ""; + if (message.position != null && message.hasOwnProperty("position")) + object.position = message.position; return object; }; /** - * Converts this RestoreFromBackupResponse to JSON. + * Converts this PromoteReplicaResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @memberof tabletmanagerdata.PromoteReplicaResponse * @instance * @returns {Object.} JSON object */ - RestoreFromBackupResponse.prototype.toJSON = function toJSON() { + PromoteReplicaResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return RestoreFromBackupResponse; + return PromoteReplicaResponse; })(); - tabletmanagerdata.VExecRequest = (function() { + tabletmanagerdata.BackupRequest = (function() { /** - * Properties of a VExecRequest. + * Properties of a BackupRequest. * @memberof tabletmanagerdata - * @interface IVExecRequest - * @property {string|null} [query] VExecRequest query - * @property {string|null} [workflow] VExecRequest workflow - * @property {string|null} [keyspace] VExecRequest keyspace + * @interface IBackupRequest + * @property {number|Long|null} [concurrency] BackupRequest concurrency + * @property {boolean|null} [allow_primary] BackupRequest allow_primary */ /** - * Constructs a new VExecRequest. + * Constructs a new BackupRequest. * @memberof tabletmanagerdata - * @classdesc Represents a VExecRequest. - * @implements IVExecRequest + * @classdesc Represents a BackupRequest. + * @implements IBackupRequest * @constructor - * @param {tabletmanagerdata.IVExecRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IBackupRequest=} [properties] Properties to set */ - function VExecRequest(properties) { + function BackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49716,101 +49587,88 @@ $root.tabletmanagerdata = (function() { } /** - * VExecRequest query. - * @member {string} query - * @memberof tabletmanagerdata.VExecRequest - * @instance - */ - VExecRequest.prototype.query = ""; - - /** - * VExecRequest workflow. - * @member {string} workflow - * @memberof tabletmanagerdata.VExecRequest + * BackupRequest concurrency. + * @member {number|Long} concurrency + * @memberof tabletmanagerdata.BackupRequest * @instance */ - VExecRequest.prototype.workflow = ""; + BackupRequest.prototype.concurrency = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * VExecRequest keyspace. - * @member {string} keyspace - * @memberof tabletmanagerdata.VExecRequest + * BackupRequest allow_primary. + * @member {boolean} allow_primary + * @memberof tabletmanagerdata.BackupRequest * @instance */ - VExecRequest.prototype.keyspace = ""; + BackupRequest.prototype.allow_primary = false; /** - * Creates a new VExecRequest instance using the specified properties. + * Creates a new BackupRequest instance using the specified properties. * @function create - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static - * @param {tabletmanagerdata.IVExecRequest=} [properties] Properties to set - * @returns {tabletmanagerdata.VExecRequest} VExecRequest instance + * @param {tabletmanagerdata.IBackupRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.BackupRequest} BackupRequest instance */ - VExecRequest.create = function create(properties) { - return new VExecRequest(properties); + BackupRequest.create = function create(properties) { + return new BackupRequest(properties); }; /** - * Encodes the specified VExecRequest message. Does not implicitly {@link tabletmanagerdata.VExecRequest.verify|verify} messages. + * Encodes the specified BackupRequest message. Does not implicitly {@link tabletmanagerdata.BackupRequest.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static - * @param {tabletmanagerdata.IVExecRequest} message VExecRequest message or plain object to encode + * @param {tabletmanagerdata.IBackupRequest} message BackupRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VExecRequest.encode = function encode(message, writer) { + BackupRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.query != null && Object.hasOwnProperty.call(message, "query")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.query); - if (message.workflow != null && Object.hasOwnProperty.call(message, "workflow")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.workflow); - if (message.keyspace != null && Object.hasOwnProperty.call(message, "keyspace")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.keyspace); + if (message.concurrency != null && Object.hasOwnProperty.call(message, "concurrency")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.concurrency); + if (message.allow_primary != null && Object.hasOwnProperty.call(message, "allow_primary")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allow_primary); return writer; }; /** - * Encodes the specified VExecRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.VExecRequest.verify|verify} messages. + * Encodes the specified BackupRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.BackupRequest.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static - * @param {tabletmanagerdata.IVExecRequest} message VExecRequest message or plain object to encode + * @param {tabletmanagerdata.IBackupRequest} message BackupRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VExecRequest.encodeDelimited = function encodeDelimited(message, writer) { + BackupRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VExecRequest message from the specified reader or buffer. + * Decodes a BackupRequest message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.VExecRequest} VExecRequest + * @returns {tabletmanagerdata.BackupRequest} BackupRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VExecRequest.decode = function decode(reader, length) { + BackupRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.VExecRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.BackupRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.query = reader.string(); + message.concurrency = reader.int64(); break; case 2: - message.workflow = reader.string(); - break; - case 3: - message.keyspace = reader.string(); + message.allow_primary = reader.bool(); break; default: reader.skipType(tag & 7); @@ -49821,124 +49679,130 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a VExecRequest message from the specified reader or buffer, length delimited. + * Decodes a BackupRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.VExecRequest} VExecRequest + * @returns {tabletmanagerdata.BackupRequest} BackupRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VExecRequest.decodeDelimited = function decodeDelimited(reader) { + BackupRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a VExecRequest message. + * Verifies a BackupRequest message. * @function verify - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VExecRequest.verify = function verify(message) { + BackupRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.query != null && message.hasOwnProperty("query")) - if (!$util.isString(message.query)) - return "query: string expected"; - if (message.workflow != null && message.hasOwnProperty("workflow")) - if (!$util.isString(message.workflow)) - return "workflow: string expected"; - if (message.keyspace != null && message.hasOwnProperty("keyspace")) - if (!$util.isString(message.keyspace)) - return "keyspace: string expected"; + if (message.concurrency != null && message.hasOwnProperty("concurrency")) + if (!$util.isInteger(message.concurrency) && !(message.concurrency && $util.isInteger(message.concurrency.low) && $util.isInteger(message.concurrency.high))) + return "concurrency: integer|Long expected"; + if (message.allow_primary != null && message.hasOwnProperty("allow_primary")) + if (typeof message.allow_primary !== "boolean") + return "allow_primary: boolean expected"; return null; }; /** - * Creates a VExecRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BackupRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.VExecRequest} VExecRequest + * @returns {tabletmanagerdata.BackupRequest} BackupRequest */ - VExecRequest.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.VExecRequest) + BackupRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.BackupRequest) return object; - var message = new $root.tabletmanagerdata.VExecRequest(); - if (object.query != null) - message.query = String(object.query); - if (object.workflow != null) - message.workflow = String(object.workflow); - if (object.keyspace != null) - message.keyspace = String(object.keyspace); + var message = new $root.tabletmanagerdata.BackupRequest(); + if (object.concurrency != null) + if ($util.Long) + (message.concurrency = $util.Long.fromValue(object.concurrency)).unsigned = false; + else if (typeof object.concurrency === "string") + message.concurrency = parseInt(object.concurrency, 10); + else if (typeof object.concurrency === "number") + message.concurrency = object.concurrency; + else if (typeof object.concurrency === "object") + message.concurrency = new $util.LongBits(object.concurrency.low >>> 0, object.concurrency.high >>> 0).toNumber(); + if (object.allow_primary != null) + message.allow_primary = Boolean(object.allow_primary); return message; }; /** - * Creates a plain object from a VExecRequest message. Also converts values to other types if specified. + * Creates a plain object from a BackupRequest message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @static - * @param {tabletmanagerdata.VExecRequest} message VExecRequest + * @param {tabletmanagerdata.BackupRequest} message BackupRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VExecRequest.toObject = function toObject(message, options) { + BackupRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.query = ""; - object.workflow = ""; - object.keyspace = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.concurrency = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.concurrency = options.longs === String ? "0" : 0; + object.allow_primary = false; } - if (message.query != null && message.hasOwnProperty("query")) - object.query = message.query; - if (message.workflow != null && message.hasOwnProperty("workflow")) - object.workflow = message.workflow; - if (message.keyspace != null && message.hasOwnProperty("keyspace")) - object.keyspace = message.keyspace; + if (message.concurrency != null && message.hasOwnProperty("concurrency")) + if (typeof message.concurrency === "number") + object.concurrency = options.longs === String ? String(message.concurrency) : message.concurrency; + else + object.concurrency = options.longs === String ? $util.Long.prototype.toString.call(message.concurrency) : options.longs === Number ? new $util.LongBits(message.concurrency.low >>> 0, message.concurrency.high >>> 0).toNumber() : message.concurrency; + if (message.allow_primary != null && message.hasOwnProperty("allow_primary")) + object.allow_primary = message.allow_primary; return object; }; /** - * Converts this VExecRequest to JSON. + * Converts this BackupRequest to JSON. * @function toJSON - * @memberof tabletmanagerdata.VExecRequest + * @memberof tabletmanagerdata.BackupRequest * @instance * @returns {Object.} JSON object */ - VExecRequest.prototype.toJSON = function toJSON() { + BackupRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VExecRequest; + return BackupRequest; })(); - tabletmanagerdata.VExecResponse = (function() { + tabletmanagerdata.BackupResponse = (function() { /** - * Properties of a VExecResponse. + * Properties of a BackupResponse. * @memberof tabletmanagerdata - * @interface IVExecResponse - * @property {query.IQueryResult|null} [result] VExecResponse result + * @interface IBackupResponse + * @property {logutil.IEvent|null} [event] BackupResponse event */ /** - * Constructs a new VExecResponse. + * Constructs a new BackupResponse. * @memberof tabletmanagerdata - * @classdesc Represents a VExecResponse. - * @implements IVExecResponse + * @classdesc Represents a BackupResponse. + * @implements IBackupResponse * @constructor - * @param {tabletmanagerdata.IVExecResponse=} [properties] Properties to set + * @param {tabletmanagerdata.IBackupResponse=} [properties] Properties to set */ - function VExecResponse(properties) { + function BackupResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49946,75 +49810,75 @@ $root.tabletmanagerdata = (function() { } /** - * VExecResponse result. - * @member {query.IQueryResult|null|undefined} result - * @memberof tabletmanagerdata.VExecResponse + * BackupResponse event. + * @member {logutil.IEvent|null|undefined} event + * @memberof tabletmanagerdata.BackupResponse * @instance */ - VExecResponse.prototype.result = null; + BackupResponse.prototype.event = null; /** - * Creates a new VExecResponse instance using the specified properties. + * Creates a new BackupResponse instance using the specified properties. * @function create - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static - * @param {tabletmanagerdata.IVExecResponse=} [properties] Properties to set - * @returns {tabletmanagerdata.VExecResponse} VExecResponse instance + * @param {tabletmanagerdata.IBackupResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.BackupResponse} BackupResponse instance */ - VExecResponse.create = function create(properties) { - return new VExecResponse(properties); + BackupResponse.create = function create(properties) { + return new BackupResponse(properties); }; /** - * Encodes the specified VExecResponse message. Does not implicitly {@link tabletmanagerdata.VExecResponse.verify|verify} messages. + * Encodes the specified BackupResponse message. Does not implicitly {@link tabletmanagerdata.BackupResponse.verify|verify} messages. * @function encode - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static - * @param {tabletmanagerdata.IVExecResponse} message VExecResponse message or plain object to encode + * @param {tabletmanagerdata.IBackupResponse} message BackupResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VExecResponse.encode = function encode(message, writer) { + BackupResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - $root.query.QueryResult.encode(message.result, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.event != null && Object.hasOwnProperty.call(message, "event")) + $root.logutil.Event.encode(message.event, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified VExecResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.VExecResponse.verify|verify} messages. + * Encodes the specified BackupResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.BackupResponse.verify|verify} messages. * @function encodeDelimited - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static - * @param {tabletmanagerdata.IVExecResponse} message VExecResponse message or plain object to encode + * @param {tabletmanagerdata.IBackupResponse} message BackupResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VExecResponse.encodeDelimited = function encodeDelimited(message, writer) { + BackupResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VExecResponse message from the specified reader or buffer. + * Decodes a BackupResponse message from the specified reader or buffer. * @function decode - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tabletmanagerdata.VExecResponse} VExecResponse + * @returns {tabletmanagerdata.BackupResponse} BackupResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VExecResponse.decode = function decode(reader, length) { + BackupResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.VExecResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.BackupResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.result = $root.query.QueryResult.decode(reader, reader.uint32()); + message.event = $root.logutil.Event.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -50025,117 +49889,112 @@ $root.tabletmanagerdata = (function() { }; /** - * Decodes a VExecResponse message from the specified reader or buffer, length delimited. + * Decodes a BackupResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tabletmanagerdata.VExecResponse} VExecResponse + * @returns {tabletmanagerdata.BackupResponse} BackupResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VExecResponse.decodeDelimited = function decodeDelimited(reader) { + BackupResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a VExecResponse message. + * Verifies a BackupResponse message. * @function verify - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VExecResponse.verify = function verify(message) { + BackupResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.result != null && message.hasOwnProperty("result")) { - var error = $root.query.QueryResult.verify(message.result); + if (message.event != null && message.hasOwnProperty("event")) { + var error = $root.logutil.Event.verify(message.event); if (error) - return "result." + error; + return "event." + error; } return null; }; /** - * Creates a VExecResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BackupResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static * @param {Object.} object Plain object - * @returns {tabletmanagerdata.VExecResponse} VExecResponse + * @returns {tabletmanagerdata.BackupResponse} BackupResponse */ - VExecResponse.fromObject = function fromObject(object) { - if (object instanceof $root.tabletmanagerdata.VExecResponse) + BackupResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.BackupResponse) return object; - var message = new $root.tabletmanagerdata.VExecResponse(); - if (object.result != null) { - if (typeof object.result !== "object") - throw TypeError(".tabletmanagerdata.VExecResponse.result: object expected"); - message.result = $root.query.QueryResult.fromObject(object.result); + var message = new $root.tabletmanagerdata.BackupResponse(); + if (object.event != null) { + if (typeof object.event !== "object") + throw TypeError(".tabletmanagerdata.BackupResponse.event: object expected"); + message.event = $root.logutil.Event.fromObject(object.event); } return message; }; /** - * Creates a plain object from a VExecResponse message. Also converts values to other types if specified. + * Creates a plain object from a BackupResponse message. Also converts values to other types if specified. * @function toObject - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @static - * @param {tabletmanagerdata.VExecResponse} message VExecResponse + * @param {tabletmanagerdata.BackupResponse} message BackupResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VExecResponse.toObject = function toObject(message, options) { + BackupResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.result = null; - if (message.result != null && message.hasOwnProperty("result")) - object.result = $root.query.QueryResult.toObject(message.result, options); + object.event = null; + if (message.event != null && message.hasOwnProperty("event")) + object.event = $root.logutil.Event.toObject(message.event, options); return object; }; /** - * Converts this VExecResponse to JSON. + * Converts this BackupResponse to JSON. * @function toJSON - * @memberof tabletmanagerdata.VExecResponse + * @memberof tabletmanagerdata.BackupResponse * @instance * @returns {Object.} JSON object */ - VExecResponse.prototype.toJSON = function toJSON() { + BackupResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VExecResponse; + return BackupResponse; })(); - tabletmanagerdata.VDiffRequest = (function() { + tabletmanagerdata.RestoreFromBackupRequest = (function() { /** - * Properties of a VDiffRequest. + * Properties of a RestoreFromBackupRequest. * @memberof tabletmanagerdata - * @interface IVDiffRequest - * @property {string|null} [keyspace] VDiffRequest keyspace - * @property {string|null} [workflow] VDiffRequest workflow - * @property {string|null} [command] VDiffRequest command - * @property {string|null} [sub_command] VDiffRequest sub_command - * @property {string|null} [vdiff_uuid] VDiffRequest vdiff_uuid - * @property {tabletmanagerdata.IVDiffOptions|null} [options] VDiffRequest options + * @interface IRestoreFromBackupRequest + * @property {vttime.ITime|null} [backup_time] RestoreFromBackupRequest backup_time */ /** - * Constructs a new VDiffRequest. + * Constructs a new RestoreFromBackupRequest. * @memberof tabletmanagerdata - * @classdesc Represents a VDiffRequest. - * @implements IVDiffRequest + * @classdesc Represents a RestoreFromBackupRequest. + * @implements IRestoreFromBackupRequest * @constructor - * @param {tabletmanagerdata.IVDiffRequest=} [properties] Properties to set + * @param {tabletmanagerdata.IRestoreFromBackupRequest=} [properties] Properties to set */ - function VDiffRequest(properties) { + function RestoreFromBackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50143,32 +50002,845 @@ $root.tabletmanagerdata = (function() { } /** - * VDiffRequest keyspace. - * @member {string} keyspace - * @memberof tabletmanagerdata.VDiffRequest + * RestoreFromBackupRequest backup_time. + * @member {vttime.ITime|null|undefined} backup_time + * @memberof tabletmanagerdata.RestoreFromBackupRequest * @instance */ - VDiffRequest.prototype.keyspace = ""; + RestoreFromBackupRequest.prototype.backup_time = null; /** - * VDiffRequest workflow. - * @member {string} workflow - * @memberof tabletmanagerdata.VDiffRequest - * @instance + * Creates a new RestoreFromBackupRequest instance using the specified properties. + * @function create + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {tabletmanagerdata.IRestoreFromBackupRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest instance */ - VDiffRequest.prototype.workflow = ""; + RestoreFromBackupRequest.create = function create(properties) { + return new RestoreFromBackupRequest(properties); + }; /** - * VDiffRequest command. - * @member {string} command - * @memberof tabletmanagerdata.VDiffRequest - * @instance + * Encodes the specified RestoreFromBackupRequest message. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupRequest.verify|verify} messages. + * @function encode + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {tabletmanagerdata.IRestoreFromBackupRequest} message RestoreFromBackupRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - VDiffRequest.prototype.command = ""; - - /** - * VDiffRequest sub_command. - * @member {string} sub_command + RestoreFromBackupRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.backup_time != null && Object.hasOwnProperty.call(message, "backup_time")) + $root.vttime.Time.encode(message.backup_time, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RestoreFromBackupRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {tabletmanagerdata.IRestoreFromBackupRequest} message RestoreFromBackupRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RestoreFromBackupRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RestoreFromBackupRequest message from the specified reader or buffer. + * @function decode + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RestoreFromBackupRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.RestoreFromBackupRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.backup_time = $root.vttime.Time.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RestoreFromBackupRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RestoreFromBackupRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RestoreFromBackupRequest message. + * @function verify + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RestoreFromBackupRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.backup_time != null && message.hasOwnProperty("backup_time")) { + var error = $root.vttime.Time.verify(message.backup_time); + if (error) + return "backup_time." + error; + } + return null; + }; + + /** + * Creates a RestoreFromBackupRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {Object.} object Plain object + * @returns {tabletmanagerdata.RestoreFromBackupRequest} RestoreFromBackupRequest + */ + RestoreFromBackupRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.RestoreFromBackupRequest) + return object; + var message = new $root.tabletmanagerdata.RestoreFromBackupRequest(); + if (object.backup_time != null) { + if (typeof object.backup_time !== "object") + throw TypeError(".tabletmanagerdata.RestoreFromBackupRequest.backup_time: object expected"); + message.backup_time = $root.vttime.Time.fromObject(object.backup_time); + } + return message; + }; + + /** + * Creates a plain object from a RestoreFromBackupRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @static + * @param {tabletmanagerdata.RestoreFromBackupRequest} message RestoreFromBackupRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RestoreFromBackupRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.backup_time = null; + if (message.backup_time != null && message.hasOwnProperty("backup_time")) + object.backup_time = $root.vttime.Time.toObject(message.backup_time, options); + return object; + }; + + /** + * Converts this RestoreFromBackupRequest to JSON. + * @function toJSON + * @memberof tabletmanagerdata.RestoreFromBackupRequest + * @instance + * @returns {Object.} JSON object + */ + RestoreFromBackupRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RestoreFromBackupRequest; + })(); + + tabletmanagerdata.RestoreFromBackupResponse = (function() { + + /** + * Properties of a RestoreFromBackupResponse. + * @memberof tabletmanagerdata + * @interface IRestoreFromBackupResponse + * @property {logutil.IEvent|null} [event] RestoreFromBackupResponse event + */ + + /** + * Constructs a new RestoreFromBackupResponse. + * @memberof tabletmanagerdata + * @classdesc Represents a RestoreFromBackupResponse. + * @implements IRestoreFromBackupResponse + * @constructor + * @param {tabletmanagerdata.IRestoreFromBackupResponse=} [properties] Properties to set + */ + function RestoreFromBackupResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RestoreFromBackupResponse event. + * @member {logutil.IEvent|null|undefined} event + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @instance + */ + RestoreFromBackupResponse.prototype.event = null; + + /** + * Creates a new RestoreFromBackupResponse instance using the specified properties. + * @function create + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {tabletmanagerdata.IRestoreFromBackupResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse instance + */ + RestoreFromBackupResponse.create = function create(properties) { + return new RestoreFromBackupResponse(properties); + }; + + /** + * Encodes the specified RestoreFromBackupResponse message. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupResponse.verify|verify} messages. + * @function encode + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {tabletmanagerdata.IRestoreFromBackupResponse} message RestoreFromBackupResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RestoreFromBackupResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.event != null && Object.hasOwnProperty.call(message, "event")) + $root.logutil.Event.encode(message.event, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RestoreFromBackupResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.RestoreFromBackupResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {tabletmanagerdata.IRestoreFromBackupResponse} message RestoreFromBackupResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RestoreFromBackupResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RestoreFromBackupResponse message from the specified reader or buffer. + * @function decode + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RestoreFromBackupResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.RestoreFromBackupResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.event = $root.logutil.Event.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RestoreFromBackupResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RestoreFromBackupResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RestoreFromBackupResponse message. + * @function verify + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RestoreFromBackupResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.event != null && message.hasOwnProperty("event")) { + var error = $root.logutil.Event.verify(message.event); + if (error) + return "event." + error; + } + return null; + }; + + /** + * Creates a RestoreFromBackupResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {Object.} object Plain object + * @returns {tabletmanagerdata.RestoreFromBackupResponse} RestoreFromBackupResponse + */ + RestoreFromBackupResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.RestoreFromBackupResponse) + return object; + var message = new $root.tabletmanagerdata.RestoreFromBackupResponse(); + if (object.event != null) { + if (typeof object.event !== "object") + throw TypeError(".tabletmanagerdata.RestoreFromBackupResponse.event: object expected"); + message.event = $root.logutil.Event.fromObject(object.event); + } + return message; + }; + + /** + * Creates a plain object from a RestoreFromBackupResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @static + * @param {tabletmanagerdata.RestoreFromBackupResponse} message RestoreFromBackupResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RestoreFromBackupResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.event = null; + if (message.event != null && message.hasOwnProperty("event")) + object.event = $root.logutil.Event.toObject(message.event, options); + return object; + }; + + /** + * Converts this RestoreFromBackupResponse to JSON. + * @function toJSON + * @memberof tabletmanagerdata.RestoreFromBackupResponse + * @instance + * @returns {Object.} JSON object + */ + RestoreFromBackupResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RestoreFromBackupResponse; + })(); + + tabletmanagerdata.VExecRequest = (function() { + + /** + * Properties of a VExecRequest. + * @memberof tabletmanagerdata + * @interface IVExecRequest + * @property {string|null} [query] VExecRequest query + * @property {string|null} [workflow] VExecRequest workflow + * @property {string|null} [keyspace] VExecRequest keyspace + */ + + /** + * Constructs a new VExecRequest. + * @memberof tabletmanagerdata + * @classdesc Represents a VExecRequest. + * @implements IVExecRequest + * @constructor + * @param {tabletmanagerdata.IVExecRequest=} [properties] Properties to set + */ + function VExecRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VExecRequest query. + * @member {string} query + * @memberof tabletmanagerdata.VExecRequest + * @instance + */ + VExecRequest.prototype.query = ""; + + /** + * VExecRequest workflow. + * @member {string} workflow + * @memberof tabletmanagerdata.VExecRequest + * @instance + */ + VExecRequest.prototype.workflow = ""; + + /** + * VExecRequest keyspace. + * @member {string} keyspace + * @memberof tabletmanagerdata.VExecRequest + * @instance + */ + VExecRequest.prototype.keyspace = ""; + + /** + * Creates a new VExecRequest instance using the specified properties. + * @function create + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {tabletmanagerdata.IVExecRequest=} [properties] Properties to set + * @returns {tabletmanagerdata.VExecRequest} VExecRequest instance + */ + VExecRequest.create = function create(properties) { + return new VExecRequest(properties); + }; + + /** + * Encodes the specified VExecRequest message. Does not implicitly {@link tabletmanagerdata.VExecRequest.verify|verify} messages. + * @function encode + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {tabletmanagerdata.IVExecRequest} message VExecRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VExecRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.query); + if (message.workflow != null && Object.hasOwnProperty.call(message, "workflow")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.workflow); + if (message.keyspace != null && Object.hasOwnProperty.call(message, "keyspace")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.keyspace); + return writer; + }; + + /** + * Encodes the specified VExecRequest message, length delimited. Does not implicitly {@link tabletmanagerdata.VExecRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {tabletmanagerdata.IVExecRequest} message VExecRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VExecRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VExecRequest message from the specified reader or buffer. + * @function decode + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tabletmanagerdata.VExecRequest} VExecRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VExecRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.VExecRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.query = reader.string(); + break; + case 2: + message.workflow = reader.string(); + break; + case 3: + message.keyspace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VExecRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tabletmanagerdata.VExecRequest} VExecRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VExecRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VExecRequest message. + * @function verify + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VExecRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.query != null && message.hasOwnProperty("query")) + if (!$util.isString(message.query)) + return "query: string expected"; + if (message.workflow != null && message.hasOwnProperty("workflow")) + if (!$util.isString(message.workflow)) + return "workflow: string expected"; + if (message.keyspace != null && message.hasOwnProperty("keyspace")) + if (!$util.isString(message.keyspace)) + return "keyspace: string expected"; + return null; + }; + + /** + * Creates a VExecRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {Object.} object Plain object + * @returns {tabletmanagerdata.VExecRequest} VExecRequest + */ + VExecRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.VExecRequest) + return object; + var message = new $root.tabletmanagerdata.VExecRequest(); + if (object.query != null) + message.query = String(object.query); + if (object.workflow != null) + message.workflow = String(object.workflow); + if (object.keyspace != null) + message.keyspace = String(object.keyspace); + return message; + }; + + /** + * Creates a plain object from a VExecRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tabletmanagerdata.VExecRequest + * @static + * @param {tabletmanagerdata.VExecRequest} message VExecRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VExecRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.query = ""; + object.workflow = ""; + object.keyspace = ""; + } + if (message.query != null && message.hasOwnProperty("query")) + object.query = message.query; + if (message.workflow != null && message.hasOwnProperty("workflow")) + object.workflow = message.workflow; + if (message.keyspace != null && message.hasOwnProperty("keyspace")) + object.keyspace = message.keyspace; + return object; + }; + + /** + * Converts this VExecRequest to JSON. + * @function toJSON + * @memberof tabletmanagerdata.VExecRequest + * @instance + * @returns {Object.} JSON object + */ + VExecRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VExecRequest; + })(); + + tabletmanagerdata.VExecResponse = (function() { + + /** + * Properties of a VExecResponse. + * @memberof tabletmanagerdata + * @interface IVExecResponse + * @property {query.IQueryResult|null} [result] VExecResponse result + */ + + /** + * Constructs a new VExecResponse. + * @memberof tabletmanagerdata + * @classdesc Represents a VExecResponse. + * @implements IVExecResponse + * @constructor + * @param {tabletmanagerdata.IVExecResponse=} [properties] Properties to set + */ + function VExecResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VExecResponse result. + * @member {query.IQueryResult|null|undefined} result + * @memberof tabletmanagerdata.VExecResponse + * @instance + */ + VExecResponse.prototype.result = null; + + /** + * Creates a new VExecResponse instance using the specified properties. + * @function create + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {tabletmanagerdata.IVExecResponse=} [properties] Properties to set + * @returns {tabletmanagerdata.VExecResponse} VExecResponse instance + */ + VExecResponse.create = function create(properties) { + return new VExecResponse(properties); + }; + + /** + * Encodes the specified VExecResponse message. Does not implicitly {@link tabletmanagerdata.VExecResponse.verify|verify} messages. + * @function encode + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {tabletmanagerdata.IVExecResponse} message VExecResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VExecResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.result != null && Object.hasOwnProperty.call(message, "result")) + $root.query.QueryResult.encode(message.result, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VExecResponse message, length delimited. Does not implicitly {@link tabletmanagerdata.VExecResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {tabletmanagerdata.IVExecResponse} message VExecResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VExecResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VExecResponse message from the specified reader or buffer. + * @function decode + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tabletmanagerdata.VExecResponse} VExecResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VExecResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tabletmanagerdata.VExecResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.result = $root.query.QueryResult.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VExecResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tabletmanagerdata.VExecResponse} VExecResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VExecResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VExecResponse message. + * @function verify + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VExecResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.result != null && message.hasOwnProperty("result")) { + var error = $root.query.QueryResult.verify(message.result); + if (error) + return "result." + error; + } + return null; + }; + + /** + * Creates a VExecResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {Object.} object Plain object + * @returns {tabletmanagerdata.VExecResponse} VExecResponse + */ + VExecResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tabletmanagerdata.VExecResponse) + return object; + var message = new $root.tabletmanagerdata.VExecResponse(); + if (object.result != null) { + if (typeof object.result !== "object") + throw TypeError(".tabletmanagerdata.VExecResponse.result: object expected"); + message.result = $root.query.QueryResult.fromObject(object.result); + } + return message; + }; + + /** + * Creates a plain object from a VExecResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tabletmanagerdata.VExecResponse + * @static + * @param {tabletmanagerdata.VExecResponse} message VExecResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VExecResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.result = null; + if (message.result != null && message.hasOwnProperty("result")) + object.result = $root.query.QueryResult.toObject(message.result, options); + return object; + }; + + /** + * Converts this VExecResponse to JSON. + * @function toJSON + * @memberof tabletmanagerdata.VExecResponse + * @instance + * @returns {Object.} JSON object + */ + VExecResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VExecResponse; + })(); + + tabletmanagerdata.VDiffRequest = (function() { + + /** + * Properties of a VDiffRequest. + * @memberof tabletmanagerdata + * @interface IVDiffRequest + * @property {string|null} [keyspace] VDiffRequest keyspace + * @property {string|null} [workflow] VDiffRequest workflow + * @property {string|null} [command] VDiffRequest command + * @property {string|null} [sub_command] VDiffRequest sub_command + * @property {string|null} [vdiff_uuid] VDiffRequest vdiff_uuid + * @property {tabletmanagerdata.IVDiffOptions|null} [options] VDiffRequest options + */ + + /** + * Constructs a new VDiffRequest. + * @memberof tabletmanagerdata + * @classdesc Represents a VDiffRequest. + * @implements IVDiffRequest + * @constructor + * @param {tabletmanagerdata.IVDiffRequest=} [properties] Properties to set + */ + function VDiffRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VDiffRequest keyspace. + * @member {string} keyspace + * @memberof tabletmanagerdata.VDiffRequest + * @instance + */ + VDiffRequest.prototype.keyspace = ""; + + /** + * VDiffRequest workflow. + * @member {string} workflow + * @memberof tabletmanagerdata.VDiffRequest + * @instance + */ + VDiffRequest.prototype.workflow = ""; + + /** + * VDiffRequest command. + * @member {string} command + * @memberof tabletmanagerdata.VDiffRequest + * @instance + */ + VDiffRequest.prototype.command = ""; + + /** + * VDiffRequest sub_command. + * @member {string} sub_command * @memberof tabletmanagerdata.VDiffRequest * @instance */ @@ -70306,13 +70978,21 @@ $root.replicationdata = (function() { * @property {number|null} [connect_retry] Status connect_retry * @property {string|null} [relay_log_position] Status relay_log_position * @property {string|null} [file_position] Status file_position - * @property {string|null} [file_relay_log_position] Status file_relay_log_position + * @property {string|null} [relay_log_source_binlog_equivalent_position] Status relay_log_source_binlog_equivalent_position * @property {number|null} [source_server_id] Status source_server_id * @property {string|null} [source_uuid] Status source_uuid * @property {number|null} [io_state] Status io_state * @property {string|null} [last_io_error] Status last_io_error * @property {number|null} [sql_state] Status sql_state * @property {string|null} [last_sql_error] Status last_sql_error + * @property {string|null} [relay_log_file_position] Status relay_log_file_position + * @property {string|null} [source_user] Status source_user + * @property {number|null} [sql_delay] Status sql_delay + * @property {boolean|null} [auto_position] Status auto_position + * @property {boolean|null} [using_gtid] Status using_gtid + * @property {boolean|null} [has_replication_filters] Status has_replication_filters + * @property {boolean|null} [ssl_allowed] Status ssl_allowed + * @property {boolean|null} [replication_lag_unknown] Status replication_lag_unknown */ /** @@ -70403,12 +71083,12 @@ $root.replicationdata = (function() { Status.prototype.file_position = ""; /** - * Status file_relay_log_position. - * @member {string} file_relay_log_position + * Status relay_log_source_binlog_equivalent_position. + * @member {string} relay_log_source_binlog_equivalent_position * @memberof replicationdata.Status * @instance */ - Status.prototype.file_relay_log_position = ""; + Status.prototype.relay_log_source_binlog_equivalent_position = ""; /** * Status source_server_id. @@ -70416,47 +71096,111 @@ $root.replicationdata = (function() { * @memberof replicationdata.Status * @instance */ - Status.prototype.source_server_id = 0; + Status.prototype.source_server_id = 0; + + /** + * Status source_uuid. + * @member {string} source_uuid + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.source_uuid = ""; + + /** + * Status io_state. + * @member {number} io_state + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.io_state = 0; + + /** + * Status last_io_error. + * @member {string} last_io_error + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.last_io_error = ""; + + /** + * Status sql_state. + * @member {number} sql_state + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.sql_state = 0; + + /** + * Status last_sql_error. + * @member {string} last_sql_error + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.last_sql_error = ""; + + /** + * Status relay_log_file_position. + * @member {string} relay_log_file_position + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.relay_log_file_position = ""; + + /** + * Status source_user. + * @member {string} source_user + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.source_user = ""; + + /** + * Status sql_delay. + * @member {number} sql_delay + * @memberof replicationdata.Status + * @instance + */ + Status.prototype.sql_delay = 0; /** - * Status source_uuid. - * @member {string} source_uuid + * Status auto_position. + * @member {boolean} auto_position * @memberof replicationdata.Status * @instance */ - Status.prototype.source_uuid = ""; + Status.prototype.auto_position = false; /** - * Status io_state. - * @member {number} io_state + * Status using_gtid. + * @member {boolean} using_gtid * @memberof replicationdata.Status * @instance */ - Status.prototype.io_state = 0; + Status.prototype.using_gtid = false; /** - * Status last_io_error. - * @member {string} last_io_error + * Status has_replication_filters. + * @member {boolean} has_replication_filters * @memberof replicationdata.Status * @instance */ - Status.prototype.last_io_error = ""; + Status.prototype.has_replication_filters = false; /** - * Status sql_state. - * @member {number} sql_state + * Status ssl_allowed. + * @member {boolean} ssl_allowed * @memberof replicationdata.Status * @instance */ - Status.prototype.sql_state = 0; + Status.prototype.ssl_allowed = false; /** - * Status last_sql_error. - * @member {string} last_sql_error + * Status replication_lag_unknown. + * @member {boolean} replication_lag_unknown * @memberof replicationdata.Status * @instance */ - Status.prototype.last_sql_error = ""; + Status.prototype.replication_lag_unknown = false; /** * Creates a new Status instance using the specified properties. @@ -70500,8 +71244,8 @@ $root.replicationdata = (function() { writer.uint32(/* id 8, wireType 2 =*/66).string(message.relay_log_position); if (message.file_position != null && Object.hasOwnProperty.call(message, "file_position")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.file_position); - if (message.file_relay_log_position != null && Object.hasOwnProperty.call(message, "file_relay_log_position")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.file_relay_log_position); + if (message.relay_log_source_binlog_equivalent_position != null && Object.hasOwnProperty.call(message, "relay_log_source_binlog_equivalent_position")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.relay_log_source_binlog_equivalent_position); if (message.source_server_id != null && Object.hasOwnProperty.call(message, "source_server_id")) writer.uint32(/* id 11, wireType 0 =*/88).uint32(message.source_server_id); if (message.source_uuid != null && Object.hasOwnProperty.call(message, "source_uuid")) @@ -70514,6 +71258,22 @@ $root.replicationdata = (function() { writer.uint32(/* id 15, wireType 0 =*/120).int32(message.sql_state); if (message.last_sql_error != null && Object.hasOwnProperty.call(message, "last_sql_error")) writer.uint32(/* id 16, wireType 2 =*/130).string(message.last_sql_error); + if (message.relay_log_file_position != null && Object.hasOwnProperty.call(message, "relay_log_file_position")) + writer.uint32(/* id 17, wireType 2 =*/138).string(message.relay_log_file_position); + if (message.source_user != null && Object.hasOwnProperty.call(message, "source_user")) + writer.uint32(/* id 18, wireType 2 =*/146).string(message.source_user); + if (message.sql_delay != null && Object.hasOwnProperty.call(message, "sql_delay")) + writer.uint32(/* id 19, wireType 0 =*/152).uint32(message.sql_delay); + if (message.auto_position != null && Object.hasOwnProperty.call(message, "auto_position")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.auto_position); + if (message.using_gtid != null && Object.hasOwnProperty.call(message, "using_gtid")) + writer.uint32(/* id 21, wireType 0 =*/168).bool(message.using_gtid); + if (message.has_replication_filters != null && Object.hasOwnProperty.call(message, "has_replication_filters")) + writer.uint32(/* id 22, wireType 0 =*/176).bool(message.has_replication_filters); + if (message.ssl_allowed != null && Object.hasOwnProperty.call(message, "ssl_allowed")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.ssl_allowed); + if (message.replication_lag_unknown != null && Object.hasOwnProperty.call(message, "replication_lag_unknown")) + writer.uint32(/* id 24, wireType 0 =*/192).bool(message.replication_lag_unknown); return writer; }; @@ -70576,7 +71336,7 @@ $root.replicationdata = (function() { message.file_position = reader.string(); break; case 10: - message.file_relay_log_position = reader.string(); + message.relay_log_source_binlog_equivalent_position = reader.string(); break; case 11: message.source_server_id = reader.uint32(); @@ -70596,6 +71356,30 @@ $root.replicationdata = (function() { case 16: message.last_sql_error = reader.string(); break; + case 17: + message.relay_log_file_position = reader.string(); + break; + case 18: + message.source_user = reader.string(); + break; + case 19: + message.sql_delay = reader.uint32(); + break; + case 20: + message.auto_position = reader.bool(); + break; + case 21: + message.using_gtid = reader.bool(); + break; + case 22: + message.has_replication_filters = reader.bool(); + break; + case 23: + message.ssl_allowed = reader.bool(); + break; + case 24: + message.replication_lag_unknown = reader.bool(); + break; default: reader.skipType(tag & 7); break; @@ -70658,9 +71442,9 @@ $root.replicationdata = (function() { if (message.file_position != null && message.hasOwnProperty("file_position")) if (!$util.isString(message.file_position)) return "file_position: string expected"; - if (message.file_relay_log_position != null && message.hasOwnProperty("file_relay_log_position")) - if (!$util.isString(message.file_relay_log_position)) - return "file_relay_log_position: string expected"; + if (message.relay_log_source_binlog_equivalent_position != null && message.hasOwnProperty("relay_log_source_binlog_equivalent_position")) + if (!$util.isString(message.relay_log_source_binlog_equivalent_position)) + return "relay_log_source_binlog_equivalent_position: string expected"; if (message.source_server_id != null && message.hasOwnProperty("source_server_id")) if (!$util.isInteger(message.source_server_id)) return "source_server_id: integer expected"; @@ -70679,6 +71463,30 @@ $root.replicationdata = (function() { if (message.last_sql_error != null && message.hasOwnProperty("last_sql_error")) if (!$util.isString(message.last_sql_error)) return "last_sql_error: string expected"; + if (message.relay_log_file_position != null && message.hasOwnProperty("relay_log_file_position")) + if (!$util.isString(message.relay_log_file_position)) + return "relay_log_file_position: string expected"; + if (message.source_user != null && message.hasOwnProperty("source_user")) + if (!$util.isString(message.source_user)) + return "source_user: string expected"; + if (message.sql_delay != null && message.hasOwnProperty("sql_delay")) + if (!$util.isInteger(message.sql_delay)) + return "sql_delay: integer expected"; + if (message.auto_position != null && message.hasOwnProperty("auto_position")) + if (typeof message.auto_position !== "boolean") + return "auto_position: boolean expected"; + if (message.using_gtid != null && message.hasOwnProperty("using_gtid")) + if (typeof message.using_gtid !== "boolean") + return "using_gtid: boolean expected"; + if (message.has_replication_filters != null && message.hasOwnProperty("has_replication_filters")) + if (typeof message.has_replication_filters !== "boolean") + return "has_replication_filters: boolean expected"; + if (message.ssl_allowed != null && message.hasOwnProperty("ssl_allowed")) + if (typeof message.ssl_allowed !== "boolean") + return "ssl_allowed: boolean expected"; + if (message.replication_lag_unknown != null && message.hasOwnProperty("replication_lag_unknown")) + if (typeof message.replication_lag_unknown !== "boolean") + return "replication_lag_unknown: boolean expected"; return null; }; @@ -70712,8 +71520,8 @@ $root.replicationdata = (function() { message.relay_log_position = String(object.relay_log_position); if (object.file_position != null) message.file_position = String(object.file_position); - if (object.file_relay_log_position != null) - message.file_relay_log_position = String(object.file_relay_log_position); + if (object.relay_log_source_binlog_equivalent_position != null) + message.relay_log_source_binlog_equivalent_position = String(object.relay_log_source_binlog_equivalent_position); if (object.source_server_id != null) message.source_server_id = object.source_server_id >>> 0; if (object.source_uuid != null) @@ -70726,6 +71534,22 @@ $root.replicationdata = (function() { message.sql_state = object.sql_state | 0; if (object.last_sql_error != null) message.last_sql_error = String(object.last_sql_error); + if (object.relay_log_file_position != null) + message.relay_log_file_position = String(object.relay_log_file_position); + if (object.source_user != null) + message.source_user = String(object.source_user); + if (object.sql_delay != null) + message.sql_delay = object.sql_delay >>> 0; + if (object.auto_position != null) + message.auto_position = Boolean(object.auto_position); + if (object.using_gtid != null) + message.using_gtid = Boolean(object.using_gtid); + if (object.has_replication_filters != null) + message.has_replication_filters = Boolean(object.has_replication_filters); + if (object.ssl_allowed != null) + message.ssl_allowed = Boolean(object.ssl_allowed); + if (object.replication_lag_unknown != null) + message.replication_lag_unknown = Boolean(object.replication_lag_unknown); return message; }; @@ -70752,13 +71576,21 @@ $root.replicationdata = (function() { object.connect_retry = 0; object.relay_log_position = ""; object.file_position = ""; - object.file_relay_log_position = ""; + object.relay_log_source_binlog_equivalent_position = ""; object.source_server_id = 0; object.source_uuid = ""; object.io_state = 0; object.last_io_error = ""; object.sql_state = 0; object.last_sql_error = ""; + object.relay_log_file_position = ""; + object.source_user = ""; + object.sql_delay = 0; + object.auto_position = false; + object.using_gtid = false; + object.has_replication_filters = false; + object.ssl_allowed = false; + object.replication_lag_unknown = false; } if (message.position != null && message.hasOwnProperty("position")) object.position = message.position; @@ -70778,8 +71610,8 @@ $root.replicationdata = (function() { object.relay_log_position = message.relay_log_position; if (message.file_position != null && message.hasOwnProperty("file_position")) object.file_position = message.file_position; - if (message.file_relay_log_position != null && message.hasOwnProperty("file_relay_log_position")) - object.file_relay_log_position = message.file_relay_log_position; + if (message.relay_log_source_binlog_equivalent_position != null && message.hasOwnProperty("relay_log_source_binlog_equivalent_position")) + object.relay_log_source_binlog_equivalent_position = message.relay_log_source_binlog_equivalent_position; if (message.source_server_id != null && message.hasOwnProperty("source_server_id")) object.source_server_id = message.source_server_id; if (message.source_uuid != null && message.hasOwnProperty("source_uuid")) @@ -70792,6 +71624,22 @@ $root.replicationdata = (function() { object.sql_state = message.sql_state; if (message.last_sql_error != null && message.hasOwnProperty("last_sql_error")) object.last_sql_error = message.last_sql_error; + if (message.relay_log_file_position != null && message.hasOwnProperty("relay_log_file_position")) + object.relay_log_file_position = message.relay_log_file_position; + if (message.source_user != null && message.hasOwnProperty("source_user")) + object.source_user = message.source_user; + if (message.sql_delay != null && message.hasOwnProperty("sql_delay")) + object.sql_delay = message.sql_delay; + if (message.auto_position != null && message.hasOwnProperty("auto_position")) + object.auto_position = message.auto_position; + if (message.using_gtid != null && message.hasOwnProperty("using_gtid")) + object.using_gtid = message.using_gtid; + if (message.has_replication_filters != null && message.hasOwnProperty("has_replication_filters")) + object.has_replication_filters = message.has_replication_filters; + if (message.ssl_allowed != null && message.hasOwnProperty("ssl_allowed")) + object.ssl_allowed = message.ssl_allowed; + if (message.replication_lag_unknown != null && message.hasOwnProperty("replication_lag_unknown")) + object.replication_lag_unknown = message.replication_lag_unknown; return object; }; @@ -71008,60 +71856,288 @@ $root.replicationdata = (function() { object.before = null; object.after = null; } - if (message.before != null && message.hasOwnProperty("before")) - object.before = $root.replicationdata.Status.toObject(message.before, options); - if (message.after != null && message.hasOwnProperty("after")) - object.after = $root.replicationdata.Status.toObject(message.after, options); + if (message.before != null && message.hasOwnProperty("before")) + object.before = $root.replicationdata.Status.toObject(message.before, options); + if (message.after != null && message.hasOwnProperty("after")) + object.after = $root.replicationdata.Status.toObject(message.after, options); + return object; + }; + + /** + * Converts this StopReplicationStatus to JSON. + * @function toJSON + * @memberof replicationdata.StopReplicationStatus + * @instance + * @returns {Object.} JSON object + */ + StopReplicationStatus.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StopReplicationStatus; + })(); + + /** + * StopReplicationMode enum. + * @name replicationdata.StopReplicationMode + * @enum {number} + * @property {number} IOANDSQLTHREAD=0 IOANDSQLTHREAD value + * @property {number} IOTHREADONLY=1 IOTHREADONLY value + */ + replicationdata.StopReplicationMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IOANDSQLTHREAD"] = 0; + values[valuesById[1] = "IOTHREADONLY"] = 1; + return values; + })(); + + replicationdata.PrimaryStatus = (function() { + + /** + * Properties of a PrimaryStatus. + * @memberof replicationdata + * @interface IPrimaryStatus + * @property {string|null} [position] PrimaryStatus position + * @property {string|null} [file_position] PrimaryStatus file_position + */ + + /** + * Constructs a new PrimaryStatus. + * @memberof replicationdata + * @classdesc Represents a PrimaryStatus. + * @implements IPrimaryStatus + * @constructor + * @param {replicationdata.IPrimaryStatus=} [properties] Properties to set + */ + function PrimaryStatus(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PrimaryStatus position. + * @member {string} position + * @memberof replicationdata.PrimaryStatus + * @instance + */ + PrimaryStatus.prototype.position = ""; + + /** + * PrimaryStatus file_position. + * @member {string} file_position + * @memberof replicationdata.PrimaryStatus + * @instance + */ + PrimaryStatus.prototype.file_position = ""; + + /** + * Creates a new PrimaryStatus instance using the specified properties. + * @function create + * @memberof replicationdata.PrimaryStatus + * @static + * @param {replicationdata.IPrimaryStatus=} [properties] Properties to set + * @returns {replicationdata.PrimaryStatus} PrimaryStatus instance + */ + PrimaryStatus.create = function create(properties) { + return new PrimaryStatus(properties); + }; + + /** + * Encodes the specified PrimaryStatus message. Does not implicitly {@link replicationdata.PrimaryStatus.verify|verify} messages. + * @function encode + * @memberof replicationdata.PrimaryStatus + * @static + * @param {replicationdata.IPrimaryStatus} message PrimaryStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PrimaryStatus.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.position != null && Object.hasOwnProperty.call(message, "position")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.position); + if (message.file_position != null && Object.hasOwnProperty.call(message, "file_position")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.file_position); + return writer; + }; + + /** + * Encodes the specified PrimaryStatus message, length delimited. Does not implicitly {@link replicationdata.PrimaryStatus.verify|verify} messages. + * @function encodeDelimited + * @memberof replicationdata.PrimaryStatus + * @static + * @param {replicationdata.IPrimaryStatus} message PrimaryStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PrimaryStatus.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PrimaryStatus message from the specified reader or buffer. + * @function decode + * @memberof replicationdata.PrimaryStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {replicationdata.PrimaryStatus} PrimaryStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PrimaryStatus.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.replicationdata.PrimaryStatus(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.position = reader.string(); + break; + case 2: + message.file_position = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PrimaryStatus message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof replicationdata.PrimaryStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {replicationdata.PrimaryStatus} PrimaryStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PrimaryStatus.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PrimaryStatus message. + * @function verify + * @memberof replicationdata.PrimaryStatus + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PrimaryStatus.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.position != null && message.hasOwnProperty("position")) + if (!$util.isString(message.position)) + return "position: string expected"; + if (message.file_position != null && message.hasOwnProperty("file_position")) + if (!$util.isString(message.file_position)) + return "file_position: string expected"; + return null; + }; + + /** + * Creates a PrimaryStatus message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof replicationdata.PrimaryStatus + * @static + * @param {Object.} object Plain object + * @returns {replicationdata.PrimaryStatus} PrimaryStatus + */ + PrimaryStatus.fromObject = function fromObject(object) { + if (object instanceof $root.replicationdata.PrimaryStatus) + return object; + var message = new $root.replicationdata.PrimaryStatus(); + if (object.position != null) + message.position = String(object.position); + if (object.file_position != null) + message.file_position = String(object.file_position); + return message; + }; + + /** + * Creates a plain object from a PrimaryStatus message. Also converts values to other types if specified. + * @function toObject + * @memberof replicationdata.PrimaryStatus + * @static + * @param {replicationdata.PrimaryStatus} message PrimaryStatus + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PrimaryStatus.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.position = ""; + object.file_position = ""; + } + if (message.position != null && message.hasOwnProperty("position")) + object.position = message.position; + if (message.file_position != null && message.hasOwnProperty("file_position")) + object.file_position = message.file_position; return object; }; /** - * Converts this StopReplicationStatus to JSON. + * Converts this PrimaryStatus to JSON. * @function toJSON - * @memberof replicationdata.StopReplicationStatus + * @memberof replicationdata.PrimaryStatus * @instance * @returns {Object.} JSON object */ - StopReplicationStatus.prototype.toJSON = function toJSON() { + PrimaryStatus.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StopReplicationStatus; - })(); - - /** - * StopReplicationMode enum. - * @name replicationdata.StopReplicationMode - * @enum {number} - * @property {number} IOANDSQLTHREAD=0 IOANDSQLTHREAD value - * @property {number} IOTHREADONLY=1 IOTHREADONLY value - */ - replicationdata.StopReplicationMode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "IOANDSQLTHREAD"] = 0; - values[valuesById[1] = "IOTHREADONLY"] = 1; - return values; + return PrimaryStatus; })(); - replicationdata.PrimaryStatus = (function() { + replicationdata.FullStatus = (function() { /** - * Properties of a PrimaryStatus. + * Properties of a FullStatus. * @memberof replicationdata - * @interface IPrimaryStatus - * @property {string|null} [position] PrimaryStatus position - * @property {string|null} [file_position] PrimaryStatus file_position - */ - - /** - * Constructs a new PrimaryStatus. + * @interface IFullStatus + * @property {number|null} [server_id] FullStatus server_id + * @property {string|null} [server_uuid] FullStatus server_uuid + * @property {replicationdata.IStatus|null} [replication_status] FullStatus replication_status + * @property {replicationdata.IPrimaryStatus|null} [primary_status] FullStatus primary_status + * @property {string|null} [gtid_purged] FullStatus gtid_purged + * @property {string|null} [version] FullStatus version + * @property {string|null} [version_comment] FullStatus version_comment + * @property {boolean|null} [read_only] FullStatus read_only + * @property {string|null} [gtid_mode] FullStatus gtid_mode + * @property {string|null} [binlog_format] FullStatus binlog_format + * @property {string|null} [binlog_row_image] FullStatus binlog_row_image + * @property {boolean|null} [log_bin_enabled] FullStatus log_bin_enabled + * @property {boolean|null} [log_replica_updates] FullStatus log_replica_updates + * @property {boolean|null} [semi_sync_primary_enabled] FullStatus semi_sync_primary_enabled + * @property {boolean|null} [semi_sync_replica_enabled] FullStatus semi_sync_replica_enabled + * @property {boolean|null} [semi_sync_primary_status] FullStatus semi_sync_primary_status + * @property {boolean|null} [semi_sync_replica_status] FullStatus semi_sync_replica_status + * @property {number|null} [semi_sync_primary_clients] FullStatus semi_sync_primary_clients + * @property {number|Long|null} [semi_sync_primary_timeout] FullStatus semi_sync_primary_timeout + * @property {number|null} [semi_sync_wait_for_replica_count] FullStatus semi_sync_wait_for_replica_count + */ + + /** + * Constructs a new FullStatus. * @memberof replicationdata - * @classdesc Represents a PrimaryStatus. - * @implements IPrimaryStatus + * @classdesc Represents a FullStatus. + * @implements IFullStatus * @constructor - * @param {replicationdata.IPrimaryStatus=} [properties] Properties to set + * @param {replicationdata.IFullStatus=} [properties] Properties to set */ - function PrimaryStatus(properties) { + function FullStatus(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -71069,88 +72145,322 @@ $root.replicationdata = (function() { } /** - * PrimaryStatus position. - * @member {string} position - * @memberof replicationdata.PrimaryStatus + * FullStatus server_id. + * @member {number} server_id + * @memberof replicationdata.FullStatus * @instance */ - PrimaryStatus.prototype.position = ""; + FullStatus.prototype.server_id = 0; /** - * PrimaryStatus file_position. - * @member {string} file_position - * @memberof replicationdata.PrimaryStatus + * FullStatus server_uuid. + * @member {string} server_uuid + * @memberof replicationdata.FullStatus * @instance */ - PrimaryStatus.prototype.file_position = ""; + FullStatus.prototype.server_uuid = ""; /** - * Creates a new PrimaryStatus instance using the specified properties. + * FullStatus replication_status. + * @member {replicationdata.IStatus|null|undefined} replication_status + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.replication_status = null; + + /** + * FullStatus primary_status. + * @member {replicationdata.IPrimaryStatus|null|undefined} primary_status + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.primary_status = null; + + /** + * FullStatus gtid_purged. + * @member {string} gtid_purged + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.gtid_purged = ""; + + /** + * FullStatus version. + * @member {string} version + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.version = ""; + + /** + * FullStatus version_comment. + * @member {string} version_comment + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.version_comment = ""; + + /** + * FullStatus read_only. + * @member {boolean} read_only + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.read_only = false; + + /** + * FullStatus gtid_mode. + * @member {string} gtid_mode + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.gtid_mode = ""; + + /** + * FullStatus binlog_format. + * @member {string} binlog_format + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.binlog_format = ""; + + /** + * FullStatus binlog_row_image. + * @member {string} binlog_row_image + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.binlog_row_image = ""; + + /** + * FullStatus log_bin_enabled. + * @member {boolean} log_bin_enabled + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.log_bin_enabled = false; + + /** + * FullStatus log_replica_updates. + * @member {boolean} log_replica_updates + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.log_replica_updates = false; + + /** + * FullStatus semi_sync_primary_enabled. + * @member {boolean} semi_sync_primary_enabled + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_primary_enabled = false; + + /** + * FullStatus semi_sync_replica_enabled. + * @member {boolean} semi_sync_replica_enabled + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_replica_enabled = false; + + /** + * FullStatus semi_sync_primary_status. + * @member {boolean} semi_sync_primary_status + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_primary_status = false; + + /** + * FullStatus semi_sync_replica_status. + * @member {boolean} semi_sync_replica_status + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_replica_status = false; + + /** + * FullStatus semi_sync_primary_clients. + * @member {number} semi_sync_primary_clients + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_primary_clients = 0; + + /** + * FullStatus semi_sync_primary_timeout. + * @member {number|Long} semi_sync_primary_timeout + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_primary_timeout = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FullStatus semi_sync_wait_for_replica_count. + * @member {number} semi_sync_wait_for_replica_count + * @memberof replicationdata.FullStatus + * @instance + */ + FullStatus.prototype.semi_sync_wait_for_replica_count = 0; + + /** + * Creates a new FullStatus instance using the specified properties. * @function create - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static - * @param {replicationdata.IPrimaryStatus=} [properties] Properties to set - * @returns {replicationdata.PrimaryStatus} PrimaryStatus instance + * @param {replicationdata.IFullStatus=} [properties] Properties to set + * @returns {replicationdata.FullStatus} FullStatus instance */ - PrimaryStatus.create = function create(properties) { - return new PrimaryStatus(properties); + FullStatus.create = function create(properties) { + return new FullStatus(properties); }; /** - * Encodes the specified PrimaryStatus message. Does not implicitly {@link replicationdata.PrimaryStatus.verify|verify} messages. + * Encodes the specified FullStatus message. Does not implicitly {@link replicationdata.FullStatus.verify|verify} messages. * @function encode - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static - * @param {replicationdata.IPrimaryStatus} message PrimaryStatus message or plain object to encode + * @param {replicationdata.IFullStatus} message FullStatus message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PrimaryStatus.encode = function encode(message, writer) { + FullStatus.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.position); - if (message.file_position != null && Object.hasOwnProperty.call(message, "file_position")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.file_position); + if (message.server_id != null && Object.hasOwnProperty.call(message, "server_id")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.server_id); + if (message.server_uuid != null && Object.hasOwnProperty.call(message, "server_uuid")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.server_uuid); + if (message.replication_status != null && Object.hasOwnProperty.call(message, "replication_status")) + $root.replicationdata.Status.encode(message.replication_status, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.primary_status != null && Object.hasOwnProperty.call(message, "primary_status")) + $root.replicationdata.PrimaryStatus.encode(message.primary_status, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.gtid_purged != null && Object.hasOwnProperty.call(message, "gtid_purged")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.gtid_purged); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.version); + if (message.version_comment != null && Object.hasOwnProperty.call(message, "version_comment")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.version_comment); + if (message.read_only != null && Object.hasOwnProperty.call(message, "read_only")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.read_only); + if (message.gtid_mode != null && Object.hasOwnProperty.call(message, "gtid_mode")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.gtid_mode); + if (message.binlog_format != null && Object.hasOwnProperty.call(message, "binlog_format")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.binlog_format); + if (message.binlog_row_image != null && Object.hasOwnProperty.call(message, "binlog_row_image")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.binlog_row_image); + if (message.log_bin_enabled != null && Object.hasOwnProperty.call(message, "log_bin_enabled")) + writer.uint32(/* id 12, wireType 0 =*/96).bool(message.log_bin_enabled); + if (message.log_replica_updates != null && Object.hasOwnProperty.call(message, "log_replica_updates")) + writer.uint32(/* id 13, wireType 0 =*/104).bool(message.log_replica_updates); + if (message.semi_sync_primary_enabled != null && Object.hasOwnProperty.call(message, "semi_sync_primary_enabled")) + writer.uint32(/* id 14, wireType 0 =*/112).bool(message.semi_sync_primary_enabled); + if (message.semi_sync_replica_enabled != null && Object.hasOwnProperty.call(message, "semi_sync_replica_enabled")) + writer.uint32(/* id 15, wireType 0 =*/120).bool(message.semi_sync_replica_enabled); + if (message.semi_sync_primary_status != null && Object.hasOwnProperty.call(message, "semi_sync_primary_status")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.semi_sync_primary_status); + if (message.semi_sync_replica_status != null && Object.hasOwnProperty.call(message, "semi_sync_replica_status")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.semi_sync_replica_status); + if (message.semi_sync_primary_clients != null && Object.hasOwnProperty.call(message, "semi_sync_primary_clients")) + writer.uint32(/* id 18, wireType 0 =*/144).uint32(message.semi_sync_primary_clients); + if (message.semi_sync_primary_timeout != null && Object.hasOwnProperty.call(message, "semi_sync_primary_timeout")) + writer.uint32(/* id 19, wireType 0 =*/152).uint64(message.semi_sync_primary_timeout); + if (message.semi_sync_wait_for_replica_count != null && Object.hasOwnProperty.call(message, "semi_sync_wait_for_replica_count")) + writer.uint32(/* id 20, wireType 0 =*/160).uint32(message.semi_sync_wait_for_replica_count); return writer; }; /** - * Encodes the specified PrimaryStatus message, length delimited. Does not implicitly {@link replicationdata.PrimaryStatus.verify|verify} messages. + * Encodes the specified FullStatus message, length delimited. Does not implicitly {@link replicationdata.FullStatus.verify|verify} messages. * @function encodeDelimited - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static - * @param {replicationdata.IPrimaryStatus} message PrimaryStatus message or plain object to encode + * @param {replicationdata.IFullStatus} message FullStatus message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PrimaryStatus.encodeDelimited = function encodeDelimited(message, writer) { + FullStatus.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a PrimaryStatus message from the specified reader or buffer. + * Decodes a FullStatus message from the specified reader or buffer. * @function decode - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {replicationdata.PrimaryStatus} PrimaryStatus + * @returns {replicationdata.FullStatus} FullStatus * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PrimaryStatus.decode = function decode(reader, length) { + FullStatus.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.replicationdata.PrimaryStatus(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.replicationdata.FullStatus(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.position = reader.string(); + message.server_id = reader.uint32(); break; case 2: - message.file_position = reader.string(); + message.server_uuid = reader.string(); + break; + case 3: + message.replication_status = $root.replicationdata.Status.decode(reader, reader.uint32()); + break; + case 4: + message.primary_status = $root.replicationdata.PrimaryStatus.decode(reader, reader.uint32()); + break; + case 5: + message.gtid_purged = reader.string(); + break; + case 6: + message.version = reader.string(); + break; + case 7: + message.version_comment = reader.string(); + break; + case 8: + message.read_only = reader.bool(); + break; + case 9: + message.gtid_mode = reader.string(); + break; + case 10: + message.binlog_format = reader.string(); + break; + case 11: + message.binlog_row_image = reader.string(); + break; + case 12: + message.log_bin_enabled = reader.bool(); + break; + case 13: + message.log_replica_updates = reader.bool(); + break; + case 14: + message.semi_sync_primary_enabled = reader.bool(); + break; + case 15: + message.semi_sync_replica_enabled = reader.bool(); + break; + case 16: + message.semi_sync_primary_status = reader.bool(); + break; + case 17: + message.semi_sync_replica_status = reader.bool(); + break; + case 18: + message.semi_sync_primary_clients = reader.uint32(); + break; + case 19: + message.semi_sync_primary_timeout = reader.uint64(); + break; + case 20: + message.semi_sync_wait_for_replica_count = reader.uint32(); break; default: reader.skipType(tag & 7); @@ -71161,96 +72471,264 @@ $root.replicationdata = (function() { }; /** - * Decodes a PrimaryStatus message from the specified reader or buffer, length delimited. + * Decodes a FullStatus message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {replicationdata.PrimaryStatus} PrimaryStatus + * @returns {replicationdata.FullStatus} FullStatus * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PrimaryStatus.decodeDelimited = function decodeDelimited(reader) { + FullStatus.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a PrimaryStatus message. + * Verifies a FullStatus message. * @function verify - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PrimaryStatus.verify = function verify(message) { + FullStatus.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.position != null && message.hasOwnProperty("position")) - if (!$util.isString(message.position)) - return "position: string expected"; - if (message.file_position != null && message.hasOwnProperty("file_position")) - if (!$util.isString(message.file_position)) - return "file_position: string expected"; + if (message.server_id != null && message.hasOwnProperty("server_id")) + if (!$util.isInteger(message.server_id)) + return "server_id: integer expected"; + if (message.server_uuid != null && message.hasOwnProperty("server_uuid")) + if (!$util.isString(message.server_uuid)) + return "server_uuid: string expected"; + if (message.replication_status != null && message.hasOwnProperty("replication_status")) { + var error = $root.replicationdata.Status.verify(message.replication_status); + if (error) + return "replication_status." + error; + } + if (message.primary_status != null && message.hasOwnProperty("primary_status")) { + var error = $root.replicationdata.PrimaryStatus.verify(message.primary_status); + if (error) + return "primary_status." + error; + } + if (message.gtid_purged != null && message.hasOwnProperty("gtid_purged")) + if (!$util.isString(message.gtid_purged)) + return "gtid_purged: string expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + if (message.version_comment != null && message.hasOwnProperty("version_comment")) + if (!$util.isString(message.version_comment)) + return "version_comment: string expected"; + if (message.read_only != null && message.hasOwnProperty("read_only")) + if (typeof message.read_only !== "boolean") + return "read_only: boolean expected"; + if (message.gtid_mode != null && message.hasOwnProperty("gtid_mode")) + if (!$util.isString(message.gtid_mode)) + return "gtid_mode: string expected"; + if (message.binlog_format != null && message.hasOwnProperty("binlog_format")) + if (!$util.isString(message.binlog_format)) + return "binlog_format: string expected"; + if (message.binlog_row_image != null && message.hasOwnProperty("binlog_row_image")) + if (!$util.isString(message.binlog_row_image)) + return "binlog_row_image: string expected"; + if (message.log_bin_enabled != null && message.hasOwnProperty("log_bin_enabled")) + if (typeof message.log_bin_enabled !== "boolean") + return "log_bin_enabled: boolean expected"; + if (message.log_replica_updates != null && message.hasOwnProperty("log_replica_updates")) + if (typeof message.log_replica_updates !== "boolean") + return "log_replica_updates: boolean expected"; + if (message.semi_sync_primary_enabled != null && message.hasOwnProperty("semi_sync_primary_enabled")) + if (typeof message.semi_sync_primary_enabled !== "boolean") + return "semi_sync_primary_enabled: boolean expected"; + if (message.semi_sync_replica_enabled != null && message.hasOwnProperty("semi_sync_replica_enabled")) + if (typeof message.semi_sync_replica_enabled !== "boolean") + return "semi_sync_replica_enabled: boolean expected"; + if (message.semi_sync_primary_status != null && message.hasOwnProperty("semi_sync_primary_status")) + if (typeof message.semi_sync_primary_status !== "boolean") + return "semi_sync_primary_status: boolean expected"; + if (message.semi_sync_replica_status != null && message.hasOwnProperty("semi_sync_replica_status")) + if (typeof message.semi_sync_replica_status !== "boolean") + return "semi_sync_replica_status: boolean expected"; + if (message.semi_sync_primary_clients != null && message.hasOwnProperty("semi_sync_primary_clients")) + if (!$util.isInteger(message.semi_sync_primary_clients)) + return "semi_sync_primary_clients: integer expected"; + if (message.semi_sync_primary_timeout != null && message.hasOwnProperty("semi_sync_primary_timeout")) + if (!$util.isInteger(message.semi_sync_primary_timeout) && !(message.semi_sync_primary_timeout && $util.isInteger(message.semi_sync_primary_timeout.low) && $util.isInteger(message.semi_sync_primary_timeout.high))) + return "semi_sync_primary_timeout: integer|Long expected"; + if (message.semi_sync_wait_for_replica_count != null && message.hasOwnProperty("semi_sync_wait_for_replica_count")) + if (!$util.isInteger(message.semi_sync_wait_for_replica_count)) + return "semi_sync_wait_for_replica_count: integer expected"; return null; }; /** - * Creates a PrimaryStatus message from a plain object. Also converts values to their respective internal types. + * Creates a FullStatus message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static * @param {Object.} object Plain object - * @returns {replicationdata.PrimaryStatus} PrimaryStatus + * @returns {replicationdata.FullStatus} FullStatus */ - PrimaryStatus.fromObject = function fromObject(object) { - if (object instanceof $root.replicationdata.PrimaryStatus) + FullStatus.fromObject = function fromObject(object) { + if (object instanceof $root.replicationdata.FullStatus) return object; - var message = new $root.replicationdata.PrimaryStatus(); - if (object.position != null) - message.position = String(object.position); - if (object.file_position != null) - message.file_position = String(object.file_position); + var message = new $root.replicationdata.FullStatus(); + if (object.server_id != null) + message.server_id = object.server_id >>> 0; + if (object.server_uuid != null) + message.server_uuid = String(object.server_uuid); + if (object.replication_status != null) { + if (typeof object.replication_status !== "object") + throw TypeError(".replicationdata.FullStatus.replication_status: object expected"); + message.replication_status = $root.replicationdata.Status.fromObject(object.replication_status); + } + if (object.primary_status != null) { + if (typeof object.primary_status !== "object") + throw TypeError(".replicationdata.FullStatus.primary_status: object expected"); + message.primary_status = $root.replicationdata.PrimaryStatus.fromObject(object.primary_status); + } + if (object.gtid_purged != null) + message.gtid_purged = String(object.gtid_purged); + if (object.version != null) + message.version = String(object.version); + if (object.version_comment != null) + message.version_comment = String(object.version_comment); + if (object.read_only != null) + message.read_only = Boolean(object.read_only); + if (object.gtid_mode != null) + message.gtid_mode = String(object.gtid_mode); + if (object.binlog_format != null) + message.binlog_format = String(object.binlog_format); + if (object.binlog_row_image != null) + message.binlog_row_image = String(object.binlog_row_image); + if (object.log_bin_enabled != null) + message.log_bin_enabled = Boolean(object.log_bin_enabled); + if (object.log_replica_updates != null) + message.log_replica_updates = Boolean(object.log_replica_updates); + if (object.semi_sync_primary_enabled != null) + message.semi_sync_primary_enabled = Boolean(object.semi_sync_primary_enabled); + if (object.semi_sync_replica_enabled != null) + message.semi_sync_replica_enabled = Boolean(object.semi_sync_replica_enabled); + if (object.semi_sync_primary_status != null) + message.semi_sync_primary_status = Boolean(object.semi_sync_primary_status); + if (object.semi_sync_replica_status != null) + message.semi_sync_replica_status = Boolean(object.semi_sync_replica_status); + if (object.semi_sync_primary_clients != null) + message.semi_sync_primary_clients = object.semi_sync_primary_clients >>> 0; + if (object.semi_sync_primary_timeout != null) + if ($util.Long) + (message.semi_sync_primary_timeout = $util.Long.fromValue(object.semi_sync_primary_timeout)).unsigned = true; + else if (typeof object.semi_sync_primary_timeout === "string") + message.semi_sync_primary_timeout = parseInt(object.semi_sync_primary_timeout, 10); + else if (typeof object.semi_sync_primary_timeout === "number") + message.semi_sync_primary_timeout = object.semi_sync_primary_timeout; + else if (typeof object.semi_sync_primary_timeout === "object") + message.semi_sync_primary_timeout = new $util.LongBits(object.semi_sync_primary_timeout.low >>> 0, object.semi_sync_primary_timeout.high >>> 0).toNumber(true); + if (object.semi_sync_wait_for_replica_count != null) + message.semi_sync_wait_for_replica_count = object.semi_sync_wait_for_replica_count >>> 0; return message; }; /** - * Creates a plain object from a PrimaryStatus message. Also converts values to other types if specified. + * Creates a plain object from a FullStatus message. Also converts values to other types if specified. * @function toObject - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @static - * @param {replicationdata.PrimaryStatus} message PrimaryStatus + * @param {replicationdata.FullStatus} message FullStatus * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - PrimaryStatus.toObject = function toObject(message, options) { + FullStatus.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.position = ""; - object.file_position = ""; - } - if (message.position != null && message.hasOwnProperty("position")) - object.position = message.position; - if (message.file_position != null && message.hasOwnProperty("file_position")) - object.file_position = message.file_position; + object.server_id = 0; + object.server_uuid = ""; + object.replication_status = null; + object.primary_status = null; + object.gtid_purged = ""; + object.version = ""; + object.version_comment = ""; + object.read_only = false; + object.gtid_mode = ""; + object.binlog_format = ""; + object.binlog_row_image = ""; + object.log_bin_enabled = false; + object.log_replica_updates = false; + object.semi_sync_primary_enabled = false; + object.semi_sync_replica_enabled = false; + object.semi_sync_primary_status = false; + object.semi_sync_replica_status = false; + object.semi_sync_primary_clients = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.semi_sync_primary_timeout = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.semi_sync_primary_timeout = options.longs === String ? "0" : 0; + object.semi_sync_wait_for_replica_count = 0; + } + if (message.server_id != null && message.hasOwnProperty("server_id")) + object.server_id = message.server_id; + if (message.server_uuid != null && message.hasOwnProperty("server_uuid")) + object.server_uuid = message.server_uuid; + if (message.replication_status != null && message.hasOwnProperty("replication_status")) + object.replication_status = $root.replicationdata.Status.toObject(message.replication_status, options); + if (message.primary_status != null && message.hasOwnProperty("primary_status")) + object.primary_status = $root.replicationdata.PrimaryStatus.toObject(message.primary_status, options); + if (message.gtid_purged != null && message.hasOwnProperty("gtid_purged")) + object.gtid_purged = message.gtid_purged; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + if (message.version_comment != null && message.hasOwnProperty("version_comment")) + object.version_comment = message.version_comment; + if (message.read_only != null && message.hasOwnProperty("read_only")) + object.read_only = message.read_only; + if (message.gtid_mode != null && message.hasOwnProperty("gtid_mode")) + object.gtid_mode = message.gtid_mode; + if (message.binlog_format != null && message.hasOwnProperty("binlog_format")) + object.binlog_format = message.binlog_format; + if (message.binlog_row_image != null && message.hasOwnProperty("binlog_row_image")) + object.binlog_row_image = message.binlog_row_image; + if (message.log_bin_enabled != null && message.hasOwnProperty("log_bin_enabled")) + object.log_bin_enabled = message.log_bin_enabled; + if (message.log_replica_updates != null && message.hasOwnProperty("log_replica_updates")) + object.log_replica_updates = message.log_replica_updates; + if (message.semi_sync_primary_enabled != null && message.hasOwnProperty("semi_sync_primary_enabled")) + object.semi_sync_primary_enabled = message.semi_sync_primary_enabled; + if (message.semi_sync_replica_enabled != null && message.hasOwnProperty("semi_sync_replica_enabled")) + object.semi_sync_replica_enabled = message.semi_sync_replica_enabled; + if (message.semi_sync_primary_status != null && message.hasOwnProperty("semi_sync_primary_status")) + object.semi_sync_primary_status = message.semi_sync_primary_status; + if (message.semi_sync_replica_status != null && message.hasOwnProperty("semi_sync_replica_status")) + object.semi_sync_replica_status = message.semi_sync_replica_status; + if (message.semi_sync_primary_clients != null && message.hasOwnProperty("semi_sync_primary_clients")) + object.semi_sync_primary_clients = message.semi_sync_primary_clients; + if (message.semi_sync_primary_timeout != null && message.hasOwnProperty("semi_sync_primary_timeout")) + if (typeof message.semi_sync_primary_timeout === "number") + object.semi_sync_primary_timeout = options.longs === String ? String(message.semi_sync_primary_timeout) : message.semi_sync_primary_timeout; + else + object.semi_sync_primary_timeout = options.longs === String ? $util.Long.prototype.toString.call(message.semi_sync_primary_timeout) : options.longs === Number ? new $util.LongBits(message.semi_sync_primary_timeout.low >>> 0, message.semi_sync_primary_timeout.high >>> 0).toNumber(true) : message.semi_sync_primary_timeout; + if (message.semi_sync_wait_for_replica_count != null && message.hasOwnProperty("semi_sync_wait_for_replica_count")) + object.semi_sync_wait_for_replica_count = message.semi_sync_wait_for_replica_count; return object; }; /** - * Converts this PrimaryStatus to JSON. + * Converts this FullStatus to JSON. * @function toJSON - * @memberof replicationdata.PrimaryStatus + * @memberof replicationdata.FullStatus * @instance * @returns {Object.} JSON object */ - PrimaryStatus.prototype.toJSON = function toJSON() { + FullStatus.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return PrimaryStatus; + return FullStatus; })(); return replicationdata;