fix: init grpc conn multiple in one process will cause zero address when rpc is called (#604)

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* MsgDestructTime

* fix bug: msg destruct sql

* fix bug: msg destruct

* fix bug: msg destruct

* fix bug: msg destruct sql

* fix bug: msg destruct sql

* fix bug: msg destruct sql

* fix bug: msg destruct sql

* debug: print stack

* debug: print stack

* debug: print stack

* fix bug: msg destruct sql

Signed-off-by: wangchuxiao <wangchuxiao97@outlook.com>

* fix bug: msg notification self 2 self push twice

* fix bug: heartbeat get self notification

* fix bug: init grpc conn in one process

* fix bug: grpc conn

Signed-off-by: wangchuxiao <wangchuxiao97@outlook.com>

* fix bug: zk client recreate node when reconn

* fix bug: set friend mark args error

---------

Signed-off-by: wangchuxiao <wangchuxiao97@outlook.com>
This commit is contained in:
WangchuXiao
2023-07-20 16:28:58 +08:00
committed by GitHub
parent 4629b03272
commit 7ee40bd485
5 changed files with 36 additions and 14 deletions
+15 -5
View File
@@ -30,6 +30,14 @@ func (s *ZkClient) CreateRpcRootNodes(serviceNames []string) error {
return nil
}
func (s *ZkClient) CreateTempNode(rpcRegisterName, addr string) (node string, err error) {
return s.conn.CreateProtectedEphemeralSequential(
s.getPath(rpcRegisterName)+"/"+addr+"_",
[]byte(addr),
zk.WorldACL(zk.PermAll),
)
}
func (s *ZkClient) Register(rpcRegisterName, host string, port int, opts ...grpc.DialOption) error {
if err := s.ensureName(rpcRegisterName); err != nil {
return err
@@ -39,15 +47,14 @@ func (s *ZkClient) Register(rpcRegisterName, host string, port int, opts ...grpc
if err != nil {
return err
}
node, err := s.conn.CreateProtectedEphemeralSequential(
s.getPath(rpcRegisterName)+"/"+addr+"_",
[]byte(addr),
zk.WorldACL(zk.PermAll),
)
node, err := s.CreateTempNode(rpcRegisterName, addr)
if err != nil {
return err
}
s.rpcRegisterName = rpcRegisterName
s.rpcRegisterAddr = addr
s.node = node
s.isRegistered = true
return nil
}
@@ -60,6 +67,9 @@ func (s *ZkClient) UnRegister() error {
}
time.Sleep(time.Second)
s.node = ""
s.rpcRegisterName = ""
s.rpcRegisterAddr = ""
s.isRegistered = false
s.localConns = make(map[string][]grpc.ClientConnInterface)
s.resolvers = make(map[string]*Resolver)
return nil