From cb6587d34f97d63f0f3d9af175a09148cd2c8b68 Mon Sep 17 00:00:00 2001 From: Hollokin Date: Tue, 1 Jul 2025 16:43:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=AF=E4=BA=91=E6=96=B0=E5=A2=9E=E6=95=85?= =?UTF-8?q?=E9=9A=9C=E6=89=93=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hollokin --- .../framework/include/dfx/dfx_types.h | 1 + .../service/cloud/cloud_service_impl.cpp | 21 ++++++++++++------- .../service/cloud/cloud_service_impl.h | 11 ++++++++-- .../service/rdb/rdb_general_store.cpp | 2 ++ 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/services/distributeddataservice/framework/include/dfx/dfx_types.h b/services/distributeddataservice/framework/include/dfx/dfx_types.h index bb1a0e91d..b07175ee1 100644 --- a/services/distributeddataservice/framework/include/dfx/dfx_types.h +++ b/services/distributeddataservice/framework/include/dfx/dfx_types.h @@ -88,6 +88,7 @@ enum class Fault { CSF_DOWNLOAD_ASSETS = 82, CSF_GS_CREATE_DISTRIBUTED_TABLE = 83, CSF_GS_CLOUD_SYNC = 84, + CSF_CLEAN = 85, }; enum class FaultType { diff --git a/services/distributeddataservice/service/cloud/cloud_service_impl.cpp b/services/distributeddataservice/service/cloud/cloud_service_impl.cpp index 75c4ae326..9821b9bd7 100644 --- a/services/distributeddataservice/service/cloud/cloud_service_impl.cpp +++ b/services/distributeddataservice/service/cloud/cloud_service_impl.cpp @@ -75,6 +75,7 @@ static constexpr const char *FT_NETWORK_RECOVERY = "NETWORK_RECOVERY"; static constexpr const char *FT_SERVICE_INIT = "SERVICE_INIT"; static constexpr const char *FT_SYNC_TASK = "SYNC_TASK"; static constexpr const char *FT_ENCRYPT_CHANGED = "ENCRYPT_CHANGED"; +static constexpr const char *FT_CLEAN = "CLEAN"; static constexpr const char *CLOUD_SCHEMA = "arkdata/cloud/cloud_schema.json"; __attribute__((used)) CloudServiceImpl::Factory CloudServiceImpl::factory_; const CloudServiceImpl::SaveStrategy CloudServiceImpl::STRATEGY_SAVERS[Strategy::STRATEGY_BUTT] = { @@ -238,7 +239,8 @@ int32_t CloudServiceImpl::ChangeAppSwitch(const std::string &id, const std::stri return SUCCESS; } -int32_t CloudServiceImpl::DoClean(const CloudInfo &cloudInfo, const std::map &actions) +int32_t CloudServiceImpl::DoClean( + const CloudInfo &cloudInfo, const std::map &actions, CleanScene cleanScene) { syncManager_.StopCloudSync(cloudInfo.user); for (const auto &[bundle, action] : actions) { @@ -251,12 +253,12 @@ int32_t CloudServiceImpl::DoClean(const CloudInfo &cloudInfo, const std::map(user), meta.bundleName.c_str(), meta.GetStoreAlias().c_str()); + Report(FT_CLEAN, Fault::CSF_CLEAN, "", + "cloud driver clean failed, cleanScene=" + std::to_string(static_cast(cleanScene)) + + ",action=" + std::to_string(action) + ",user =" + std::to_string(user)); } else { ZLOGD("clean success, user:%{public}d, bundleName:%{public}s, storeId:%{public}s", static_cast(user), meta.bundleName.c_str(), meta.GetStoreAlias().c_str()); @@ -330,6 +335,8 @@ int32_t CloudServiceImpl::Clean(const std::string &id, const std::map &actions); - void DoClean(int32_t user, const SchemaMeta &schemaMeta, int32_t action); + int32_t DoClean(const CloudInfo &cloudInfo, const std::map &actions, CleanScene cleanScene); + void DoClean(int32_t user, const SchemaMeta &schemaMeta, int32_t action, CleanScene cleanScene); std::pair> PreShare( const StoreInfo &storeInfo, DistributedData::GenQuery &query); std::vector ConvertCursor(std::shared_ptr cursor) const; diff --git a/services/distributeddataservice/service/rdb/rdb_general_store.cpp b/services/distributeddataservice/service/rdb/rdb_general_store.cpp index 4cfddd278..9d67df5db 100644 --- a/services/distributeddataservice/service/rdb/rdb_general_store.cpp +++ b/services/distributeddataservice/service/rdb/rdb_general_store.cpp @@ -907,6 +907,8 @@ int32_t RdbGeneralStore::SetReference(const std::vector &references) auto status = delegate_->SetReference(properties); if (status != DistributedDB::DBStatus::OK && status != DistributedDB::DBStatus::PROPERTY_CHANGED) { ZLOGE("distributed table set reference failed, err:%{public}d", status); + Report(FT_OPEN_STORE, static_cast(Fault::CSF_GS_CREATE_DISTRIBUTED_TABLE), + "SetReference failed, dbError=" + std::to_string(static_cast(status))); return GeneralError::E_ERROR; } return GeneralError::E_OK; -- Gitee