diff --git a/pkg/webconsole/session/session.go b/pkg/webconsole/session/session.go index 87d7f97ebe..6aadbe9e24 100644 --- a/pkg/webconsole/session/session.go +++ b/pkg/webconsole/session/session.go @@ -18,6 +18,7 @@ import ( "fmt" "math/rand" "net/url" + "reflect" "sync" "time" @@ -136,7 +137,11 @@ func (s *SSession) Close() error { if err := s.ISessionData.Cleanup(); err != nil { log.Errorf("Clean up command error: %v", err) } - Manager.Delete(s.Id) + if curS, ok := Manager.Load(s.GetId()); ok { + if reflect.DeepEqual(curS, s) { + Manager.Delete(s.Id) + } + } return nil }