From 2c2cbe89c275e7ff86d37801fef2940640f73b63 Mon Sep 17 00:00:00 2001 From: Zhen Ye Date: Fri, 26 Dec 2025 14:25:18 +0800 Subject: [PATCH] fix: flush log when os exit (#46608) issue: #45640 Signed-off-by: chyezh --- cmd/components/util.go | 1 + internal/util/sessionutil/session_util.go | 3 +++ 2 files changed, 4 insertions(+) diff --git a/cmd/components/util.go b/cmd/components/util.go index f79d5a7e5c..44ec364420 100644 --- a/cmd/components/util.go +++ b/cmd/components/util.go @@ -28,6 +28,7 @@ func exitWhenStopTimeout(stop func() error, timeout time.Duration) error { zap.String("component", paramtable.GetRole()), zap.Duration("cost", time.Since(start)), zap.Error(err)) + log.Cleanup() os.Exit(1) } return err diff --git a/internal/util/sessionutil/session_util.go b/internal/util/sessionutil/session_util.go index 9cf7ea5d96..9a3ff7b143 100644 --- a/internal/util/sessionutil/session_util.go +++ b/internal/util/sessionutil/session_util.go @@ -622,16 +622,19 @@ func (s *Session) checkKeepaliveTTL(nextKeepaliveInstant time.Time) error { if err != nil { if errors.Is(err, v3rpc.ErrLeaseNotFound) { s.Logger().Error("confirm the lease is not found, the session is expired without activing closing", zap.Error(err)) + log.Cleanup() os.Exit(exitCodeSessionLeaseExpired) } if ctx.Err() != nil && errors.Is(context.Cause(ctx), errSessionExpiredAtClientSide) { s.Logger().Error("session expired at client side, the session is expired without activing closing", zap.Error(err)) + log.Cleanup() os.Exit(exitCodeSessionLeaseExpired) } return errors.Wrap(err, "failed to check TTL") } if ttlResp.TTL <= 0 { s.Logger().Error("confirm the lease is expired, the session is expired without activing closing", zap.Error(err)) + log.Cleanup() os.Exit(exitCodeSessionLeaseExpired) } s.Logger().Info("check TTL success, try to keep alive...", zap.Int64("ttl", ttlResp.TTL))