From 85796db94b5481e6249d2de07b82cb5303260c31 Mon Sep 17 00:00:00 2001 From: dongmen <414110582@qq.com> Date: Sat, 11 May 2024 15:34:10 +0800 Subject: [PATCH] lock_resolver (ticdc):only log when there are locks to reduce verbose log --- pkg/txnutil/lock_resolver.go | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/pkg/txnutil/lock_resolver.go b/pkg/txnutil/lock_resolver.go index dfdbf4f9482..6184dc00457 100644 --- a/pkg/txnutil/lock_resolver.go +++ b/pkg/txnutil/lock_resolver.go @@ -16,6 +16,7 @@ package txnutil import ( "bytes" "context" + "time" "github.com/pingcap/errors" "github.com/pingcap/kvproto/pkg/kvrpcpb" @@ -51,22 +52,24 @@ func NewLockerResolver( const scanLockLimit = 1024 func (r *resolver) Resolve(ctx context.Context, regionID uint64, maxVersion uint64) (err error) { - var lockCount int = 0 + var totalLocks []*txnkv.Lock - log.Info("resolve lock starts", - zap.Uint64("regionID", regionID), - zap.Uint64("maxVersion", maxVersion), - zap.String("namespace", r.changefeed.Namespace), - zap.String("changefeed", r.changefeed.ID)) + start := time.Now() defer func() { - log.Info("resolve lock finishes", - zap.Uint64("regionID", regionID), - zap.Int("lockCount", lockCount), - zap.Uint64("maxVersion", maxVersion), - zap.String("namespace", r.changefeed.Namespace), - zap.String("changefeed", r.changefeed.ID), - zap.Error(err)) + // Only log when there are locks or error to avoid log flooding. + if len(totalLocks) != 0 || err != nil { + cost := time.Since(start) + log.Info("resolve lock finishes", + zap.Uint64("regionID", regionID), + zap.Int("lockCount", len(totalLocks)), + zap.Any("locks", totalLocks), + zap.Uint64("maxVersion", maxVersion), + zap.String("namespace", r.changefeed.Namespace), + zap.String("changefeed", r.changefeed.ID), + zap.Duration("duration", cost), + zap.Error(err)) + } }() // TODO test whether this function will kill active transaction @@ -127,7 +130,7 @@ func (r *resolver) Resolve(ctx context.Context, regionID uint64, maxVersion uint for i := range locksInfo { locks[i] = txnkv.NewLock(locksInfo[i]) } - lockCount += len(locksInfo) + totalLocks = append(totalLocks, locks...) _, err1 := r.kvStorage.GetLockResolver().ResolveLocks(bo, 0, locks) if err1 != nil {