diff --git a/blobstore/common/rpc2/request.go b/blobstore/common/rpc2/request.go index 43da70413..e2530737f 100644 --- a/blobstore/common/rpc2/request.go +++ b/blobstore/common/rpc2/request.go @@ -86,6 +86,9 @@ func (req *Request) ParseParameter(para Unmarshaler) error { if len(req.Parameter) > 0 { return para.Unmarshal(req.Parameter[:]) } + if req.ContentLength == 0 { + return para.Unmarshal(nil) + } _, err := req.Body.WriteTo(LimitWriter(Codec2Writer(para, int(req.ContentLength)), req.ContentLength)) if err != nil { return NewError(400, "ParseParameter", err.Error()) diff --git a/blobstore/shardnode/storage/shard.go b/blobstore/shardnode/storage/shard.go index e89f7bb27..b6e8d5359 100644 --- a/blobstore/shardnode/storage/shard.go +++ b/blobstore/shardnode/storage/shard.go @@ -783,10 +783,7 @@ func (s *shard) validateUnitUpdate(node clustermgr.ShardUnit) bool { } } // prevent update shard unit not exist - if !exist { - return false - } - return true + return exist } func (s *shard) checkShardOptHeader(h OpHeader) error {