forked from TrueCloudLab/frostfs-node
[#195] services/object: Write debug log messages on internal service errors
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
6a5c37d592
commit
fa6e4a3ca4
7 changed files with 41 additions and 14 deletions
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/core/netmap"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
svcutil "github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
@ -62,7 +62,7 @@ func (h *distributedHeader) prepare(ctx context.Context, prm *Prm) error {
|
|||
|
||||
if prm.common.LocalOnly() {
|
||||
// use local-only placement builder
|
||||
builder = util.NewLocalPlacement(builder, h.localAddrSrc)
|
||||
builder = svcutil.NewLocalPlacement(builder, h.localAddrSrc)
|
||||
}
|
||||
|
||||
// set placement builder
|
||||
|
@ -106,7 +106,7 @@ loop:
|
|||
|
||||
if network.IsLocalAddress(h.localAddrSrc, addr) {
|
||||
if err := h.localHeader.head(ctx, prm, h.w.write); err != nil {
|
||||
// TODO: log error
|
||||
svcutil.LogServiceError(h.log, "HEAD", addr, err)
|
||||
}
|
||||
|
||||
return
|
||||
|
@ -117,7 +117,8 @@ loop:
|
|||
node: addr,
|
||||
})
|
||||
if err != nil {
|
||||
// TODO: log error
|
||||
svcutil.LogServiceError(h.log, "HEAD", addr, err)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,11 @@ import (
|
|||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/core/object"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||
svcutil "github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/transformer"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/util"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
|
@ -23,6 +25,8 @@ type distributedTarget struct {
|
|||
nodeTargetInitializer func(*network.Address) transformer.ObjectTarget
|
||||
|
||||
fmt *object.FormatValidator
|
||||
|
||||
log *logger.Logger
|
||||
}
|
||||
|
||||
var errIncompletePut = errors.New("incomplete object put")
|
||||
|
@ -85,10 +89,14 @@ loop:
|
|||
target := t.nodeTargetInitializer(addr)
|
||||
|
||||
if err := target.WriteHeader(t.obj); err != nil {
|
||||
// TODO: log error
|
||||
svcutil.LogServiceError(t.log, "PUT", addr,
|
||||
errors.Wrap(err, "could not write header"))
|
||||
|
||||
return
|
||||
} else if _, err := target.Close(); err != nil {
|
||||
// TODO: log error
|
||||
svcutil.LogServiceError(t.log, "PUT", addr,
|
||||
errors.Wrap(err, "could not close object stream"))
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -148,6 +148,7 @@ func (p *Streamer) newCommonTarget(prm *PutInitPrm) transformer.ObjectTarget {
|
|||
}
|
||||
},
|
||||
fmt: p.fmtValidator,
|
||||
log: p.log,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"github.com/nspcc-dev/neofs-api-go/pkg/object"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/core/netmap"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
svcutil "github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
@ -28,7 +28,7 @@ type streamer struct {
|
|||
|
||||
traverser *placement.Traverser
|
||||
|
||||
rangeTraverser *util.RangeTraverser
|
||||
rangeTraverser *svcutil.RangeTraverser
|
||||
|
||||
ch chan []byte
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func (p *streamer) switchToObject(id *object.ID) error {
|
|||
|
||||
if p.prm.common.LocalOnly() {
|
||||
// use local-only placement builder
|
||||
builder = util.NewLocalPlacement(builder, p.localAddrSrc)
|
||||
builder = svcutil.NewLocalPlacement(builder, p.localAddrSrc)
|
||||
}
|
||||
|
||||
// set placement builder
|
||||
|
@ -194,7 +194,7 @@ loop:
|
|||
ch: p.ch,
|
||||
})
|
||||
if err != nil {
|
||||
// TODO: log error
|
||||
svcutil.LogServiceError(p.log, "RANGE", addr, err)
|
||||
}
|
||||
|
||||
ln := nextRange.GetLength()
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/core/netmap"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
svcutil "github.com/nspcc-dev/neofs-node/pkg/services/object/util"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
@ -60,7 +60,7 @@ func (h *distributedHasher) prepare(ctx context.Context, prm *Prm) error {
|
|||
|
||||
if prm.common.LocalOnly() {
|
||||
// use local-only placement builder
|
||||
builder = util.NewLocalPlacement(builder, h.localAddrSrc)
|
||||
builder = svcutil.NewLocalPlacement(builder, h.localAddrSrc)
|
||||
}
|
||||
|
||||
// set placement builder
|
||||
|
@ -119,7 +119,8 @@ loop:
|
|||
}
|
||||
|
||||
if err := hasher.hashRange(ctx, prm, w.write); err != nil {
|
||||
// TODO: log error
|
||||
svcutil.LogServiceError(h.log, "RANGEHASH", addr, err)
|
||||
|
||||
return
|
||||
}
|
||||
}); err != nil {
|
||||
|
|
|
@ -169,7 +169,7 @@ loop:
|
|||
}
|
||||
|
||||
if err := streamer.stream(p.ctx, p.ch); err != nil {
|
||||
// TODO: log error
|
||||
util.LogServiceError(p.log, "SEARCH", addr, err)
|
||||
}
|
||||
}); err != nil {
|
||||
wg.Done()
|
||||
|
|
16
pkg/services/object/util/log.go
Normal file
16
pkg/services/object/util/log.go
Normal file
|
@ -0,0 +1,16 @@
|
|||
package util
|
||||
|
||||
import (
|
||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// LogServiceError writes debug error message of object service to provided logger.
|
||||
func LogServiceError(l *logger.Logger, req string, node *network.Address, err error) {
|
||||
l.Debug("object service error",
|
||||
zap.Stringer("node", node),
|
||||
zap.String("request", req),
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
}
|
Loading…
Reference in a new issue