99
}
100
101
>
func (s *ShardSuite) TestUpdateShard_OwnershipLost() {
shard.go
102
>
rangeID := rand.Int63()
103
>
shardInfo := RandomShardInfo(s.ShardID, rangeID)
104
>
105
>
resp, err := s.ShardManager.GetOrCreateShard(s.Ctx, &p.GetOrCreateShardRequest{
106
>
ShardID: s.ShardID,
107
>
InitialShardInfo: shardInfo,
108
>
})
109
>
s.NoError(err)
110
>
s.ProtoEqual(shardInfo, resp.ShardInfo)
111
>
112
>
updateRangeID := rand.Int63()
113
>
updateShardInfo := RandomShardInfo(s.ShardID, rand.Int63())
114
>
err = s.ShardManager.UpdateShard(s.Ctx, &p.UpdateShardRequest{
115
>
ShardInfo: updateShardInfo,
116
>
PreviousRangeID: updateRangeID,
117
>
})
118
>
s.IsType(&p.ShardOwnershipLostError{}, err)
119
>
120
>
resp, err = s.ShardManager.GetOrCreateShard(s.Ctx, &p.GetOrCreateShardRequest{
121
>
ShardID: s.ShardID,
122
>
InitialShardInfo: shardInfo,
123
>
})
124
>
s.NoError(err)
125
>
s.ProtoEqual(shardInfo, resp.ShardInfo)
126
>
}
127
128
func (s *ShardSuite) TestUpdateShard_Success() {