diff --git a/apier/v1/stats.go b/apier/v1/stats.go index c19486c0f..7e4c0ce10 100644 --- a/apier/v1/stats.go +++ b/apier/v1/stats.go @@ -57,7 +57,7 @@ func (apierV1 *ApierV1) RemStatQueueProfile(args *utils.TenantID, reply *string) if missing := utils.MissingStructFields(args, []string{"Tenant", "ID"}); len(missing) != 0 { //Params missing return utils.NewErrMandatoryIeMissing(missing...) } - if err := apierV1.DataManager.DataDB().RemStatQueueProfile(args.Tenant, args.ID, utils.NonTransactional); err != nil { + if err := apierV1.DataManager.RemoveStatQueueProfile(args.Tenant, args.ID, utils.NonTransactional); err != nil { return utils.APIErrorHandler(err) } *reply = utils.OK diff --git a/engine/datamanager.go b/engine/datamanager.go index 209807448..94c45efcd 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -205,3 +205,12 @@ func (dm *DataManager) GetStatQueueProfile(tenant, id string, skipCache bool, tr func (dm *DataManager) SetStatQueueProfile(sqp *StatQueueProfile) (err error) { return dm.DataDB().SetStatQueueProfileDrv(sqp) } + +func (dm *DataManager) RemoveStatQueueProfile(tenant, id, transactionID string) (err error) { + if err = dm.DataDB().RemStatQueueProfileDrv(tenant, id); err != nil { + return + } + cache.RemKey(utils.StatQueueProfilePrefix+utils.ConcatenatedKey(tenant, id), + cacheCommit(transactionID), transactionID) + return +} diff --git a/engine/onstor_it_test.go b/engine/onstor_it_test.go index 4251dd98f..0f5d9f29f 100644 --- a/engine/onstor_it_test.go +++ b/engine/onstor_it_test.go @@ -1994,7 +1994,7 @@ func testOnStorITCRUDStatQueueProfile(t *testing.T) { if _, ok := cache.Get(utils.StatQueueProfilePrefix + sq.ID); ok != false { t.Error("Should not be in cache") } - if err := onStor.DataDB().RemStatQueueProfile(sq.Tenant, sq.ID, utils.NonTransactional); err != nil { + if err := onStor.RemoveStatQueueProfile(sq.Tenant, sq.ID, utils.NonTransactional); err != nil { t.Error(err) } if _, ok := cache.Get(utils.StatQueueProfilePrefix + sq.ID); ok != false { diff --git a/engine/storage_interface.go b/engine/storage_interface.go index a5374ae93..f89ad4934 100755 --- a/engine/storage_interface.go +++ b/engine/storage_interface.go @@ -116,7 +116,7 @@ type DataDB interface { MatchReqFilterIndex(dbKey, fieldName, fieldVal string) (itemIDs utils.StringMap, err error) GetStatQueueProfileDrv(tenant string, ID string) (sq *StatQueueProfile, err error) SetStatQueueProfileDrv(sq *StatQueueProfile) (err error) - RemStatQueueProfile(tenant, id, transactionID string) (err error) + RemStatQueueProfileDrv(tenant, id string) (err error) GetStoredStatQueue(tenant, id string) (sq *StoredStatQueue, err error) SetStoredStatQueue(sq *StoredStatQueue) (err error) RemStoredStatQueue(tenant, id string) (err error) diff --git a/engine/storage_map.go b/engine/storage_map.go index a29c11717..329b1ddc2 100755 --- a/engine/storage_map.go +++ b/engine/storage_map.go @@ -1516,13 +1516,12 @@ func (ms *MapStorage) SetStatQueueProfileDrv(sqp *StatQueueProfile) (err error) return } -// RemStatsQueue removes a StatsQueue from dataDB -func (ms *MapStorage) RemStatQueueProfile(tenant, id, transactionID string) (err error) { +// RemStatsQueueDrv removes a StatsQueue from dataDB +func (ms *MapStorage) RemStatQueueProfileDrv(tenant, id string) (err error) { ms.mu.Lock() defer ms.mu.Unlock() key := utils.StatQueueProfilePrefix + utils.ConcatenatedKey(tenant, id) delete(ms.dict, key) - cache.RemKey(key, cacheCommit(transactionID), transactionID) return } diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index d5dacd32c..989b27946 100755 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -2100,16 +2100,14 @@ func (ms *MongoStorage) SetStatQueueProfileDrv(sq *StatQueueProfile) (err error) return } -// RemStatsQueue removes a StatsQueue from dataDB -func (ms *MongoStorage) RemStatQueueProfile(tenant, id string, transactionID string) (err error) { +// RemStatsQueueDrv removes a StatsQueue from dataDB +func (ms *MongoStorage) RemStatQueueProfileDrv(tenant, id string) (err error) { session, col := ms.conn(colSqp) err = col.Remove(bson.M{"tenant": tenant, "id": id}) if err != nil { return err } session.Close() - cache.RemKey(utils.StatQueueProfilePrefix+utils.ConcatenatedKey(tenant, id), - cacheCommit(transactionID), transactionID) return } diff --git a/engine/storage_redis.go b/engine/storage_redis.go index 6ac23d125..0528ebfd3 100755 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -1630,11 +1630,10 @@ func (rs *RedisStorage) SetStatQueueProfileDrv(sq *StatQueueProfile) (err error) return rs.Cmd("SET", utils.StatQueueProfilePrefix+utils.ConcatenatedKey(sq.Tenant, sq.ID), result).Err } -// RemStatsQueue removes a StatsQueue from dataDB -func (rs *RedisStorage) RemStatQueueProfile(tenant, id string, transactionID string) (err error) { +// RemStatsQueueDrv removes a StatsQueue from dataDB +func (rs *RedisStorage) RemStatQueueProfileDrv(tenant, id string) (err error) { key := utils.StatQueueProfilePrefix + utils.ConcatenatedKey(tenant, id) err = rs.Cmd("DEL", key).Err - cache.RemKey(key, cacheCommit(transactionID), transactionID) return }