server/grpc: fix ordering of register and check for registered (#1338)
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
05b18c03dc
commit
d83b49c634
18
grpc.go
18
grpc.go
@ -659,11 +659,13 @@ func (g *grpcServer) Register() error {
|
||||
registered := g.registered
|
||||
g.Unlock()
|
||||
|
||||
if !registered {
|
||||
if registered {
|
||||
return nil
|
||||
}
|
||||
|
||||
if logger.V(logger.InfoLevel, logger.DefaultLogger) {
|
||||
logger.Infof("Registry [%s] Registering node: %s", config.Registry.String(), node.Id)
|
||||
}
|
||||
}
|
||||
|
||||
// create registry options
|
||||
rOpts := []registry.RegisterOption{registry.RegisterTTL(config.RegisterTTL)}
|
||||
@ -672,11 +674,6 @@ func (g *grpcServer) Register() error {
|
||||
return err
|
||||
}
|
||||
|
||||
// already registered? don't need to register subscribers
|
||||
if registered {
|
||||
return nil
|
||||
}
|
||||
|
||||
g.Lock()
|
||||
defer g.Unlock()
|
||||
|
||||
@ -787,10 +784,10 @@ func (g *grpcServer) Start() error {
|
||||
g.RUnlock()
|
||||
return nil
|
||||
}
|
||||
g.RUnlock()
|
||||
|
||||
config := g.Options()
|
||||
|
||||
g.RUnlock()
|
||||
|
||||
// micro: config.Transport.Listen(config.Address)
|
||||
var ts net.Listener
|
||||
|
||||
@ -822,10 +819,11 @@ func (g *grpcServer) Start() error {
|
||||
}
|
||||
g.Lock()
|
||||
g.opts.Address = ts.Addr().String()
|
||||
subscribes := g.subscribers
|
||||
g.Unlock()
|
||||
|
||||
// only connect if we're subscribed
|
||||
if len(g.subscribers) > 0 {
|
||||
if len(subscribes) > 0 {
|
||||
// connect to the broker
|
||||
if err := config.Broker.Connect(); err != nil {
|
||||
return err
|
||||
|
Loading…
Reference in New Issue
Block a user