From 62d14bcc0e6b8170b7389e1dd8c789c427e785dc Mon Sep 17 00:00:00 2001 From: zuojiangjiang Date: Thu, 11 Nov 2021 11:08:25 +0800 Subject: [PATCH 1/2] fix the metaData backup Signed-off-by: zuojiangjiang --- .../app/src/kvstore_meta_manager.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp index 4eb7f5354..8582417ba 100755 --- a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp +++ b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp @@ -250,25 +250,33 @@ Status KvStoreMetaManager::CheckUpdateServiceMeta(const std::vector &me DistributedDB::DBStatus dbStatus; DistributedDB::CipherPassword dbPassword; const std::string deviceAccountId = AccountDelegate::MAIN_DEVICE_ACCOUNT_ID; + + const std::string userId = AccountDelegate::GetInstance()->GetCurrentHarmonyAccountId(); + std::initializer_list backList = {userId, "_", META_DB_APP_ID, "_", Constant::SERVICE_META_DB_NAME}; + std::string backupName = Constant::Concatenate(backList); + std::initializer_list backFullList = {BackupHandler::GetBackupPath(deviceAccountId, pathType), "/", + BackupHandler::GetHashedBackupName(backupName)}; + auto backupFullName = Constant::Concatenate(backFullList); + switch (flag) { case UPDATE: dbStatus = metaDelegate->Put(dbKey, dbValue); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case DELETE: dbStatus = metaDelegate->Delete(dbKey); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case CHECK_EXIST: dbStatus = metaDelegate->Get(dbKey, dbValue); break; case UPDATE_LOCAL: dbStatus = metaDelegate->PutLocal(dbKey, dbValue); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case DELETE_LOCAL: dbStatus = metaDelegate->DeleteLocal(dbKey); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case CHECK_EXIST_LOCAL: dbStatus = metaDelegate->GetLocal(dbKey, dbValue); From 8de13a423dde3c6ba4d5c8341d6844f1fa5cd98d Mon Sep 17 00:00:00 2001 From: zuojiangjiang Date: Wed, 17 Nov 2021 17:20:33 +0800 Subject: [PATCH 2/2] fix metaData search Signed-off-by: zuojiangjiang --- .../distributeddataservice/app/src/kvstore_meta_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp index 8582417ba..46960e364 100755 --- a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp +++ b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp @@ -1261,7 +1261,7 @@ bool KvStoreMetaManager::GetKvStoreMetaByType(const std::string &name, const std return false; } - DistributedDB::Key metaKeyPrefix = KvStoreMetaRow::GetKeyFor(KvStoreMetaRow::KEY_PREFIX); + DistributedDB::Key metaKeyPrefix = KvStoreMetaRow::GetKeyFor(""); std::vector metaEntries; DistributedDB::DBStatus dbStatus = metaDelegate->GetEntries(metaKeyPrefix, metaEntries); if (dbStatus != DistributedDB::DBStatus::OK) {