diff --git a/remoting/zookeeper/client.go b/remoting/zookeeper/client.go
index 4df4a2b20cd71f5b859c77b5ee01303b41db0718..42dfbe5ad7a0643ed4045986ef4b4a36fd12af17 100644
--- a/remoting/zookeeper/client.go
+++ b/remoting/zookeeper/client.go
@@ -63,7 +63,6 @@ type ZookeeperClient struct {
 	Wait              sync.WaitGroup
 	valid             uint32
 	reconnectCh       chan struct{}
-	closeCh           chan struct{}
 	eventRegistry     map[string][]*chan struct{}
 	eventRegistryLock sync.RWMutex
 }
@@ -178,7 +177,6 @@ func NewZookeeperClient(name string, zkAddrs []string, timeout time.Duration) (*
 		ZkAddrs:       zkAddrs,
 		Timeout:       timeout,
 		reconnectCh:   make(chan struct{}),
-		closeCh:       make(chan struct{}),
 		eventRegistry: make(map[string][]*chan struct{}),
 	}
 	// connect to zookeeper
@@ -213,7 +211,6 @@ func NewMockZookeeperClient(name string, timeout time.Duration, opts ...Option)
 		ZkAddrs:       []string{},
 		Timeout:       timeout,
 		reconnectCh:   make(chan struct{}),
-		closeCh:       make(chan struct{}),
 		eventRegistry: make(map[string][]*chan struct{}),
 	}
 
@@ -603,11 +600,6 @@ func (z *ZookeeperClient) Reconnect() <-chan struct{} {
 	return z.reconnectCh
 }
 
-// CloseConn gets zookeeper client close event
-func (z *ZookeeperClient) CloseConn() <-chan struct{} {
-	return z.closeCh
-}
-
 // In my opinion, this method should never called by user, here just for lint
 func (z *ZookeeperClient) Close() {
 	z.Conn.Close()
diff --git a/remoting/zookeeper/facade.go b/remoting/zookeeper/facade.go
index 4aa327fb0dc99d75e30e75a7bbb7b3e7fbf0841b..b2e350f00eea78b1e74c4acf4cf25dcac16a091d 100644
--- a/remoting/zookeeper/facade.go
+++ b/remoting/zookeeper/facade.go
@@ -48,9 +48,6 @@ func HandleClientRestart(r ZkClientFacade) {
 		case <-r.Done():
 			logger.Warnf("receive registry destroy event, quit client restart handler")
 			return
-		case <-r.ZkClient().CloseConn():
-			logger.Warnf("receive zk client close event, quit client restart handler")
-			return
 		}
 	}
 }
diff --git a/remoting/zookeeper/facade_test.go b/remoting/zookeeper/facade_test.go
index dd01fc21a2617f1e5a1bd5f5479ff5d179889534..3fbecf79f4c804198c9b63cb47d2df3fe928b0ba 100644
--- a/remoting/zookeeper/facade_test.go
+++ b/remoting/zookeeper/facade_test.go
@@ -100,6 +100,4 @@ func Test_Facade(t *testing.T) {
 	go HandleClientRestart(mock)
 	states := []zk.State{zk.StateConnecting, zk.StateConnected, zk.StateHasSession}
 	verifyEventStateOrder(t, event, states, "event channel")
-	verifyEventStateOrder(t, event, []zk.State{zk.StateDisconnected}, "event channel")
-	//time.Sleep(2e9)
 }