diff --git a/services/distributeddataservice/framework/include/dfx/dfx_types.h b/services/distributeddataservice/framework/include/dfx/dfx_types.h index bb1a0e91d8307aca630b684b3b4ab65c9f0d6955..b07175ee1e3d69544d3437a60c2dd8298d6434f9 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 75c4ae3266a401445ff582be5ccb7cb7554a59f1..9821b9bd74d2a0fcd05b46d8a12418c51efe4669 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 4cfddd2788638de9c0a2aa7d48066af1ab69fb54..9d67df5dbcb7a6fab83ab4ece5599ff9b29f64a0 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;