diff --git a/engine/datamanager.go b/engine/datamanager.go index b44845f86..d85ab0d1e 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -1323,15 +1323,8 @@ func (dm *DataManager) GetTrend(tenant, id string, if err != utils.ErrNotFound { // RPC error return } - } else { - if dm.dataDB.GetStorageType() != utils.MetaInternal { - if err = tr.compress(dm.ms); err != nil { - return - } - } - if err = dm.dataDB.SetTrendDrv(tr); err != nil { - return - } + } else if err = dm.dataDB.SetTrendDrv(tr); err != nil { + return } } // have Trend or ErrNotFound @@ -1345,6 +1338,9 @@ func (dm *DataManager) GetTrend(tenant, id string, return } } + if err := tr.uncompress(dm.ms); err != nil { + return nil, err + } if cacheWrite { if errCh := Cache.Set(utils.CacheTrends, tntID, tr, nil, cacheCommit(transactionID), transactionID); errCh != nil { diff --git a/engine/libtrends.go b/engine/libtrends.go index 952208dd8..ffbc1e988 100644 --- a/engine/libtrends.go +++ b/engine/libtrends.go @@ -123,8 +123,7 @@ func (t *Trend) Clone() (tC *Trend) { } func (t *Trend) compress(ms Marshaler) (err error) { - maxRL := config.CgrConfig().TrendSCfg().StoreUncompressedLimit - if maxRL > 0 && maxRL > len(t.RunTimes) { + if config.CgrConfig().TrendSCfg().StoreUncompressedLimit > len(t.RunTimes) { return } t.CompressedMetrics, err = ms.Marshal(t.Metrics) @@ -137,8 +136,7 @@ func (t *Trend) compress(ms Marshaler) (err error) { } func (t *Trend) uncompress(ms Marshaler) (err error) { - maxL := config.CgrConfig().TrendSCfg().StoreUncompressedLimit - if t == nil || (maxL > 0 && t.RunTimes != nil) { + if t == nil || t.RunTimes != nil { return } err = ms.Unmarshal(t.CompressedMetrics, &t.Metrics) diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index 6040343b1..b018aeffb 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -1612,13 +1612,8 @@ func (ms *MongoStorage) GetTrendDrv(tenant, id string) (*Trend, error) { } return decodeErr }) - if err != nil { - return nil, err - } - if err = tr.uncompress(ms.ms); err != nil { - return nil, err - } - return tr, nil + + return tr, err } func (ms *MongoStorage) SetTrendDrv(tr *Trend) error { diff --git a/engine/storage_redis.go b/engine/storage_redis.go index f0a11d6b6..fbfa7d986 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -971,13 +971,8 @@ func (rs *RedisStorage) GetTrendDrv(tenant, id string) (tr *Trend, err error) { err = utils.ErrNotFound return } - if err = rs.ms.Unmarshal(values, &tr); err != nil { - return - } - if err = tr.uncompress(rs.ms); err != nil { - return nil, err - } - return tr, nil + err = rs.ms.Unmarshal(values, &tr) + return tr, err } func (rs *RedisStorage) SetTrendDrv(r *Trend) (err error) {