diff --git a/registry/base_registry.go b/registry/base_registry.go index 8e13a522c48808f69b63760291950e1395d1dbff..3e1bddf233310871182544b6415c10c8df27e622 100644 --- a/registry/base_registry.go +++ b/registry/base_registry.go @@ -117,14 +117,10 @@ func (r *BaseRegistry) GetUrl() common.URL { func (r *BaseRegistry) Destroy() { //first step close registry's all listeners r.facadeBasedRegistry.CloseListener() - logger.Info("1---") // then close r.done to notify other program who listen to it close(r.done) - logger.Info("2---") - // wait waitgroup done (wait listeners outside close over) r.wg.Wait() - logger.Info("3---") //close registry client r.closeRegisters() diff --git a/registry/zookeeper/listener.go b/registry/zookeeper/listener.go index 63c8d37a4300f82f836ef0e87be05e98e8b5c24a..c5b2f33c6107e82aa172c818c0d8aca1483248c6 100644 --- a/registry/zookeeper/listener.go +++ b/registry/zookeeper/listener.go @@ -93,7 +93,6 @@ func (l *RegistryDataListener) DataChange(eventType remoting.Event) bool { // Close all RegistryConfigurationListener in subscribed func (l *RegistryDataListener) Close() { l.mutex.Lock() - logger.Info("Close all reg") defer l.mutex.Unlock() for _, listener := range l.subscribed { listener.(*RegistryConfigurationListener).Close() @@ -126,14 +125,13 @@ func (l *RegistryConfigurationListener) Next() (*registry.ServiceEvent, error) { for { select { case <-l.client.Done(): - logger.Warnf("listener's zk client connection is broken, so zk event listener exit now.") - return nil, perrors.New("listener stopped") - + logger.Warnf("listener's zk client connection (address {%s}) is broken, so zk event listener exit now.", l.client.ZkAddrs) + return nil, perrors.New("zookeeper client stopped") case <-l.close: - return nil, perrors.New("listener closed") + return nil, perrors.New("listener have been closed") case <-l.registry.Done(): - logger.Warnf("zk consumer register has quit, so zk event listener exit now.") - return nil, perrors.New("listener stopped") + logger.Warnf("zk consumer register has quit, so zk event listener exit now. (registry url {%v}", l.registry.BaseRegistry.URL) + return nil, perrors.New("zookeeper registry, (registry url{%v}) stopped") case e := <-l.events: logger.Debugf("got zk event %s", e) if e.ConfigType == remoting.EventTypeDel && !l.valid() { diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go index 3ab841b899744bc4623255cd46aa1cbe34c7f830..88d5d6221b4bc7136ba4c3e7c95fb53ba35a9a58 100644 --- a/registry/zookeeper/registry.go +++ b/registry/zookeeper/registry.go @@ -154,7 +154,6 @@ func (r *zkRegistry) DoSubscribe(conf *common.URL) (registry.Listener, error) { } func (r *zkRegistry) CloseAndNilClient() { - logger.Info("c") r.client.Close() r.client = nil } diff --git a/remoting/zookeeper/client.go b/remoting/zookeeper/client.go index 39812841d7befe24fb85c55c79df5537350cf595..c788bc4c1157bc0c8e10fa5bb723cc0cc56f791d 100644 --- a/remoting/zookeeper/client.go +++ b/remoting/zookeeper/client.go @@ -157,7 +157,7 @@ func ValidateZookeeperClient(container zkClientFacade, opts ...Option) error { } if connected { - logger.Info("sdsds") + logger.Info("Connect to zookeeper successfully, name{%s}, zk address{%v}", opions.zkName, url.Location) container.WaitGroup().Add(1) //zk client start successful, then registry wg +1 } diff --git a/remoting/zookeeper/facade_test.go b/remoting/zookeeper/facade_test.go index a41f6cd3230700332519ce1c2d3489bfcc4b6ef0..01d46da6cc1abae90210a323d32ac84bad80249b 100644 --- a/remoting/zookeeper/facade_test.go +++ b/remoting/zookeeper/facade_test.go @@ -38,6 +38,16 @@ type mockFacade struct { done chan struct{} } +func newMockFacade(client *ZookeeperClient, url *common.URL) zkClientFacade { + mock := &mockFacade{ + client: client, + URL: url, + } + + mock.wg.Add(1) + return mock +} + func (r *mockFacade) ZkClient() *ZookeeperClient { return r.client } @@ -80,7 +90,7 @@ func Test_Facade(t *testing.T) { assert.NoError(t, err) defer ts.Stop() url, _ := common.NewURL("mock://127.0.0.1") - mock := &mockFacade{client: z, URL: &url} + mock := newMockFacade(z, &url) go HandleClientRestart(mock) states := []zk.State{zk.StateConnecting, zk.StateConnected, zk.StateHasSession} verifyEventStateOrder(t, event, states, "event channel")