From 6bf96ef3e85a7f104382e38b569ad5c85f85e3e2 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Thu, 7 Jul 2016 18:14:41 +0300 Subject: [PATCH] better dump consistency --- engine/cache_dumper.go | 12 +++++++----- engine/cache_store.go | 2 +- engine/storage_mongo_datadb.go | 5 ----- engine/storage_redis.go | 5 +---- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/engine/cache_dumper.go b/engine/cache_dumper.go index 326ba8d3f..626c83ca1 100644 --- a/engine/cache_dumper.go +++ b/engine/cache_dumper.go @@ -30,10 +30,11 @@ func newCacheDumper(path string) (*cacheDumper, error) { }, nil } -func (cd *cacheDumper) getDumbDb(prefix string) (*leveldb.DB, error) { +func (cd *cacheDumper) getDumpDb(prefix string) (*leveldb.DB, error) { if cd == nil || cd.path == "" { return nil, nil } + db, found := cd.dbMap[prefix] if !found { var err error @@ -47,10 +48,11 @@ func (cd *cacheDumper) getDumbDb(prefix string) (*leveldb.DB, error) { } func (cd *cacheDumper) put(prefix, key string, value interface{}) error { - db, err := cd.getDumbDb(prefix) + db, err := cd.getDumpDb(prefix) if err != nil || db == nil { return err } + encData, err := cd.dataEncoder.Marshal(value) if err != nil { return err @@ -66,7 +68,7 @@ func (cd *cacheDumper) put(prefix, key string, value interface{}) error { } func (cd *cacheDumper) load(prefix string) (map[string]interface{}, error) { - db, err := cd.getDumbDb(prefix) + db, err := cd.getDumpDb(prefix) if err != nil || db == nil { return nil, err } @@ -104,7 +106,7 @@ func (cd *cacheDumper) load(prefix string) (map[string]interface{}, error) { } func (cd *cacheDumper) delete(prefix, key string) error { - db, err := cd.getDumbDb(prefix) + db, err := cd.getDumpDb(prefix) if err != nil || db == nil { return err } @@ -112,7 +114,7 @@ func (cd *cacheDumper) delete(prefix, key string) error { } func (cd *cacheDumper) deleteAll(prefix string) error { - db, err := cd.getDumbDb(prefix) + db, err := cd.getDumpDb(prefix) if err != nil || db == nil { return err } diff --git a/engine/cache_store.go b/engine/cache_store.go index e81eb7471..352f3ce36 100644 --- a/engine/cache_store.go +++ b/engine/cache_store.go @@ -87,12 +87,12 @@ func (cs cacheDoubleStore) Delete(key string) { if err := dumper.delete(prefix, key); err != nil { utils.Logger.Info(" delete error: " + err.Error()) } - } } func (cs cacheDoubleStore) DeletePrefix(prefix string) { delete(cs, prefix) + if err := dumper.deleteAll(prefix); err != nil { utils.Logger.Info(" delete all error: " + err.Error()) } diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index 4ad34d66f..3ec64eb8c 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -751,12 +751,7 @@ func (ms *MongoStorage) cacheAccounting(alsKeys []string) (err error) { return err } utils.Logger.Info("Finished load history caching.") - CacheCommitTransaction() utils.Logger.Info(fmt.Sprintf("Cache accounting creation time: %v", time.Since(start))) - keys := make(map[string][]string) - if len(alsKeys) > 0 { - keys[utils.ALIASES_PREFIX] = alsKeys - } var loadHist *utils.LoadInstance if len(loadHistList) == 0 { diff --git a/engine/storage_redis.go b/engine/storage_redis.go index da66ff002..a7e5f49fb 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -423,10 +423,7 @@ func (rs *RedisStorage) cacheAccounting(alsKeys []string) (err error) { utils.Logger.Info("Finished load history caching.") CacheCommitTransaction() utils.Logger.Info(fmt.Sprintf("Cache accounting creation time: %v", time.Since(start))) - keys := make(map[string][]string) - if len(alsKeys) > 0 { - keys[utils.ALIASES_PREFIX] = alsKeys - } + loadHistList, err := rs.GetLoadHistory(1, true) if err != nil || len(loadHistList) == 0 { utils.Logger.Info(fmt.Sprintf("could not get load history: %v (%v)", loadHistList, err))