From 04dd686c0a2ef42f1865a11c4f782d9fb9fadc7d Mon Sep 17 00:00:00 2001 From: yangliu Date: Thu, 4 Sep 2025 20:14:00 +0800 Subject: [PATCH 1/6] update Signed-off-by: yangliu --- .../distributeddataservice/framework/store/auto_cache.cpp | 5 ++++- .../service/kvdb/kvdb_general_store.cpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/services/distributeddataservice/framework/store/auto_cache.cpp b/services/distributeddataservice/framework/store/auto_cache.cpp index d65c9dee5..5fa4b38d9 100644 --- a/services/distributeddataservice/framework/store/auto_cache.cpp +++ b/services/distributeddataservice/framework/store/auto_cache.cpp @@ -172,7 +172,7 @@ void AutoCache::StartTimer() void AutoCache::CloseStore(uint32_t tokenId, const std::string &path, const std::string &storeId) { - ZLOGD("close store start, store:%{public}s, token:%{public}u", Anonymous::Change(storeId).c_str(), tokenId); + ZLOGI("yltest close store start, store:%{public}s, token:%{public}u", Anonymous::Change(storeId).c_str(), tokenId); std::set storeIds; std::list closeStores; bool isScreenLocked = ScreenManager::GetInstance()->IsLocked(); @@ -184,6 +184,7 @@ void AutoCache::CloseStore(uint32_t tokenId, const std::string &path, const std: if ((it->first == storeKey || storeKey.empty()) && (!isScreenLocked || it->second.GetArea() != GeneralStore::EL4) && disableStores_.count(it->second.GetDataDir()) == 0) { + ZLOGI("yltest11 close store start, store:%{public}s, token:%{public}u", Anonymous::Change(storeId).c_str(), tokenId); disableStores_.insert(it->second.GetDataDir()); storeIds.insert(it->first); closeStores.emplace(closeStores.end(), it->second); @@ -196,6 +197,7 @@ void AutoCache::CloseStore(uint32_t tokenId, const std::string &path, const std: stores_.ComputeIfPresent(tokenId, [this, &storeIds](auto &key, auto &delegates) { for (auto it = delegates.begin(); it != delegates.end();) { if (storeIds.count(it->first) != 0) { + ZLOGI("yltest222 close store start, store:%{public}s, token:%{public}u", Anonymous::Change(storeId).c_str(), tokenId); disableStores_.erase(it->second.GetDataDir()); it = delegates.erase(it); } else { @@ -340,6 +342,7 @@ bool AutoCache::Delegate::Close() if (store_ != nullptr) { auto status = store_->Close(); if (status == Error::E_BUSY) { + ZLOGI("yltest444 close store busy"); return false; } store_->Unwatch(Origin::ORIGIN_ALL, *this); diff --git a/services/distributeddataservice/service/kvdb/kvdb_general_store.cpp b/services/distributeddataservice/service/kvdb/kvdb_general_store.cpp index f18d59547..a0a4ba096 100644 --- a/services/distributeddataservice/service/kvdb/kvdb_general_store.cpp +++ b/services/distributeddataservice/service/kvdb/kvdb_general_store.cpp @@ -290,11 +290,13 @@ int32_t KVDBGeneralStore::Close(bool isForce) return GeneralError::E_OK; } if (!isForce && delegate_->GetTaskCount() > 0) { + ZLOGW("yltest666 Close busy"); return GeneralError::E_BUSY; } if (delegate_ != nullptr) { delegate_->UnRegisterObserver(&observer_); } + ZLOGW("yltest777 CloseKvStore"); auto status = manager_.CloseKvStore(delegate_); if (status != DBStatus::OK) { return status; -- Gitee From 7ad39b6bfdac575b223e9f3fa993fd82661d795b Mon Sep 17 00:00:00 2001 From: yangliu Date: Thu, 4 Sep 2025 20:26:37 +0800 Subject: [PATCH 2/6] update Signed-off-by: yangliu --- services/distributeddataservice/framework/store/auto_cache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributeddataservice/framework/store/auto_cache.cpp b/services/distributeddataservice/framework/store/auto_cache.cpp index 5fa4b38d9..2c850072b 100644 --- a/services/distributeddataservice/framework/store/auto_cache.cpp +++ b/services/distributeddataservice/framework/store/auto_cache.cpp @@ -184,7 +184,7 @@ void AutoCache::CloseStore(uint32_t tokenId, const std::string &path, const std: if ((it->first == storeKey || storeKey.empty()) && (!isScreenLocked || it->second.GetArea() != GeneralStore::EL4) && disableStores_.count(it->second.GetDataDir()) == 0) { - ZLOGI("yltest11 close store start, store:%{public}s, token:%{public}u", Anonymous::Change(storeId).c_str(), tokenId); + ZLOGI("yltest11 close store start, store:%{public}s, token:%{public}u", Anonymous::Change(it->first).c_str(), tokenId); disableStores_.insert(it->second.GetDataDir()); storeIds.insert(it->first); closeStores.emplace(closeStores.end(), it->second); -- Gitee From 1798573b16c5e1bed21f99823f895add7e537844 Mon Sep 17 00:00:00 2001 From: yangliu Date: Thu, 4 Sep 2025 20:35:42 +0800 Subject: [PATCH 3/6] update Signed-off-by: yangliu --- services/distributeddataservice/framework/store/auto_cache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributeddataservice/framework/store/auto_cache.cpp b/services/distributeddataservice/framework/store/auto_cache.cpp index 2c850072b..05f8640f7 100644 --- a/services/distributeddataservice/framework/store/auto_cache.cpp +++ b/services/distributeddataservice/framework/store/auto_cache.cpp @@ -178,7 +178,7 @@ void AutoCache::CloseStore(uint32_t tokenId, const std::string &path, const std: bool isScreenLocked = ScreenManager::GetInstance()->IsLocked(); auto storeKey = GenerateKey(path, storeId); stores_.ComputeIfPresent(tokenId, - [this, &storeKey, isScreenLocked, &storeIds, &closeStores](auto &, auto &delegates) { + [this, &storeKey, isScreenLocked, &storeIds, &closeStores, &tokenId](auto &, auto &delegates) { auto it = delegates.begin(); while (it != delegates.end()) { if ((it->first == storeKey || storeKey.empty()) && -- Gitee From a31098d4bdd74265baf4e0187426f3d509ce518d Mon Sep 17 00:00:00 2001 From: yangliu Date: Thu, 4 Sep 2025 20:47:52 +0800 Subject: [PATCH 4/6] update Signed-off-by: yangliu --- .../distributeddataservice/framework/store/auto_cache.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/distributeddataservice/framework/store/auto_cache.cpp b/services/distributeddataservice/framework/store/auto_cache.cpp index 05f8640f7..2863e29d0 100644 --- a/services/distributeddataservice/framework/store/auto_cache.cpp +++ b/services/distributeddataservice/framework/store/auto_cache.cpp @@ -194,10 +194,10 @@ void AutoCache::CloseStore(uint32_t tokenId, const std::string &path, const std: return !delegates.empty(); }); closeStores.clear(); - stores_.ComputeIfPresent(tokenId, [this, &storeIds](auto &key, auto &delegates) { + stores_.ComputeIfPresent(tokenId, [this, &storeIds, &tokenId](auto &key, auto &delegates) { for (auto it = delegates.begin(); it != delegates.end();) { if (storeIds.count(it->first) != 0) { - ZLOGI("yltest222 close store start, store:%{public}s, token:%{public}u", Anonymous::Change(storeId).c_str(), tokenId); + ZLOGI("yltest222 close store start, store:%{public}s, token:%{public}u", Anonymous::Change(it->first).c_str(), tokenId); disableStores_.erase(it->second.GetDataDir()); it = delegates.erase(it); } else { -- Gitee From a6c204f544c4d6e788320849b078de4b34dffb6c Mon Sep 17 00:00:00 2001 From: yangliu Date: Tue, 9 Sep 2025 09:57:34 +0800 Subject: [PATCH 5/6] update Signed-off-by: yangliu --- .vscode/settings.json | 5 +++++ .../service/kvdb/kvdb_service_impl.cpp | 4 ++-- .../service/kvdb/kvdb_service_stub.cpp | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..e1b3d9546 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "filesystem": "cpp" + } +} \ No newline at end of file diff --git a/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp b/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp index cde27ab22..37d86019c 100644 --- a/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp +++ b/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp @@ -206,8 +206,8 @@ Status KVDBServiceImpl::Delete(const AppId &appId, const StoreId &storeId, int32 MetaDataManager::GetInstance().DelMeta(metaData.GetCloneSecretKey(), true); PermitDelegate::GetInstance().DelCache(metaData.GetKeyWithoutPath()); AutoCache::GetInstance().CloseStore(metaData.tokenId, metaData.dataDir); - ZLOGD("appId:%{public}s storeId:%{public}s instanceId:%{public}d", appId.appId.c_str(), - Anonymous::Change(storeId.storeId).c_str(), metaData.instanceId); + ZLOGI("yltest appId:%{public}s storeId:%{public}s instanceId:%{public}d dir:%{public}s", appId.appId.c_str(), + Anonymous::Change(storeId.storeId).c_str(), metaData.instanceId, metaData.dataDir.c_str()); return SUCCESS; } diff --git a/services/distributeddataservice/service/kvdb/kvdb_service_stub.cpp b/services/distributeddataservice/service/kvdb/kvdb_service_stub.cpp index acfa5fbdb..57c0e69ba 100644 --- a/services/distributeddataservice/service/kvdb/kvdb_service_stub.cpp +++ b/services/distributeddataservice/service/kvdb/kvdb_service_stub.cpp @@ -188,6 +188,7 @@ int32_t KVDBServiceStub::OnDelete(const AppId &appId, const StoreId &storeId, Me Anonymous::Change(storeId.storeId).c_str()); return IPC_STUB_INVALID_DATA_ERR; } + ZLOGI("YLTEST storeid:%{public}s", storeId.storeId.c_str()); int32_t status = Delete(appId, storeId, subUser); if (!ITypesUtil::Marshal(reply, status)) { ZLOGE("Marshal status:0x%{public}x appId:%{public}s storeId:%{public}s", status, appId.appId.c_str(), -- Gitee From 15d1f8b92c74b8fdb9eab2da21369c7789f92f51 Mon Sep 17 00:00:00 2001 From: yangliu Date: Tue, 9 Sep 2025 11:30:14 +0800 Subject: [PATCH 6/6] update Signed-off-by: yangliu --- .../distributeddataservice/service/kvdb/kvdb_service_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp b/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp index 37d86019c..253c66a02 100644 --- a/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp +++ b/services/distributeddataservice/service/kvdb/kvdb_service_impl.cpp @@ -205,7 +205,7 @@ Status KVDBServiceImpl::Delete(const AppId &appId, const StoreId &storeId, int32 MetaDataManager::GetInstance().DelMeta(metaData.GetDebugInfoKey(), true); MetaDataManager::GetInstance().DelMeta(metaData.GetCloneSecretKey(), true); PermitDelegate::GetInstance().DelCache(metaData.GetKeyWithoutPath()); - AutoCache::GetInstance().CloseStore(metaData.tokenId, metaData.dataDir); + AutoCache::GetInstance().CloseStore(metaData.tokenId, metaData.dataDir, storeId); ZLOGI("yltest appId:%{public}s storeId:%{public}s instanceId:%{public}d dir:%{public}s", appId.appId.c_str(), Anonymous::Change(storeId.storeId).c_str(), metaData.instanceId, metaData.dataDir.c_str()); return SUCCESS; -- Gitee