mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-12 04:55:59 +08:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user