diff --git a/go/vt/vtorc/inst/instance_dao.go b/go/vt/vtorc/inst/instance_dao.go index 0f18bbe32be..d7badd906d6 100644 --- a/go/vt/vtorc/inst/instance_dao.go +++ b/go/vt/vtorc/inst/instance_dao.go @@ -299,9 +299,9 @@ func ReadTopologyInstanceBufferable(tabletAlias string, latency *stopwatch.Named instance.SourceUUID = fs.ReplicationStatus.SourceUuid instance.HasReplicationFilters = fs.ReplicationStatus.HasReplicationFilters + instance.SourceAlias = topoproto.TabletAliasString(fs.SourceAlias) instance.SourceHost = fs.ReplicationStatus.SourceHost instance.SourcePort = int(fs.ReplicationStatus.SourcePort) - instance.SourceAlias = topoproto.TabletAliasString(fs.SourceAlias) if fs.ReplicationStatus.ReplicationLagUnknown { instance.SecondsBehindPrimary.Valid = false @@ -483,6 +483,7 @@ func ReadInstanceClusterAttributes(instance *Instance) (err error) { primaryHostname := instance.SourceHost primaryPort := instance.SourcePort + // Using alias is a primary-key read whereCond := `alias = ?` args := sqlutils.Args(primaryAlias) diff --git a/proto/replicationdata.proto b/proto/replicationdata.proto index eba4d323ee6..d8f1411012f 100644 --- a/proto/replicationdata.proto +++ b/proto/replicationdata.proto @@ -19,6 +19,8 @@ limitations under the License. syntax = "proto3"; option go_package = "vitess.io/vitess/go/vt/proto/replicationdata"; +import "topodata.proto"; + package replicationdata; // Status is the replication status for MySQL/MariaDB/File-based. Returned by a @@ -51,6 +53,7 @@ message Status { bool ssl_allowed = 23; bool replication_lag_unknown = 24; bool backup_running = 25; + topodata.TabletAlias source_alias = 26; } // Configuration holds replication configuration information gathered from performance_schema and global variables. @@ -106,4 +109,5 @@ message FullStatus { bool super_read_only = 21; replicationdata.Configuration replication_configuration = 22; bool disk_stalled = 23; + topodata.TabletAlias source_alias = 24; }