forked from TrueCloudLab/frostfs-node
[#1295] engine: Log object address in case of error
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
327d364f34
commit
eeca796d2e
8 changed files with 23 additions and 16 deletions
|
@ -13,6 +13,7 @@ import (
|
|||
oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var errLockFailed = errors.New("lock operation failed")
|
||||
|
@ -90,14 +91,16 @@ func (e *StorageEngine) lockSingle(ctx context.Context, idCnr cid.ID, locker, lo
|
|||
var objID oid.ID
|
||||
err = objID.ReadFromV2(chunk.ID)
|
||||
if err != nil {
|
||||
e.reportShardError(sh, "could not lock object in shard", err)
|
||||
e.reportShardError(sh, "could not lock object in shard", err, zap.Stringer("container_id", idCnr),
|
||||
zap.Stringer("locker_id", locker), zap.Stringer("locked_id", locked))
|
||||
return false
|
||||
}
|
||||
eclocked = append(eclocked, objID)
|
||||
}
|
||||
err = sh.Lock(ctx, idCnr, locker, eclocked)
|
||||
if err != nil {
|
||||
e.reportShardError(sh, "could not lock object in shard", err)
|
||||
e.reportShardError(sh, "could not lock object in shard", err, zap.Stringer("container_id", idCnr),
|
||||
zap.Stringer("locker_id", locker), zap.Stringer("locked_id", locked))
|
||||
return false
|
||||
}
|
||||
root = true
|
||||
|
@ -109,7 +112,8 @@ func (e *StorageEngine) lockSingle(ctx context.Context, idCnr cid.ID, locker, lo
|
|||
return true
|
||||
}
|
||||
|
||||
e.reportShardError(sh, "could not check locked object for presence in shard", err)
|
||||
e.reportShardError(sh, "could not check locked object for presence in shard", err, zap.Stringer("container_id", idCnr),
|
||||
zap.Stringer("locker_id", locker), zap.Stringer("locked_id", locked))
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -121,7 +125,8 @@ func (e *StorageEngine) lockSingle(ctx context.Context, idCnr cid.ID, locker, lo
|
|||
|
||||
err := sh.Lock(ctx, idCnr, locker, []oid.ID{locked})
|
||||
if err != nil {
|
||||
e.reportShardError(sh, "could not lock object in shard", err)
|
||||
e.reportShardError(sh, "could not lock object in shard", err, zap.Stringer("container_id", idCnr),
|
||||
zap.Stringer("locker_id", locker), zap.Stringer("locked_id", locked))
|
||||
|
||||
var errIrregular *apistatus.LockNonRegularObject
|
||||
if errors.As(err, &errIrregular) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue