Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Commit

Permalink
Merge pull request vitessio#7391 from planetscale/ds-80-backport-6989
Browse files Browse the repository at this point in the history
8.0 backport: Correctly initialize the TabletType stats
  • Loading branch information
deepthi committed Jan 27, 2021
2 parents a90d749 + 0533e30 commit 4150d5e
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 0 deletions.
1 change: 1 addition & 0 deletions go/vt/vttablet/tabletmanager/tm_init.go
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,7 @@ func (tm *TabletManager) exportStats() {
tablet := tm.Tablet()
statsKeyspace.Set(tablet.Keyspace)
statsShard.Set(tablet.Shard)
statsTabletType.Set(topoproto.TabletTypeLString(tm.tmState.tablet.Type))
if key.KeyRangeIsPartial(tablet.KeyRange) {
statsKeyRangeStart.Set(hex.EncodeToString(tablet.KeyRange.Start))
statsKeyRangeEnd.Set(hex.EncodeToString(tablet.KeyRange.End))
Expand Down
3 changes: 3 additions & 0 deletions go/vt/vttablet/tabletmanager/tm_init_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
tm := newTestTM(t, ts, 1, "ks", "0")
defer tm.Stop()

assert.Equal(t, "replica", statsTabletType.Get())

_, err := ts.GetShard(ctx, "ks", "0")
require.NoError(t, err)

Expand Down Expand Up @@ -235,6 +237,7 @@ func TestCheckMastership(t *testing.T) {
assert.Equal(t, topodatapb.TabletType_MASTER, ti.Type)
ter0 := ti.GetMasterTermStartTime()
assert.Equal(t, now, ter0)
assert.Equal(t, "master", statsTabletType.Get())
tm.Stop()

// 3. Delete the tablet record. The shard record still says that we are the
Expand Down
2 changes: 2 additions & 0 deletions go/vt/vttablet/tabletmanager/tm_state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,13 +182,15 @@ func TestStateChangeTabletType(t *testing.T) {
require.NoError(t, err)
assert.Equal(t, topodatapb.TabletType_MASTER, ti.Type)
assert.NotNil(t, ti.MasterTermStartTime)
assert.Equal(t, "master", statsTabletType.Get())

err = tm.tmState.ChangeTabletType(ctx, topodatapb.TabletType_REPLICA, DBActionNone)
require.NoError(t, err)
ti, err = ts.GetTablet(ctx, alias)
require.NoError(t, err)
assert.Equal(t, topodatapb.TabletType_REPLICA, ti.Type)
assert.Nil(t, ti.MasterTermStartTime)
assert.Equal(t, "replica", statsTabletType.Get())
}

func TestPublishStateNew(t *testing.T) {
Expand Down

0 comments on commit 4150d5e

Please sign in to comment.