diff --git a/engine/datamanager.go b/engine/datamanager.go index 52781f431..64ba30957 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -22,7 +22,6 @@ import ( "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" "github.com/cgrates/ltcache" - "github.com/cgrates/rpcclient" ) var ( @@ -2958,20 +2957,10 @@ func (dm *DataManager) GetDispatcherHost(tenant, id string, cacheRead, cacheWrit } } if cacheWrite { - cfg := config.CgrConfig() - if dH.rpcConn, err = NewRPCPool( // send it wil lazy connect on true and try to connect only when the call is make - rpcclient.PoolFirst, - cfg.TlsCfg().ClientKey, - cfg.TlsCfg().ClientCerificate, cfg.TlsCfg().CaCertificate, - cfg.GeneralCfg().ConnectAttempts, cfg.GeneralCfg().Reconnects, - cfg.GeneralCfg().ConnectTimeout, cfg.GeneralCfg().ReplyTimeout, - dH.Conns, IntRPC.GetInternalChanel(), true); err != nil { + if err = Cache.Set(utils.CacheDispatcherHosts, tntID, dH, nil, + cacheCommit(transactionID), transactionID); err != nil { return nil, err } - if errCh := Cache.Set(utils.CacheDispatcherHosts, tntID, dH, nil, - cacheCommit(transactionID), transactionID); errCh != nil { - return nil, errCh - } } return } diff --git a/utils/errors.go b/utils/errors.go index 64bf5d52c..83d4b41fd 100644 --- a/utils/errors.go +++ b/utils/errors.go @@ -24,7 +24,6 @@ import ( "net" "net/rpc" "strings" - "syscall" ) var ( @@ -244,11 +243,10 @@ func IsNetworkError(err error) bool { if err == nil { return false } - if operr, ok := err.(*net.OpError); ok && - (strings.HasSuffix(operr.Err.Error(), - syscall.ECONNRESET.Error()) || - (strings.HasSuffix(operr.Err.Error(), - syscall.ECONNREFUSED.Error()))) { // connection reset + if _, isNetError := err.(*net.OpError); isNetError { // connection reset + return true + } + if _, isDNSError := err.(*net.DNSError); isDNSError { return true } return err.Error() == rpc.ErrShutdown.Error() || @@ -256,8 +254,7 @@ func IsNetworkError(err error) bool { err.Error() == ErrDisconnected.Error() || err.Error() == ErrReplyTimeout.Error() || err.Error() == ErrSessionNotFound.Error() || - strings.HasPrefix(err.Error(), "rpc: can't find service") || - strings.HasSuffix(err.Error(), "no such host") + strings.HasPrefix(err.Error(), "rpc: can't find service") } func ErrPathNotReachable(path string) error {