diff options
| author | Dan Engelbrecht <[email protected]> | 2025-10-03 12:38:35 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-10-03 12:38:35 +0200 |
| commit | 5361ee1c77b68bb14237169660840d6d63a74892 (patch) | |
| tree | 3ad259133e09485a14506be38e43ec5b62a050f2 /src | |
| parent | move chunking code to zenremotestore lib (#545) (diff) | |
| download | zen-5361ee1c77b68bb14237169660840d6d63a74892.tar.xz zen-5361ee1c77b68bb14237169660840d6d63a74892.zip | |
remove zenutil dependency in zenremotestore (#547)
* remove dependency to zenutil/workerpools.h from remoteprojectstore.cpp
* remove dependency to zenutil/workerpools.h from buildstoragecache.cpp
* remove unneded include
* move jupiter helpers to zenremotestore
* move parallelwork to zencore
* remove zenutil dependency from zenremotestore
* clean up test project dependencies - use indirect dependencies
Diffstat (limited to 'src')
36 files changed, 98 insertions, 66 deletions
diff --git a/src/zen/cmds/builds_cmd.cpp b/src/zen/cmds/builds_cmd.cpp index fd1487468..de1ca5031 100644 --- a/src/zen/cmds/builds_cmd.cpp +++ b/src/zen/cmds/builds_cmd.cpp @@ -13,6 +13,7 @@ #include <zencore/filesystem.h> #include <zencore/fmtutils.h> #include <zencore/logging.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/session.h> #include <zencore/stream.h> @@ -30,10 +31,8 @@ #include <zenremotestore/chunking/chunkedcontent.h> #include <zenremotestore/chunking/chunkedfile.h> #include <zenremotestore/chunking/chunkingcontroller.h> +#include <zenremotestore/jupiter/jupiterhost.h> #include <zenutil/bufferedwritefilecache.h> -#include <zenutil/jupiter/jupiterhost.h> -#include <zenutil/jupiter/jupitersession.h> -#include <zenutil/parallelwork.h> #include <zenutil/wildcard.h> #include <zenutil/workerpools.h> #include <zenutil/zenserverprocess.h> @@ -11006,13 +11005,14 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) .AssumeHttp2 = CacheAssumeHttp2, .AllowResume = true, .RetryCount = 0}); - Result.BuildCacheStorage = CreateZenBuildStorageCache(*Result.CacheHttp, - StorageCacheStats, - m_Namespace, - m_Bucket, - TempPath / "zencache", - m_PrimeCacheOnly); - CacheDescription = fmt::format("Zen {}{}. SessionId: '{}'", + Result.BuildCacheStorage = CreateZenBuildStorageCache( + *Result.CacheHttp, + StorageCacheStats, + m_Namespace, + m_Bucket, + TempPath / "zencache", + m_PrimeCacheOnly ? GetSmallWorkerPool(EWorkloadType::Background) : GetTinyWorkerPool(EWorkloadType::Background)); + CacheDescription = fmt::format("Zen {}{}. SessionId: '{}'", BuildCacheName.empty() ? "" : fmt::format("{}, ", BuildCacheName), m_ZenCacheHost, Result.CacheHttp->GetSessionId()); diff --git a/src/zen/cmds/projectstore_cmd.cpp b/src/zen/cmds/projectstore_cmd.cpp index 8cfd340e9..ad75b239b 100644 --- a/src/zen/cmds/projectstore_cmd.cpp +++ b/src/zen/cmds/projectstore_cmd.cpp @@ -20,9 +20,8 @@ #include <zenhttp/httpclient.h> #include <zenhttp/httpclientauth.h> #include <zenhttp/httpcommon.h> - #include <zenremotestore/builds/jupiterbuildstorage.h> -#include <zenutil/jupiter/jupiterhost.h> +#include <zenremotestore/jupiter/jupiterhost.h> ZEN_THIRD_PARTY_INCLUDES_START #include <json11.hpp> diff --git a/src/zen/cmds/wipe_cmd.cpp b/src/zen/cmds/wipe_cmd.cpp index 7424f2166..a3d40c142 100644 --- a/src/zen/cmds/wipe_cmd.cpp +++ b/src/zen/cmds/wipe_cmd.cpp @@ -5,10 +5,10 @@ #include <zencore/filesystem.h> #include <zencore/fmtutils.h> #include <zencore/logging.h> +#include <zencore/parallelwork.h> #include <zencore/string.h> #include <zencore/timer.h> #include <zencore/trace.h> -#include <zenutil/parallelwork.h> #include <zenutil/workerpools.h> #include <signal.h> diff --git a/src/zenutil/include/zenutil/parallelwork.h b/src/zencore/include/zencore/parallelwork.h index 05146d644..05146d644 100644 --- a/src/zenutil/include/zenutil/parallelwork.h +++ b/src/zencore/include/zencore/parallelwork.h diff --git a/src/zenutil/parallelwork.cpp b/src/zencore/parallelwork.cpp index 95417078a..d86d5815f 100644 --- a/src/zenutil/parallelwork.cpp +++ b/src/zencore/parallelwork.cpp @@ -1,6 +1,6 @@ // Copyright Epic Games, Inc. All Rights Reserved. -#include <zenutil/parallelwork.h> +#include <zencore/parallelwork.h> #include <zencore/callstack.h> #include <zencore/except.h> diff --git a/src/zencore/zencore.cpp b/src/zencore/zencore.cpp index 8ca1ad8c0..b78991918 100644 --- a/src/zencore/zencore.cpp +++ b/src/zencore/zencore.cpp @@ -23,6 +23,7 @@ #include <zencore/logging.h> #include <zencore/memoryview.h> #include <zencore/mpscqueue.h> +#include <zencore/parallelwork.h> #include <zencore/process.h> #include <zencore/sha1.h> #include <zencore/stats.h> @@ -262,6 +263,7 @@ zencore_forcelinktests() zen::logging_forcelink(); zen::memory_forcelink(); zen::mpscqueue_forcelink(); + zen::parallellwork_forcelink(); zen::process_forcelink(); zen::refcount_forcelink(); zen::sha1_forcelink(); diff --git a/src/zenhttp-test/xmake.lua b/src/zenhttp-test/xmake.lua index a6163e506..a7ee731f9 100644 --- a/src/zenhttp-test/xmake.lua +++ b/src/zenhttp-test/xmake.lua @@ -5,7 +5,7 @@ target("zenhttp-test") set_group("tests") add_headerfiles("**.h") add_files("*.cpp") - add_deps("zenhttp", "zencore") + add_deps("zenhttp") add_packages("vcpkg::doctest") if is_plat("macosx") then diff --git a/src/zennet-test/xmake.lua b/src/zennet-test/xmake.lua index 8d8c0a598..c84837610 100644 --- a/src/zennet-test/xmake.lua +++ b/src/zennet-test/xmake.lua @@ -5,7 +5,7 @@ target("zennet-test") set_group("tests") add_headerfiles("**.h") add_files("*.cpp") - add_deps("zencore", "zenutil", "zennet") + add_deps("zennet") add_packages("vcpkg::mimalloc") add_packages("vcpkg::doctest") diff --git a/src/zenremotestore-test/xmake.lua b/src/zenremotestore-test/xmake.lua index a78918c69..edc356b5b 100644 --- a/src/zenremotestore-test/xmake.lua +++ b/src/zenremotestore-test/xmake.lua @@ -5,5 +5,5 @@ target("zenremotestore-test") set_group("tests") add_headerfiles("**.h") add_files("*.cpp") - add_deps("zenstore", "zencore", "zenremotestore") + add_deps("zenremotestore") add_packages("vcpkg::doctest") diff --git a/src/zenremotestore/builds/buildstoragecache.cpp b/src/zenremotestore/builds/buildstoragecache.cpp index 694e364ea..d36d75480 100644 --- a/src/zenremotestore/builds/buildstoragecache.cpp +++ b/src/zenremotestore/builds/buildstoragecache.cpp @@ -11,7 +11,6 @@ #include <zencore/workthreadpool.h> #include <zenhttp/httpclient.h> #include <zenhttp/packageformat.h> -#include <zenutil/workerpools.h> ZEN_THIRD_PARTY_INCLUDES_START #include <tsl/robin_set.h> @@ -29,15 +28,13 @@ public: std::string_view Namespace, std::string_view Bucket, const std::filesystem::path& TempFolderPath, - bool BoostBackgroundThreadCount) + WorkerThreadPool& BackgroundWorkerPool) : m_HttpClient(HttpClient) , m_Stats(Stats) , m_Namespace(Namespace.empty() ? "none" : Namespace) , m_Bucket(Bucket.empty() ? "none" : Bucket) , m_TempFolderPath(std::filesystem::path(TempFolderPath).make_preferred()) - , m_BoostBackgroundThreadCount(BoostBackgroundThreadCount) - , m_BackgroundWorkPool(m_BoostBackgroundThreadCount ? GetSmallWorkerPool(EWorkloadType::Background) - : GetTinyWorkerPool(EWorkloadType::Background)) + , m_BackgroundWorkPool(BackgroundWorkerPool) , m_PendingBackgroundWorkCount(1) , m_CancelBackgroundWork(false) { @@ -394,7 +391,6 @@ private: const std::string m_Namespace; const std::string m_Bucket; const std::filesystem::path m_TempFolderPath; - const bool m_BoostBackgroundThreadCount; bool IsFlushed = false; WorkerThreadPool& m_BackgroundWorkPool; @@ -408,9 +404,9 @@ CreateZenBuildStorageCache(HttpClient& HttpClient, std::string_view Namespace, std::string_view Bucket, const std::filesystem::path& TempFolderPath, - bool BoostBackgroundThreadCount) + WorkerThreadPool& BackgroundWorkerPool) { - return std::make_unique<ZenBuildStorageCache>(HttpClient, Stats, Namespace, Bucket, TempFolderPath, BoostBackgroundThreadCount); + return std::make_unique<ZenBuildStorageCache>(HttpClient, Stats, Namespace, Bucket, TempFolderPath, BackgroundWorkerPool); } ZenCacheEndpointTestResult diff --git a/src/zenremotestore/builds/jupiterbuildstorage.cpp b/src/zenremotestore/builds/jupiterbuildstorage.cpp index f1f9b3555..14a5ecc85 100644 --- a/src/zenremotestore/builds/jupiterbuildstorage.cpp +++ b/src/zenremotestore/builds/jupiterbuildstorage.cpp @@ -8,7 +8,7 @@ #include <zencore/scopeguard.h> #include <zencore/timer.h> #include <zencore/trace.h> -#include <zenutil/jupiter/jupitersession.h> +#include <zenremotestore/jupiter/jupitersession.h> ZEN_THIRD_PARTY_INCLUDES_START #include <tsl/robin_map.h> diff --git a/src/zenremotestore/chunking/chunkedcontent.cpp b/src/zenremotestore/chunking/chunkedcontent.cpp index e97dcff15..9df7725db 100644 --- a/src/zenremotestore/chunking/chunkedcontent.cpp +++ b/src/zenremotestore/chunking/chunkedcontent.cpp @@ -5,14 +5,12 @@ #include <zencore/filesystem.h> #include <zencore/fmtutils.h> #include <zencore/logging.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/timer.h> #include <zencore/trace.h> - #include <zenremotestore/chunking/chunkedfile.h> #include <zenremotestore/chunking/chunkingcontroller.h> -#include <zenutil/parallelwork.h> -#include <zenutil/workerpools.h> ZEN_THIRD_PARTY_INCLUDES_START #include <tsl/robin_set.h> diff --git a/src/zenremotestore/include/zenremotestore/builds/buildstoragecache.h b/src/zenremotestore/include/zenremotestore/builds/buildstoragecache.h index 2e8024915..e30270848 100644 --- a/src/zenremotestore/include/zenremotestore/builds/buildstoragecache.h +++ b/src/zenremotestore/include/zenremotestore/builds/buildstoragecache.h @@ -11,6 +11,7 @@ namespace zen { class HttpClient; +class WorkerThreadPool; class BuildStorageCache { @@ -56,7 +57,7 @@ std::unique_ptr<BuildStorageCache> CreateZenBuildStorageCache(HttpClient& H std::string_view Namespace, std::string_view Bucket, const std::filesystem::path& TempFolderPath, - bool BoostBackgroundThreadCount); + WorkerThreadPool& BackgroundWorkerPool); struct ZenCacheEndpointTestResult { diff --git a/src/zenutil/include/zenutil/jupiter/jupiterclient.h b/src/zenremotestore/include/zenremotestore/jupiter/jupiterclient.h index 8a51bd60a..8a51bd60a 100644 --- a/src/zenutil/include/zenutil/jupiter/jupiterclient.h +++ b/src/zenremotestore/include/zenremotestore/jupiter/jupiterclient.h diff --git a/src/zenutil/include/zenutil/jupiter/jupiterhost.h b/src/zenremotestore/include/zenremotestore/jupiter/jupiterhost.h index 3bbc700b8..3bbc700b8 100644 --- a/src/zenutil/include/zenutil/jupiter/jupiterhost.h +++ b/src/zenremotestore/include/zenremotestore/jupiter/jupiterhost.h diff --git a/src/zenutil/include/zenutil/jupiter/jupitersession.h b/src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h index b79790f25..b79790f25 100644 --- a/src/zenutil/include/zenutil/jupiter/jupitersession.h +++ b/src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h diff --git a/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h b/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h index 7e5af5e6b..fbcdde955 100644 --- a/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h +++ b/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h @@ -126,6 +126,7 @@ RemoteProjectStore::LoadContainerResult BuildContainer( CidStore& ChunkStore, ProjectStore::Project& Project, ProjectStore::Oplog& Oplog, + WorkerThreadPool& WorkerPool, size_t MaxBlockSize, size_t MaxChunksPerBlock, size_t MaxChunkEmbedSize, @@ -153,6 +154,8 @@ RemoteProjectStore::Result SaveOplog(CidStore& ChunkStore, RemoteProjectStore& RemoteStore, ProjectStore::Project& Project, ProjectStore::Oplog& Oplog, + WorkerThreadPool& NetworkWorkerPool, + WorkerThreadPool& WorkerPool, size_t MaxBlockSize, size_t MaxChunksPerBlock, size_t MaxChunkEmbedSize, @@ -165,6 +168,8 @@ RemoteProjectStore::Result SaveOplog(CidStore& ChunkStore, RemoteProjectStore::Result LoadOplog(CidStore& ChunkStore, RemoteProjectStore& RemoteStore, ProjectStore::Oplog& Oplog, + WorkerThreadPool& NetworkWorkerPool, + WorkerThreadPool& WorkerPool, bool ForceDownload, bool IgnoreMissingAttachments, bool CleanOplog, diff --git a/src/zenutil/jupiter/jupiterclient.cpp b/src/zenremotestore/jupiter/jupiterclient.cpp index dbac218a4..bf9d8e346 100644 --- a/src/zenutil/jupiter/jupiterclient.cpp +++ b/src/zenremotestore/jupiter/jupiterclient.cpp @@ -1,6 +1,6 @@ // Copyright Epic Games, Inc. All Rights Reserved. -#include <zenutil/jupiter/jupiterclient.h> +#include <zenremotestore/jupiter/jupiterclient.h> namespace zen { diff --git a/src/zenutil/jupiter/jupiterhost.cpp b/src/zenremotestore/jupiter/jupiterhost.cpp index d06229cbf..df6be10c9 100644 --- a/src/zenutil/jupiter/jupiterhost.cpp +++ b/src/zenremotestore/jupiter/jupiterhost.cpp @@ -1,6 +1,6 @@ // Copyright Epic Games, Inc. All Rights Reserved. -#include <zenutil/jupiter/jupiterhost.h> +#include <zenremotestore/jupiter/jupiterhost.h> #include <zencore/compactbinary.h> #include <zencore/fmtutils.h> diff --git a/src/zenutil/jupiter/jupitersession.cpp b/src/zenremotestore/jupiter/jupitersession.cpp index 4b594239e..942e2a9dc 100644 --- a/src/zenutil/jupiter/jupitersession.cpp +++ b/src/zenremotestore/jupiter/jupitersession.cpp @@ -1,6 +1,6 @@ // Copyright Epic Games, Inc. All Rights Reserved. -#include <zenutil/jupiter/jupitersession.h> +#include <zenremotestore/jupiter/jupitersession.h> #include <zencore/compactbinary.h> #include <zencore/compactbinarybuilder.h> diff --git a/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp b/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp index bfd4e433c..b198b7c99 100644 --- a/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp +++ b/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp @@ -8,8 +8,8 @@ #include <zenhttp/httpclientauth.h> -#include <zenutil/jupiter/jupiterclient.h> -#include <zenutil/jupiter/jupitersession.h> +#include <zenremotestore/jupiter/jupiterclient.h> +#include <zenremotestore/jupiter/jupitersession.h> namespace zen { diff --git a/src/zenremotestore/projectstore/remoteprojectstore.cpp b/src/zenremotestore/projectstore/remoteprojectstore.cpp index c2e270909..d008d1452 100644 --- a/src/zenremotestore/projectstore/remoteprojectstore.cpp +++ b/src/zenremotestore/projectstore/remoteprojectstore.cpp @@ -15,7 +15,6 @@ #include <zenhttp/httpcommon.h> #include <zenremotestore/chunking/chunkedfile.h> #include <zenstore/cidstore.h> -#include <zenutil/workerpools.h> #include <unordered_map> @@ -2307,6 +2306,7 @@ RemoteProjectStore::LoadContainerResult BuildContainer(CidStore& ChunkStore, ProjectStore::Project& Project, ProjectStore::Oplog& Oplog, + WorkerThreadPool& WorkerPool, size_t MaxBlockSize, size_t MaxChunksPerBlock, size_t MaxChunkEmbedSize, @@ -2319,7 +2319,7 @@ BuildContainer(CidStore& ChunkStore, const std::function<void(std::vector<std::pair<IoHash, FetchChunkFunc>>&&)>& OnBlockChunks, bool EmbedLooseFiles) { - WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); + // WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); remotestore_impl::AsyncRemoteResult RemoteResult; CbObject ContainerObject = BuildContainer(ChunkStore, @@ -2348,6 +2348,8 @@ SaveOplog(CidStore& ChunkStore, RemoteProjectStore& RemoteStore, ProjectStore::Project& Project, ProjectStore::Oplog& Oplog, + WorkerThreadPool& NetworkWorkerPool, + WorkerThreadPool& WorkerPool, size_t MaxBlockSize, size_t MaxChunksPerBlock, size_t MaxChunkEmbedSize, @@ -2363,9 +2365,6 @@ SaveOplog(CidStore& ChunkStore, remotestore_impl::UploadInfo Info; - WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); - WorkerThreadPool& NetworkWorkerPool = GetMediumWorkerPool(EWorkloadType::Background); - const RemoteProjectStore::RemoteStoreInfo RemoteStoreInfo = RemoteStore.GetInfo(); std::filesystem::path AttachmentTempPath; @@ -2887,6 +2886,8 @@ RemoteProjectStore::Result LoadOplog(CidStore& ChunkStore, RemoteProjectStore& RemoteStore, ProjectStore::Oplog& Oplog, + WorkerThreadPool& NetworkWorkerPool, + WorkerThreadPool& WorkerPool, bool ForceDownload, bool IgnoreMissingAttachments, bool CleanOplog, @@ -2898,9 +2899,6 @@ LoadOplog(CidStore& ChunkStore, Stopwatch Timer; - WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); - WorkerThreadPool& NetworkWorkerPool = GetSmallWorkerPool(EWorkloadType::Background); - std::unordered_set<IoHash, IoHash::Hasher> Attachments; uint64_t BlockCountToDownload = 0; @@ -3454,10 +3452,15 @@ TEST_CASE_TEMPLATE("project.store.export", std::shared_ptr<RemoteProjectStore> RemoteStore = CreateFileRemoteStore(Options); RemoteProjectStore::RemoteStoreInfo StoreInfo = RemoteStore->GetInfo(); + WorkerThreadPool WorkerPool(4); + WorkerThreadPool NetworkPool(2); + RemoteProjectStore::Result ExportResult = SaveOplog(CidStore, *RemoteStore, *Project.Get(), *Oplog, + NetworkPool, + WorkerPool, Options.MaxBlockSize, Options.MaxChunksPerBlock, Options.MaxChunkEmbedSize, @@ -3475,6 +3478,8 @@ TEST_CASE_TEMPLATE("project.store.export", RemoteProjectStore::Result ImportResult = LoadOplog(CidStore, *RemoteStore, *OplogImport, + NetworkPool, + WorkerPool, /*Force*/ false, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ false, @@ -3484,6 +3489,8 @@ TEST_CASE_TEMPLATE("project.store.export", RemoteProjectStore::Result ImportForceResult = LoadOplog(CidStore, *RemoteStore, *OplogImport, + NetworkPool, + WorkerPool, /*Force*/ true, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ false, @@ -3493,6 +3500,8 @@ TEST_CASE_TEMPLATE("project.store.export", RemoteProjectStore::Result ImportCleanResult = LoadOplog(CidStore, *RemoteStore, *OplogImport, + NetworkPool, + WorkerPool, /*Force*/ false, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ true, @@ -3502,6 +3511,8 @@ TEST_CASE_TEMPLATE("project.store.export", RemoteProjectStore::Result ImportForceCleanResult = LoadOplog(CidStore, *RemoteStore, *OplogImport, + NetworkPool, + WorkerPool, /*Force*/ true, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ true, diff --git a/src/zenremotestore/xmake.lua b/src/zenremotestore/xmake.lua index 35d554710..0818dda7b 100644 --- a/src/zenremotestore/xmake.lua +++ b/src/zenremotestore/xmake.lua @@ -6,6 +6,6 @@ target('zenremotestore') add_headerfiles("**.h") add_files("**.cpp") add_includedirs("include", {public=true}) - add_deps("zencore", "zenstore", "zenutil") + add_deps("zencore", "zenstore") add_packages("vcpkg::robin-map") add_packages("vcpkg::eastl", {public=true}); diff --git a/src/zenserver-test/buildstore-tests.cpp b/src/zenserver-test/buildstore-tests.cpp index 1368b5909..29afd3f9d 100644 --- a/src/zenserver-test/buildstore-tests.cpp +++ b/src/zenserver-test/buildstore-tests.cpp @@ -15,6 +15,7 @@ # include <zencore/scopeguard.h> # include <zenhttp/packageformat.h> # include <zenremotestore/builds/buildstoragecache.h> +# include <zenutil/workerpools.h> # include <zenutil/zenserverprocess.h> # include <zenhttp/httpclient.h> @@ -346,7 +347,8 @@ TEST_CASE("buildstore.cache") HttpClient Client(Instance.GetBaseUri()); BuildStorageCache::Statistics Stats; - std::unique_ptr<BuildStorageCache> Cache(CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, false)); + std::unique_ptr<BuildStorageCache> Cache( + CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, GetTinyWorkerPool(EWorkloadType::Background))); { IoHash NoneBlob = IoHash::HashBuffer("data", 4); @@ -365,7 +367,8 @@ TEST_CASE("buildstore.cache") } Cache->Flush(500); - Cache = CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, false); + + Cache = CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, GetTinyWorkerPool(EWorkloadType::Background)); { std::vector<BuildStorageCache::BlobExistsResult> Exists = Cache->BlobsExists(BuildId, BlobHashes); @@ -404,7 +407,7 @@ TEST_CASE("buildstore.cache") } Cache->Flush(500); - Cache = CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, false); + Cache = CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, GetTinyWorkerPool(EWorkloadType::Background)); { std::vector<BuildStorageCache::BlobExistsResult> Exists = Cache->BlobsExists(BuildId, BlobHashes); @@ -433,7 +436,7 @@ TEST_CASE("buildstore.cache") } Cache->Flush(500); - Cache = CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, false); + Cache = CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, GetTinyWorkerPool(EWorkloadType::Background)); { std::vector<BuildStorageCache::BlobExistsResult> Exists = Cache->BlobsExists(BuildId, BlobHashes); @@ -467,7 +470,8 @@ TEST_CASE("buildstore.cache") HttpClient Client(Instance.GetBaseUri()); BuildStorageCache::Statistics Stats; - std::unique_ptr<BuildStorageCache> Cache(CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, false)); + std::unique_ptr<BuildStorageCache> Cache( + CreateZenBuildStorageCache(Client, Stats, Namespace, Bucket, TempDir, GetTinyWorkerPool(EWorkloadType::Background))); std::vector<BuildStorageCache::BlobExistsResult> Exists = Cache->BlobsExists(BuildId, BlobHashes); CHECK(Exists.size() == BlobHashes.size()); diff --git a/src/zenserver/cache/httpstructuredcache.cpp b/src/zenserver/cache/httpstructuredcache.cpp index a9d6be8f2..884684eed 100644 --- a/src/zenserver/cache/httpstructuredcache.cpp +++ b/src/zenserver/cache/httpstructuredcache.cpp @@ -12,6 +12,7 @@ #include <zencore/fmtutils.h> #include <zencore/logging.h> #include <zencore/memory/llm.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/stream.h> #include <zencore/timer.h> @@ -20,13 +21,12 @@ #include <zenhttp/httpserver.h> #include <zenhttp/httpstats.h> #include <zenhttp/packageformat.h> +#include <zenremotestore/jupiter/jupiterclient.h> #include <zenstore/cache/structuredcachestore.h> #include <zenstore/gc.h> #include <zenutil/cache/cache.h> #include <zenutil/cache/cacherequests.h> #include <zenutil/cache/rpcrecording.h> -#include <zenutil/jupiter/jupiterclient.h> -#include <zenutil/parallelwork.h> #include <zenutil/workerpools.h> #include "upstream/upstreamcache.h" diff --git a/src/zenserver/projectstore/httpprojectstore.cpp b/src/zenserver/projectstore/httpprojectstore.cpp index 9fc9e4605..8f2dbd830 100644 --- a/src/zenserver/projectstore/httpprojectstore.cpp +++ b/src/zenserver/projectstore/httpprojectstore.cpp @@ -2468,10 +2468,13 @@ HttpProjectService::HandleOplogLoadRequest(HttpRouterRequest& Req) } } + WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); + RemoteProjectStore::LoadContainerResult ContainerResult = BuildContainer( m_CidStore, *Project, *Oplog, + WorkerPool, MaxBlockSize, MaxChunkEmbedSize, MaxChunksPerBlock, @@ -2643,9 +2646,19 @@ HttpProjectService::HandleRpcRequest(HttpRouterRequest& Req) Oplog->OplogId(), ActualRemoteStore->GetInfo().Description)); - RemoteProjectStore::Result Result = - LoadOplog(m_CidStore, *ActualRemoteStore, *Oplog, Force, IgnoreMissingAttachments, CleanOplog, &Context); - auto Response = ConvertResult(Result); + WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); + WorkerThreadPool& NetworkWorkerPool = GetMediumWorkerPool(EWorkloadType::Background); + + RemoteProjectStore::Result Result = LoadOplog(m_CidStore, + *ActualRemoteStore, + *Oplog, + NetworkWorkerPool, + WorkerPool, + Force, + IgnoreMissingAttachments, + CleanOplog, + &Context); + auto Response = ConvertResult(Result); ZEN_INFO("LoadOplog: Status: {} '{}'", ToString(Response.first), Response.second); if (!IsHttpSuccessCode(Response.first)) { @@ -2697,10 +2710,15 @@ HttpProjectService::HandleRpcRequest(HttpRouterRequest& Req) NiceBytes(MaxBlockSize), NiceBytes(MaxChunkEmbedSize))); + WorkerThreadPool& WorkerPool = GetLargeWorkerPool(EWorkloadType::Background); + WorkerThreadPool& NetworkWorkerPool = GetMediumWorkerPool(EWorkloadType::Background); + RemoteProjectStore::Result Result = SaveOplog(m_CidStore, *ActualRemoteStore, *Project, *Oplog, + NetworkWorkerPool, + WorkerPool, MaxBlockSize, MaxChunksPerBlock, MaxChunkEmbedSize, diff --git a/src/zenserver/upstream/upstreamcache.cpp b/src/zenserver/upstream/upstreamcache.cpp index 744b861dd..8558e2a10 100644 --- a/src/zenserver/upstream/upstreamcache.cpp +++ b/src/zenserver/upstream/upstreamcache.cpp @@ -20,8 +20,8 @@ #include <zenstore/cache/structuredcachestore.h> #include <zenstore/cidstore.h> -#include <zenutil/jupiter/jupiterclient.h> -#include <zenutil/jupiter/jupitersession.h> +#include <zenremotestore/jupiter/jupiterclient.h> +#include <zenremotestore/jupiter/jupitersession.h> #include "cache/httpstructuredcache.h" #include "diag/logging.h" diff --git a/src/zenserver/zenserver.cpp b/src/zenserver/zenserver.cpp index 6ef78a7a4..c1199c1a7 100644 --- a/src/zenserver/zenserver.cpp +++ b/src/zenserver/zenserver.cpp @@ -22,11 +22,11 @@ #include <zencore/trace.h> #include <zencore/workthreadpool.h> #include <zenhttp/httpserver.h> +#include <zenremotestore/jupiter/jupiterclient.h> #include <zenstore/buildstore/buildstore.h> #include <zenstore/cidstore.h> #include <zenstore/scrubcontext.h> #include <zenstore/workspaces.h> -#include <zenutil/jupiter/jupiterclient.h> #include <zenutil/workerpools.h> #include <zenutil/zenserverprocess.h> diff --git a/src/zenstore-test/xmake.lua b/src/zenstore-test/xmake.lua index 6e614459c..ca260ee52 100644 --- a/src/zenstore-test/xmake.lua +++ b/src/zenstore-test/xmake.lua @@ -5,5 +5,5 @@ target("zenstore-test") set_group("tests") add_headerfiles("**.h") add_files("*.cpp") - add_deps("zenstore", "zencore") + add_deps("zenstore") add_packages("vcpkg::doctest") diff --git a/src/zenstore/buildstore/buildstore.cpp b/src/zenstore/buildstore/buildstore.cpp index 4539746ba..5c6aa099c 100644 --- a/src/zenstore/buildstore/buildstore.cpp +++ b/src/zenstore/buildstore/buildstore.cpp @@ -8,10 +8,10 @@ #include <zencore/fmtutils.h> #include <zencore/logging.h> #include <zencore/memory/llm.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/trace.h> #include <zencore/workthreadpool.h> -#include <zenutil/parallelwork.h> #include <zencore/uid.h> #include <zencore/xxhash.h> diff --git a/src/zenstore/cache/cachedisklayer.cpp b/src/zenstore/cache/cachedisklayer.cpp index de0678550..fd92dfa5a 100644 --- a/src/zenstore/cache/cachedisklayer.cpp +++ b/src/zenstore/cache/cachedisklayer.cpp @@ -10,11 +10,11 @@ #include <zencore/fmtutils.h> #include <zencore/jobqueue.h> #include <zencore/logging.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/trace.h> #include <zencore/workthreadpool.h> #include <zencore/xxhash.h> -#include <zenutil/parallelwork.h> #include <zenutil/referencemetadata.h> #include <zenutil/workerpools.h> diff --git a/src/zenstore/compactcas.cpp b/src/zenstore/compactcas.cpp index b534a5c72..9792f6d0b 100644 --- a/src/zenstore/compactcas.cpp +++ b/src/zenstore/compactcas.cpp @@ -11,11 +11,11 @@ #include <zencore/iobuffer.h> #include <zencore/logging.h> #include <zencore/memory/llm.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/trace.h> #include <zencore/workthreadpool.h> #include <zenstore/scrubcontext.h> -#include <zenutil/parallelwork.h> #include <gsl/gsl-lite.hpp> diff --git a/src/zenstore/filecas.cpp b/src/zenstore/filecas.cpp index 103928097..13437369f 100644 --- a/src/zenstore/filecas.cpp +++ b/src/zenstore/filecas.cpp @@ -9,6 +9,7 @@ #include <zencore/fmtutils.h> #include <zencore/logging.h> #include <zencore/memory/memory.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/string.h> #include <zencore/testing.h> @@ -20,7 +21,6 @@ #include <zencore/workthreadpool.h> #include <zenstore/gc.h> #include <zenstore/scrubcontext.h> -#include <zenutil/parallelwork.h> #if ZEN_WITH_TESTS # include <zencore/compactbinarybuilder.h> diff --git a/src/zenstore/projectstore.cpp b/src/zenstore/projectstore.cpp index 7e2fbcaff..f23a669b5 100644 --- a/src/zenstore/projectstore.cpp +++ b/src/zenstore/projectstore.cpp @@ -10,6 +10,7 @@ #include <zencore/fmtutils.h> #include <zencore/logging.h> #include <zencore/memory/llm.h> +#include <zencore/parallelwork.h> #include <zencore/scopeguard.h> #include <zencore/stream.h> #include <zencore/timer.h> @@ -17,7 +18,6 @@ #include <zenstore/caslog.h> #include <zenstore/cidstore.h> #include <zenstore/scrubcontext.h> -#include <zenutil/parallelwork.h> #include <zenutil/referencemetadata.h> #include <zenutil/workerpools.h> diff --git a/src/zenutil-test/xmake.lua b/src/zenutil-test/xmake.lua index 61a828f1c..061c79ddf 100644 --- a/src/zenutil-test/xmake.lua +++ b/src/zenutil-test/xmake.lua @@ -5,5 +5,5 @@ target("zenutil-test") set_group("tests") add_headerfiles("**.h") add_files("*.cpp") - add_deps("zenutil", "zencore") + add_deps("zenutil") add_packages("vcpkg::doctest") diff --git a/src/zenutil/zenutil.cpp b/src/zenutil/zenutil.cpp index 88be8a244..586fd1513 100644 --- a/src/zenutil/zenutil.cpp +++ b/src/zenutil/zenutil.cpp @@ -7,7 +7,6 @@ # include <zenutil/cache/cacherequests.h> # include <zenutil/cache/rpcrecording.h> # include <zenutil/commandlineoptions.h> -# include <zenutil/parallelwork.h> # include <zenutil/wildcard.h> namespace zen { @@ -19,7 +18,6 @@ zenutil_forcelinktests() cache::rpcrecord_forcelink(); cacherequests_forcelink(); commandlineoptions_forcelink(); - parallellwork_forcelink(); wildcard_forcelink(); } |