mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Update rpcclient revising error handling
This commit is contained in:
committed by
Dan Christian Bogos
parent
dddd34f0db
commit
b88602cdf3
@@ -269,7 +269,7 @@ func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string,
|
||||
ev.APIOpts[k] = v // dispatcher loop protection opts
|
||||
}
|
||||
if err = d.Dispatch(dS.dm, dS.fltrS, evNm, tnt, utils.EmptyString, dR,
|
||||
serviceMethod, args, reply); !rpcclient.IsNetworkError(err) {
|
||||
serviceMethod, args, reply); !rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err) {
|
||||
return // dispatch success or specific error coming from upstream
|
||||
}
|
||||
}
|
||||
@@ -303,7 +303,7 @@ func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string,
|
||||
Tenant: dPrfl.Tenant,
|
||||
ProfileID: dPrfl.ID,
|
||||
},
|
||||
serviceMethod, args, reply); !rpcclient.IsNetworkError(err) {
|
||||
serviceMethod, args, reply); !rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ func (sd *singleResultDispatcher) Dispatch(dm *engine.DataManager, flts *engine.
|
||||
if err = callDHwithID(tnt, hostID, routeID, dRh, dm,
|
||||
serviceMethod, args, reply); err == nil ||
|
||||
(err != utils.ErrDSPHostNotFound &&
|
||||
!rpcclient.IsNetworkError(err)) { // successful dispatch with normal errors
|
||||
!rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err)) { // successful dispatch with normal errors
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
@@ -317,7 +317,7 @@ func (ld *loadDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS,
|
||||
lM.decrementLoad(dR.HostID, ld.tntID) // call ended
|
||||
if err == nil ||
|
||||
(err != utils.ErrDSPHostNotFound &&
|
||||
!rpcclient.IsNetworkError(err)) { // successful dispatch with normal errors
|
||||
!rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err)) { // successful dispatch with normal errors
|
||||
return
|
||||
}
|
||||
// not found or network errors will continue with standard dispatching
|
||||
@@ -345,7 +345,7 @@ func (ld *loadDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS,
|
||||
lM.decrementLoad(hostID, ld.tntID) // call ended
|
||||
if err == nil ||
|
||||
(err != utils.ErrDSPHostNotFound &&
|
||||
!rpcclient.IsNetworkError(err)) { // successful dispatch with normal errors
|
||||
!rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err)) { // successful dispatch with normal errors
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
@@ -457,7 +457,7 @@ func callDH(dh *engine.DispatcherHost, routeID string, dR *DispatcherRoute,
|
||||
GroupIDs: []string{utils.ConcatenatedKey(utils.CacheDispatcherProfiles, dR.Tenant, dR.ProfileID)},
|
||||
}
|
||||
if err = engine.Cache.SetWithReplicate(argsCache); err != nil {
|
||||
if !rpcclient.IsNetworkError(err) {
|
||||
if !rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err) {
|
||||
return
|
||||
}
|
||||
// did not dispatch properly, fail-back to standard dispatching
|
||||
|
||||
@@ -195,7 +195,7 @@ func testDspResponderBroadcast(t *testing.T) {
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
pingReply = ""
|
||||
if err := dispEngine.RPC.Call(context.Background(), utils.ResponderPing, pingEv, &pingReply); err == nil ||
|
||||
!rpcclient.IsNetworkError(err) {
|
||||
!rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err) {
|
||||
t.Errorf("Expected error: %s received error: %v and reply %q", utils.ErrPartiallyExecuted.Error(), err, pingReply)
|
||||
}
|
||||
allEngine.startEngine(t)
|
||||
|
||||
@@ -183,7 +183,7 @@ func (cM *ConnManager) Call(ctx *context.Context, connIDs []string, method strin
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
if err = conn.Call(ctx, method, arg, reply); !rpcclient.IsNetworkError(err) {
|
||||
if err = conn.Call(ctx, method, arg, reply); !rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err) {
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -222,7 +222,7 @@ func (cM *ConnManager) CallWithConnIDs(connIDs []string, subsHostIDs utils.Strin
|
||||
if conn, err = cM.getConnWithConfig(context.TODO(), connID, newCfg, nil); err != nil {
|
||||
continue
|
||||
}
|
||||
if err = conn.Call(context.TODO(), method, arg, reply); !rpcclient.IsNetworkError(err) {
|
||||
if err = conn.Call(context.TODO(), method, arg, reply); !!rpcclient.IsConnectionErr(err) && !rpcclient.IsServiceErr(err) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
6
go.mod
6
go.mod
@@ -1,6 +1,6 @@
|
||||
module github.com/cgrates/cgrates
|
||||
|
||||
go 1.22.3
|
||||
go 1.22.4
|
||||
|
||||
// replace github.com/cgrates/radigo => ../radigo
|
||||
|
||||
@@ -25,7 +25,7 @@ require (
|
||||
github.com/cgrates/kamevapi v0.0.0-20240307160311-26273f03eedf
|
||||
github.com/cgrates/ltcache v0.0.0-20240411152156-e673692056db
|
||||
github.com/cgrates/radigo v0.0.0-20240123163129-491c899df727
|
||||
github.com/cgrates/rpcclient v0.0.0-20230605090759-8bb5188b73e5
|
||||
github.com/cgrates/rpcclient v0.0.0-20240628101047-cb29aae6b006
|
||||
github.com/cgrates/sipingo v1.0.1-0.20200514112313-699ebc1cdb8e
|
||||
github.com/creack/pty v1.1.20
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
||||
@@ -81,7 +81,7 @@ require (
|
||||
github.com/blevesearch/zapx/v14 v14.3.10 // indirect
|
||||
github.com/blevesearch/zapx/v15 v15.3.13 // indirect
|
||||
github.com/blevesearch/zapx/v16 v16.0.12 // indirect
|
||||
github.com/cenkalti/hub v1.0.1 // indirect
|
||||
github.com/cenkalti/hub v1.0.2 // indirect
|
||||
github.com/couchbase/ghistogram v0.1.0 // indirect
|
||||
github.com/couchbase/moss v0.2.0 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
|
||||
8
go.sum
8
go.sum
@@ -55,10 +55,10 @@ github.com/blevesearch/zapx/v15 v15.3.13 h1:6EkfaZiPlAxqXz0neniq35my6S48QI94W/wy
|
||||
github.com/blevesearch/zapx/v15 v15.3.13/go.mod h1:Turk/TNRKj9es7ZpKK95PS7f6D44Y7fAFy8F4LXQtGg=
|
||||
github.com/blevesearch/zapx/v16 v16.0.12 h1:Uccxvjmn+hQ6ywQP+wIiTpdq9LnAviGoryJOmGwAo/I=
|
||||
github.com/blevesearch/zapx/v16 v16.0.12/go.mod h1:MYnOshRfSm4C4drxx1LGRI+MVFByykJ2anDY1fxdk9Q=
|
||||
github.com/cenk/hub v1.0.1 h1:RBwXNOF4a8KjD8BJ08XqN8KbrqaGiQLDrgvUGJSHuPA=
|
||||
github.com/cenk/hub v1.0.1/go.mod h1:rJM1LNAW0ppT8FMMuPK6c2NP/R2nH/UthtuRySSaf6Y=
|
||||
github.com/cenkalti/hub v1.0.1 h1:UMtjc6dHSaOQTO15SVA50MBIR9zQwvsukQupDrkIRtg=
|
||||
github.com/cenkalti/hub v1.0.1/go.mod h1:tcYwtS3a2d9NO/0xDXVJWx3IedurUjYCqFCmpi0lpHs=
|
||||
github.com/cenkalti/hub v1.0.2 h1:Nqv9TNaA9boeO2wQFW8o87BY3zKthtnzXmWGmJqhAV8=
|
||||
github.com/cenkalti/hub v1.0.2/go.mod h1:8LAFAZcCasb83vfxatMUnZHRoQcffho2ELpHb+kaTJU=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/cgrates/aringo v0.0.0-20220525160735-b5990313d99e h1:jbScwE0ebeCBD9CsuCfqMv2oC2KUf+FxEePBxAaF1cQ=
|
||||
github.com/cgrates/aringo v0.0.0-20220525160735-b5990313d99e/go.mod h1:v+wPvWvfle06wQ7WBJZGXvrF+CWA0CrReh+c3PuXaAU=
|
||||
@@ -76,8 +76,8 @@ github.com/cgrates/ltcache v0.0.0-20240411152156-e673692056db h1:JRgzMS5kJ1Wxave
|
||||
github.com/cgrates/ltcache v0.0.0-20240411152156-e673692056db/go.mod h1:jVYq943GCWxhXXxi/1NthN9ATeyFUSbwJRbN/bb+ADQ=
|
||||
github.com/cgrates/radigo v0.0.0-20240123163129-491c899df727 h1:rhYHlbfEPDNreekd1ZtUYi/NbFm5cEl8twQZ3c/0nYU=
|
||||
github.com/cgrates/radigo v0.0.0-20240123163129-491c899df727/go.mod h1:W/5LcOm9jaz0NfIFT09bxjddEai8DTSfw9poqDqtAX4=
|
||||
github.com/cgrates/rpcclient v0.0.0-20230605090759-8bb5188b73e5 h1:GhA5qBUK7o0j+7fi1GACKnT454pv/LfCjoI52vFIz3E=
|
||||
github.com/cgrates/rpcclient v0.0.0-20230605090759-8bb5188b73e5/go.mod h1:tDqS6BieViKYpz696//gxseUN1b92hPHqk+w0CzY8AE=
|
||||
github.com/cgrates/rpcclient v0.0.0-20240628101047-cb29aae6b006 h1:HxmDpmCesrwbi+ag/4+PDRhuSy0gpemMRQ19fAWmDTE=
|
||||
github.com/cgrates/rpcclient v0.0.0-20240628101047-cb29aae6b006/go.mod h1:WxTEIJvgI4c3eiPWW0WeAhHGd49Oi1Voe9lahotJiNo=
|
||||
github.com/cgrates/sipingo v1.0.1-0.20200514112313-699ebc1cdb8e h1:izFjZB83/XRXInc+gMIssUxdbleGsGIuGCPj2u7RQo0=
|
||||
github.com/cgrates/sipingo v1.0.1-0.20200514112313-699ebc1cdb8e/go.mod h1:0f2+3dq5Iiv3VlcuY83VPJ0QzqRlzDG1Cr8okogQE3g=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
|
||||
Reference in New Issue
Block a user