aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-10-03 12:38:35 +0200
committerGitHub Enterprise <[email protected]>2025-10-03 12:38:35 +0200
commit5361ee1c77b68bb14237169660840d6d63a74892 (patch)
tree3ad259133e09485a14506be38e43ec5b62a050f2 /src
parentmove chunking code to zenremotestore lib (#545) (diff)
downloadzen-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')
-rw-r--r--src/zen/cmds/builds_cmd.cpp20
-rw-r--r--src/zen/cmds/projectstore_cmd.cpp3
-rw-r--r--src/zen/cmds/wipe_cmd.cpp2
-rw-r--r--src/zencore/include/zencore/parallelwork.h (renamed from src/zenutil/include/zenutil/parallelwork.h)0
-rw-r--r--src/zencore/parallelwork.cpp (renamed from src/zenutil/parallelwork.cpp)2
-rw-r--r--src/zencore/zencore.cpp2
-rw-r--r--src/zenhttp-test/xmake.lua2
-rw-r--r--src/zennet-test/xmake.lua2
-rw-r--r--src/zenremotestore-test/xmake.lua2
-rw-r--r--src/zenremotestore/builds/buildstoragecache.cpp12
-rw-r--r--src/zenremotestore/builds/jupiterbuildstorage.cpp2
-rw-r--r--src/zenremotestore/chunking/chunkedcontent.cpp4
-rw-r--r--src/zenremotestore/include/zenremotestore/builds/buildstoragecache.h3
-rw-r--r--src/zenremotestore/include/zenremotestore/jupiter/jupiterclient.h (renamed from src/zenutil/include/zenutil/jupiter/jupiterclient.h)0
-rw-r--r--src/zenremotestore/include/zenremotestore/jupiter/jupiterhost.h (renamed from src/zenutil/include/zenutil/jupiter/jupiterhost.h)0
-rw-r--r--src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h (renamed from src/zenutil/include/zenutil/jupiter/jupitersession.h)0
-rw-r--r--src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h5
-rw-r--r--src/zenremotestore/jupiter/jupiterclient.cpp (renamed from src/zenutil/jupiter/jupiterclient.cpp)2
-rw-r--r--src/zenremotestore/jupiter/jupiterhost.cpp (renamed from src/zenutil/jupiter/jupiterhost.cpp)2
-rw-r--r--src/zenremotestore/jupiter/jupitersession.cpp (renamed from src/zenutil/jupiter/jupitersession.cpp)2
-rw-r--r--src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp4
-rw-r--r--src/zenremotestore/projectstore/remoteprojectstore.cpp27
-rw-r--r--src/zenremotestore/xmake.lua2
-rw-r--r--src/zenserver-test/buildstore-tests.cpp14
-rw-r--r--src/zenserver/cache/httpstructuredcache.cpp4
-rw-r--r--src/zenserver/projectstore/httpprojectstore.cpp24
-rw-r--r--src/zenserver/upstream/upstreamcache.cpp4
-rw-r--r--src/zenserver/zenserver.cpp2
-rw-r--r--src/zenstore-test/xmake.lua2
-rw-r--r--src/zenstore/buildstore/buildstore.cpp2
-rw-r--r--src/zenstore/cache/cachedisklayer.cpp2
-rw-r--r--src/zenstore/compactcas.cpp2
-rw-r--r--src/zenstore/filecas.cpp2
-rw-r--r--src/zenstore/projectstore.cpp2
-rw-r--r--src/zenutil-test/xmake.lua2
-rw-r--r--src/zenutil/zenutil.cpp2
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();
}