Do not change shard mode to DEGRADED_READ_ONLY
in case of no space left
from blobovnicza #1166
1 changed files with 4 additions and 1 deletions
|
@ -2,6 +2,7 @@ package blobovniczatree
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -108,7 +109,9 @@ func (i *putIterator) iterate(ctx context.Context, lvlPath string) (bool, error)
|
||||||
zap.String("error", err.Error()),
|
zap.String("error", err.Error()),
|
||||||
zap.String("trace_id", tracingPkg.GetTraceID(ctx)))
|
zap.String("trace_id", tracingPkg.GetTraceID(ctx)))
|
||||||
}
|
}
|
||||||
|
if errors.Is(err, blobovnicza.ErrNoSpace) {
|
||||||
|
i.AllFull = true
|
||||||
|
|||||||
|
}
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue
Again, do we exit if we received this error from at least 1 blobovnicza? Until we have vacuum I think it is not worth having this optimization, as others blobovniczas may still have free pages.
No, blobstor will try all databases:
I don't understand, why do we need this change in this PR? Is something wrong without it?
Without this change blobovnicza tree will return non logical error:
return common.PutRes{}, errPutFailed
So shard will increase error counter.
Hm, but why
iterateDeepest
return non-nil error?By design.