diff --git a/go/vt/key/key.go b/go/vt/key/key.go index d951d123f0b..82852daa16e 100644 --- a/go/vt/key/key.go +++ b/go/vt/key/key.go @@ -98,8 +98,8 @@ func NewKeyRange(start []byte, end []byte) *topodatapb.KeyRange { // NewCompleteKeyRange returns a complete key range. func NewCompleteKeyRange() *topodatapb.KeyRange { return &topodatapb.KeyRange{ - Start: []byte{}, - End: []byte{}, + Start: nil, + End: nil, } } diff --git a/go/vt/vtorc/logic/tablet_discovery.go b/go/vt/vtorc/logic/tablet_discovery.go index 5b3bf246e50..5fca6de542d 100644 --- a/go/vt/vtorc/logic/tablet_discovery.go +++ b/go/vt/vtorc/logic/tablet_discovery.go @@ -84,16 +84,11 @@ func initializeShardsToWatch() error { return fmt.Errorf("Invalid key range %q while parsing clusters to watch", s) } // Parse the shard name into key range value. - _, keyRange, err := topo.ValidateShardName(s) + keyRanges, err := key.ParseShardingSpec(s) if err != nil { return fmt.Errorf("Could not parse shard name %q: %+v", s, err) } - // If the key range is nil, then the user is not using RangeBased Sharding. - // So we want to watch all the shards of the keyspace. - if keyRange == nil { - keyRange = key.NewCompleteKeyRange() - } - shardsToWatch[k] = append(shardsToWatch[k], keyRange) + shardsToWatch[k] = append(shardsToWatch[k], keyRanges...) } else { // Remove trailing slash if exists. ks = strings.TrimSuffix(ks, "/") diff --git a/go/vt/vtorc/logic/tablet_discovery_test.go b/go/vt/vtorc/logic/tablet_discovery_test.go index ce01e8f9c04..eaa1eb4389d 100644 --- a/go/vt/vtorc/logic/tablet_discovery_test.go +++ b/go/vt/vtorc/logic/tablet_discovery_test.go @@ -276,8 +276,8 @@ func TestInitializeShardsToWatch(t *testing.T) { key.NewCompleteKeyRange(), }, "test2": { - key.NewKeyRange([]byte{}, []byte{0x80}), - key.NewKeyRange([]byte{0x80}, []byte{}), + key.NewKeyRange(nil, []byte{0x80}), + key.NewKeyRange([]byte{0x80}, nil), }, }, },