mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
feat(access): update shard leader when delete message failed
. #1000306808 Signed-off-by: slasher <shenjie1@oppo.com>
This commit is contained in:
parent
6ac6e515a2
commit
26f9bb3669
@ -691,6 +691,13 @@ func (h *Handler) clearGarbageIntoShardnode(ctx context.Context, location *proto
|
||||
if err = h.shardnodeClient.DeleteBlobRaw(ctx, host, args); err != nil {
|
||||
span.Warnf("send to shardnode %s delete message(%+v) %s", host, slice, err.Error())
|
||||
reportUnhealth(clusterID, "delete.msg", serviceShard, host, "failed")
|
||||
_, err = h.punishAndUpdate(ctx, &punishArgs{
|
||||
ShardOpHeader: args.Header,
|
||||
clusterID: clusterID,
|
||||
host: host,
|
||||
mode: acapi.GetShardModeLeader,
|
||||
err: err,
|
||||
})
|
||||
err = errors.Base(err, host)
|
||||
}
|
||||
return err
|
||||
|
||||
@ -182,8 +182,7 @@ func TestStreamBlobDeleteRaw(t *testing.T) {
|
||||
h := newStreamHandlerSuccess(t)
|
||||
h.StreamConfig.DeleteIntoShardnodePercentage = 100
|
||||
|
||||
h.shardnodeClient.(*mocks.MockShardnodeAccess).EXPECT().DeleteBlobRaw(gAny, gAny, gAny).Return(
|
||||
errcode.ErrShardRouteVersionNeedUpdate).Times(3)
|
||||
h.shardnodeClient.(*mocks.MockShardnodeAccess).EXPECT().DeleteBlobRaw(gAny, gAny, gAny).Return(errcode.ErrUnexpected).Times(3)
|
||||
require.Error(t, h.Delete(ctx, &proto.Location{Slices: []proto.Slice{{}, {}}}))
|
||||
|
||||
h.shardnodeClient.(*mocks.MockShardnodeAccess).EXPECT().DeleteBlobRaw(gAny, gAny, gAny).Return(nil).Times(2)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user