mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(shardnode): 1.prevent create blob with empty name
2.fix some error msg 3.fix seal and delete blob return nil when get space failed with #22977114 #22981300 #22982188 Signed-off-by: xiejian <xiejian3@oppo.com>
This commit is contained in:
parent
35140e84ff
commit
986bb6c830
@ -158,18 +158,19 @@ var errCodeMap = map[int]string{
|
||||
|
||||
CodeShardNodeNotLeader: "shardnode:not leader",
|
||||
CodeShardRangeMismatch: "shardnode:range mismatch",
|
||||
CodeShardDoesNotExist: "shardnode:does not exist",
|
||||
CodeShardDoesNotExist: "shardnode:shard does not exist",
|
||||
CodeShardNodeDiskNotFound: "shardnode:disk not found",
|
||||
CodeUnknownField: "shardnode:unknown field",
|
||||
CodeShardRouteVersionNeedUpdate: "shardnode:route version need update",
|
||||
CodeShardNoLeader: "shardnode:shard has no leader",
|
||||
CodeIllegalSlices: "shardnode:alloc with illegal slices",
|
||||
CodeIllegalSlices: "shardnode:illegal slices",
|
||||
CodeBlobAlreadyExists: "shardnode:blob already exists",
|
||||
CodeShardConflicts: "shardnode:shard conflicts",
|
||||
CodeKeySizeTooLarge: "shardnode:key size large than 32KB",
|
||||
CodeValueSizeTooLarge: "shardnode:value size large than 16MB",
|
||||
CodeKeyNotFound: "shardnode:key not found",
|
||||
CodeBlobAlreadySealed: "shardnode:blob already sealed",
|
||||
CodeBlobNameEmpty: "shardnode:blob name is empty",
|
||||
}
|
||||
|
||||
// HTTPError make rpc.HTTPError
|
||||
|
||||
@ -30,6 +30,7 @@ const (
|
||||
CodeValueSizeTooLarge = 1013
|
||||
CodeKeyNotFound = 1014
|
||||
CodeBlobAlreadySealed = 1015
|
||||
CodeBlobNameEmpty = 1016
|
||||
)
|
||||
|
||||
// 10xx
|
||||
@ -49,4 +50,5 @@ var (
|
||||
ErrValueSizeTooLarge = Error(CodeValueSizeTooLarge)
|
||||
ErrKeyNotFound = Error(CodeKeyNotFound)
|
||||
ErrBlobAlreadySealed = Error(CodeBlobAlreadySealed)
|
||||
ErrBlobNameEmpty = Error(CodeBlobNameEmpty)
|
||||
)
|
||||
|
||||
@ -24,6 +24,10 @@ import (
|
||||
)
|
||||
|
||||
func (s *service) createBlob(ctx context.Context, req *shardnode.CreateBlobArgs) (resp shardnode.CreateBlobRet, err error) {
|
||||
if len(req.Name) < 1 {
|
||||
err = apierr.ErrBlobNameEmpty
|
||||
return
|
||||
}
|
||||
if len(req.Name) > storage.MaxKeySize {
|
||||
err = apierr.ErrKeySizeTooLarge
|
||||
return
|
||||
@ -40,7 +44,7 @@ func (s *service) deleteBlob(ctx context.Context, req *shardnode.DeleteBlobArgs)
|
||||
sid := req.Header.SpaceID
|
||||
space, err := s.catalog.GetSpace(ctx, sid)
|
||||
if err != nil {
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
return space.DeleteBlob(ctx, req)
|
||||
}
|
||||
@ -49,7 +53,7 @@ func (s *service) sealBlob(ctx context.Context, req *shardnode.SealBlobArgs) err
|
||||
sid := req.Header.SpaceID
|
||||
space, err := s.catalog.GetSpace(ctx, sid)
|
||||
if err != nil {
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
return space.SealBlob(ctx, req)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user