diff --git a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp index f72618957ffb590e52b0f446b37401a4bdc60e56..9ffd34af412843ca91e104b52790dfe9a701e9b6 100755 --- a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp +++ b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp @@ -48,7 +48,17 @@ std::mutex KvStoreMetaManager::cvMutex_; KvStoreMetaManager::MetaDeviceChangeListenerImpl KvStoreMetaManager::listener_; KvStoreMetaManager::KvStoreMetaManager() - : metaDBDirectory_(Constant::Concatenate({ + : metaDelegate_(nullptr, + [this](DistributedDB::KvStoreNbDelegate *delegate) { + if (delegate == nullptr) { + return; + } + auto result = kvStoreDelegateManager_.CloseKvStore(delegate); + if (result != DistributedDB::DBStatus::OK) { + ZLOGE("CloseMetaKvstore return error status: %d", static_cast(result)); + } + }), + metaDBDirectory_(Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", Constant::META_DIR_NAME })), kvStoreDelegateManager_(META_DB_APP_ID, Constant::GetDefaultHarmonyAccountName()) { diff --git a/services/distributeddataservice/app/src/kvstore_meta_manager.h b/services/distributeddataservice/app/src/kvstore_meta_manager.h index 58bf8178a22793362ef171c73723c508fbe07f92..f4542a36c417fc5ae3d0d9ff16d0e89b44ce5bbe 100755 --- a/services/distributeddataservice/app/src/kvstore_meta_manager.h +++ b/services/distributeddataservice/app/src/kvstore_meta_manager.h @@ -299,7 +299,7 @@ private: static constexpr int KEY_SIZE = 32; static constexpr int HOURS_PER_YEAR = (24 * 365); - NbDelegate metaDelegate_ {}; + NbDelegate metaDelegate_; std::string metaDBDirectory_; DistributedDB::KvStoreDelegateManager kvStoreDelegateManager_; std::vector vecRootKeyAlias_ {};