From 5d9e36d88131ea2983ce6195532dd8911c0f7e94 Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Wed, 12 Jun 2024 20:06:44 +0300 Subject: [PATCH] shard: improve logging on object putting Masked error-less shard skipping makes debugging awful, relates #2860. Signed-off-by: Pavel Karpy --- pkg/local_object_storage/engine/evacuate.go | 3 +++ pkg/local_object_storage/engine/put.go | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/pkg/local_object_storage/engine/evacuate.go b/pkg/local_object_storage/engine/evacuate.go index 3f127b75d9..dc4f116a23 100644 --- a/pkg/local_object_storage/engine/evacuate.go +++ b/pkg/local_object_storage/engine/evacuate.go @@ -148,6 +148,7 @@ mainLoop: } hrw.Sort(shards, addrHash) + for j := range shards { if _, ok := shardMap[shards[j].ID().String()]; ok { continue @@ -164,6 +165,8 @@ mainLoop: } continue loop } + + e.log.Debug("could not put to shard, trying another", zap.String("shard", shards[j].ID().String())) } if prm.handler == nil { diff --git a/pkg/local_object_storage/engine/put.go b/pkg/local_object_storage/engine/put.go index a8791f37d2..9d0874cfba 100644 --- a/pkg/local_object_storage/engine/put.go +++ b/pkg/local_object_storage/engine/put.go @@ -114,6 +114,11 @@ func (e *StorageEngine) putToShard(sh hashedShard, ind int, pool util.WorkerPool exists, err := sh.Exists(existPrm) if err != nil { + e.log.Warn("object put: check object existence", + zap.Stringer("addr", addr), + zap.Stringer("shard", sh.ID()), + zap.Error(err)) + if shard.IsErrObjectExpired(err) { // object is already found but // expired => do nothing with it @@ -138,6 +143,10 @@ func (e *StorageEngine) putToShard(sh hashedShard, ind int, pool util.WorkerPool } } + e.log.Debug("object put: object already exist", + zap.Stringer("shard", sh.ID()), + zap.Stringer("addr", addr)) + return } @@ -163,6 +172,7 @@ func (e *StorageEngine) putToShard(sh hashedShard, ind int, pool util.WorkerPool putSuccess = true }); err != nil { + e.log.Warn("object put: pool task submitting", zap.Error(err)) close(exitCh) }