[#959] writecache: Avoid manipulation with cache in DEGRADED
mode
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
This commit is contained in:
parent
d433b49265
commit
3195142d67
6 changed files with 35 additions and 1 deletions
|
@ -29,6 +29,14 @@ func (c *cache) Get(ctx context.Context, addr oid.Address) (*objectSDK.Object, e
|
|||
))
|
||||
defer span.End()
|
||||
|
||||
if !c.modeMtx.TryRLock() {
|
||||
return nil, ErrNotInitialized
|
||||
}
|
||||
defer c.modeMtx.RUnlock()
|
||||
if c.mode.NoMetabase() {
|
||||
return nil, ErrDegraded
|
||||
}
|
||||
|
||||
obj, err := c.getInternal(ctx, saddr, addr)
|
||||
return obj, metaerr.Wrap(err)
|
||||
}
|
||||
|
@ -71,6 +79,14 @@ func (c *cache) Head(ctx context.Context, addr oid.Address) (*objectSDK.Object,
|
|||
))
|
||||
defer span.End()
|
||||
|
||||
if !c.modeMtx.TryRLock() {
|
||||
return nil, ErrNotInitialized
|
||||
}
|
||||
defer c.modeMtx.RUnlock()
|
||||
if c.mode.NoMetabase() {
|
||||
return nil, ErrDegraded
|
||||
}
|
||||
|
||||
obj, err := c.getInternal(ctx, saddr, addr)
|
||||
if err != nil {
|
||||
return nil, metaerr.Wrap(err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue