code: func (s *Server) Kill(connectionID uint64, query bool) {
  	s.rwlock.Lock()
  	defer s.rwlock.Unlock()
  	logutil.Logger(context.Background()).Info("kill", zap.Uint64("connID", connectionID), zap.Bool("query", query))
  	metrics.ServerEventCounter.WithLabelValues(metrics.EventKill).Inc()
  
  	conn, ok := s.clients[uint32(connectionID)]
  	if !ok {
  		return
  	}
  
  	if !query {
  		// Mark the client connection status as WaitShutdown, when the goroutine detect
  		// this, it will end the dispatch loop and exit.
  		atomic.StoreInt32(&conn.status, connStatusWaitShutdown)
  	}
  	killConn(conn)
  }
docs: // Kill implements the SessionManager interface.