mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-14 20:59:53 +05:00
Remove tmp key if we get error when we move (from tmp -> normal key)
This commit is contained in:
committed by
Dan Christian Bogos
parent
0f597a2b5b
commit
acbbafc21e
@@ -295,96 +295,81 @@ func (self *ApierV1) ComputeFilterIndexes(args utils.ArgsComputeFilterIndexes, r
|
||||
//ThresholdProfile Indexes
|
||||
thdsIndexers, err := self.computeThresholdIndexes(args.Tenant, args.ThresholdIDs, transactionID)
|
||||
if err != nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(
|
||||
engine.GetDBIndexKey(utils.ThresholdProfilePrefix, args.Tenant, false)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(
|
||||
engine.GetDBIndexKey(utils.ThresholdProfilePrefix, args.Tenant, true)); err != nil {
|
||||
return err
|
||||
}
|
||||
return utils.APIErrorHandler(err)
|
||||
}
|
||||
//StatQueueProfile Indexes
|
||||
sqpIndexers, err := self.computeStatIndexes(args.Tenant, args.StatIDs, transactionID)
|
||||
if err != nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(
|
||||
engine.GetDBIndexKey(utils.StatQueueProfilePrefix, args.Tenant, false)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(
|
||||
engine.GetDBIndexKey(utils.StatQueueProfilePrefix, args.Tenant, true)); err != nil {
|
||||
return err
|
||||
}
|
||||
return utils.APIErrorHandler(err)
|
||||
}
|
||||
//ResourceProfile Indexes
|
||||
rsIndexes, err := self.computeResourceIndexes(args.Tenant, args.ResourceIDs, transactionID)
|
||||
if err != nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(
|
||||
engine.GetDBIndexKey(utils.ResourceProfilesPrefix, args.Tenant, false)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(
|
||||
engine.GetDBIndexKey(utils.ResourceProfilesPrefix, args.Tenant, true)); err != nil {
|
||||
return err
|
||||
}
|
||||
return utils.APIErrorHandler(err)
|
||||
}
|
||||
//SupplierProfile Indexes
|
||||
sppIndexes, err := self.computeSupplierIndexes(args.Tenant, args.SupplierIDs, transactionID)
|
||||
if err != nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(
|
||||
engine.GetDBIndexKey(utils.SupplierProfilePrefix, args.Tenant, false)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(
|
||||
engine.GetDBIndexKey(utils.SupplierProfilePrefix, args.Tenant, true)); err != nil {
|
||||
return err
|
||||
}
|
||||
return utils.APIErrorHandler(err)
|
||||
}
|
||||
//AttributeProfile Indexes
|
||||
attrIndexes, err := self.computeAttributeIndexes(args.Tenant, args.AttributeIDs, transactionID)
|
||||
if err != nil {
|
||||
if err := self.DataManager.RemoveFilterIndexes(
|
||||
engine.GetDBIndexKey(utils.AttributeProfilePrefix, utils.ConcatenatedKey(args.Tenant, args.Context), false)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := self.DataManager.RemoveFilterReverseIndexes(
|
||||
engine.GetDBIndexKey(utils.AttributeProfilePrefix, utils.ConcatenatedKey(args.Tenant, args.Context), true)); err != nil {
|
||||
return err
|
||||
}
|
||||
return utils.APIErrorHandler(err)
|
||||
}
|
||||
//Now we move from tmpKey to the right key for each type
|
||||
//ThresholdProfile Indexes
|
||||
if thdsIndexers != nil {
|
||||
if err := thdsIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
for _, id := range *args.ThresholdIDs {
|
||||
if err := thdsIndexers.RemoveItemFromIndex(id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
//StatQueueProfile Indexes
|
||||
if sqpIndexers != nil {
|
||||
if err := sqpIndexers.StoreIndexes(true, transactionID); err != nil {
|
||||
for _, id := range *args.StatIDs {
|
||||
if err := thdsIndexers.RemoveItemFromIndex(id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
//ResourceProfile Indexes
|
||||
if rsIndexes != nil {
|
||||
if err := rsIndexes.StoreIndexes(true, transactionID); err != nil {
|
||||
for _, id := range *args.ResourceIDs {
|
||||
if err := thdsIndexers.RemoveItemFromIndex(id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
//SupplierProfile Indexes
|
||||
if sppIndexes != nil {
|
||||
if err := sppIndexes.StoreIndexes(true, transactionID); err != nil {
|
||||
for _, id := range *args.SupplierIDs {
|
||||
if err := thdsIndexers.RemoveItemFromIndex(id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
//AttributeProfile Indexes
|
||||
if attrIndexes != nil {
|
||||
if err := attrIndexes.StoreIndexes(true, transactionID); err != nil {
|
||||
for _, id := range *args.AttributeIDs {
|
||||
if err := thdsIndexers.RemoveItemFromIndex(id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user