Speedup SMG replication, small fix in servmanager

This commit is contained in:
DanB
2017-02-09 16:15:39 +01:00
parent c6d07d6701
commit 205c8fbb22
2 changed files with 7 additions and 6 deletions

View File

@@ -85,8 +85,8 @@ func (srvMngr *ServiceManager) StopScheduler() error {
srvMngr.Unlock()
if sched == nil {
return utils.NewCGRError(utils.ServiceManager,
utils.CapitalizedMessage(utils.ServiceAlreadyRunning),
utils.ServiceAlreadyRunning,
utils.CapitalizedMessage(utils.ServiceNotRunning),
utils.ServiceNotRunning,
"the scheduler is not running")
}
srvMngr.cfg.SchedulerEnabled = false

View File

@@ -460,7 +460,8 @@ func (smg *SMGeneric) sessionRelocate(initialID, cgrID, newOriginID string) erro
// replicateSessions will replicate session based on configuration
func (smg *SMGeneric) replicateSessionsWithID(cgrID string, passiveSessions bool, smgReplConns []*SMGReplicationConn) (err error) {
if smg.cgrCfg.SmGenericConfig.DebitInterval != 0 && !passiveSessions { // Replicating active not supported
if len(smgReplConns) == 0 ||
(smg.cgrCfg.SmGenericConfig.DebitInterval != 0 && !passiveSessions) { // Replicating active not supported
return
}
ssMux := &smg.aSessionsMux
@@ -470,11 +471,11 @@ func (smg *SMGeneric) replicateSessionsWithID(cgrID string, passiveSessions bool
ssMp = smg.passiveSessions
}
ssMux.RLock()
var ss []*SMGSession
if err = utils.Clone(ssMp[cgrID], &ss); err != nil {
ss := ssMp[cgrID]
ssMux.RUnlock()
if len(ss) == 0 {
return
}
ssMux.RUnlock()
var wg sync.WaitGroup
for _, rplConn := range smgReplConns {
if rplConn.Synchronous {