[#9999] shard: Add limiter usage

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2025-02-05 15:57:27 +03:00
parent b870fa3377
commit 93687d8dd2
Signed by: dstepanov-yadro
GPG key ID: 237AF1A763293BC0
22 changed files with 391 additions and 67 deletions

View file

@ -53,10 +53,6 @@ func (s *Shard) Exists(ctx context.Context, prm ExistsPrm) (ExistsRes, error) {
))
defer span.End()
var exists bool
var locked bool
var err error
s.m.RLock()
defer s.m.RUnlock()
@ -64,7 +60,18 @@ func (s *Shard) Exists(ctx context.Context, prm ExistsPrm) (ExistsRes, error) {
return ExistsRes{}, ErrShardDisabled
} else if s.info.EvacuationInProgress {
return ExistsRes{}, logicerr.Wrap(new(apistatus.ObjectNotFound))
} else if s.info.Mode.NoMetabase() {
}
release, err := s.opsLimiter.ReadRequest(ctx)
if err != nil {
return ExistsRes{}, err
}
defer release()
var exists bool
var locked bool
if s.info.Mode.NoMetabase() {
var p common.ExistsPrm
p.Address = prm.Address