From e70e2b4453a27d9d1caf77224ffd6335c50981fb Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Mon, 24 May 2021 19:26:40 +0200 Subject: Added CidStore, currently used to track relationships between compressed and uncompressed chunk hashes This first implementation is in-memory only, persistence is next --- zenserver/zenserver.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'zenserver/zenserver.cpp') diff --git a/zenserver/zenserver.cpp b/zenserver/zenserver.cpp index 934fd95bc..7142024ea 100644 --- a/zenserver/zenserver.cpp +++ b/zenserver/zenserver.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -101,7 +102,7 @@ public: if (ServiceConfig.StructuredCacheEnabled) { spdlog::info("instantiating structured cache service"); - m_StructuredCacheService.reset(new zen::HttpStructuredCacheService(m_DataRoot / "cache", *m_CasStore)); + m_StructuredCacheService.reset(new zen::HttpStructuredCacheService(m_DataRoot / "cache", *m_CasStore, m_CidStore)); } else { @@ -207,6 +208,7 @@ private: zen::HttpServer m_Http; std::unique_ptr m_CasStore{zen::CreateCasStore()}; + zen::CidStore m_CidStore{*m_CasStore}; zen::CasGc m_Gc{*m_CasStore}; zen::CasScrubber m_Scrubber{*m_CasStore}; HttpTestService m_TestService; -- cgit v1.2.3 From c54f3888d1b0e1bb0d5edf335c22a6d0f454afd2 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Mon, 24 May 2021 22:26:56 +0200 Subject: Implemented simple persistence for CidStore, which stores CID->CAS mappings --- zenserver/zenserver.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'zenserver/zenserver.cpp') diff --git a/zenserver/zenserver.cpp b/zenserver/zenserver.cpp index 7142024ea..e57a6142d 100644 --- a/zenserver/zenserver.cpp +++ b/zenserver/zenserver.cpp @@ -77,18 +77,20 @@ public: // Ok so now we're configured, let's kick things off zen::CasStoreConfiguration Config; - Config.RootDirectory = m_DataRoot / "CAS"; + Config.RootDirectory = m_DataRoot / "cas"; m_CasStore->Initialize(Config); spdlog::info("instantiating project service"); - m_ProjectStore = new zen::ProjectStore(*m_CasStore, m_DataRoot / "Builds"); + m_ProjectStore = new zen::ProjectStore(*m_CasStore, m_DataRoot / "projects"); m_HttpProjectService.reset(new zen::HttpProjectService{*m_CasStore, m_ProjectStore}); m_LocalProjectService = zen::LocalProjectService::New(*m_CasStore, m_ProjectStore); m_HttpLaunchService = std::make_unique(*m_CasStore); + m_CidStore = std::make_unique(*m_CasStore, m_DataRoot / "cid"); + if (ServiceConfig.LegacyCacheEnabled) { spdlog::info("instantiating legacy cache service"); @@ -102,7 +104,7 @@ public: if (ServiceConfig.StructuredCacheEnabled) { spdlog::info("instantiating structured cache service"); - m_StructuredCacheService.reset(new zen::HttpStructuredCacheService(m_DataRoot / "cache", *m_CasStore, m_CidStore)); + m_StructuredCacheService.reset(new zen::HttpStructuredCacheService(m_DataRoot / "cache", *m_CasStore, *m_CidStore)); } else { @@ -208,7 +210,7 @@ private: zen::HttpServer m_Http; std::unique_ptr m_CasStore{zen::CreateCasStore()}; - zen::CidStore m_CidStore{*m_CasStore}; + std::unique_ptr m_CidStore; zen::CasGc m_Gc{*m_CasStore}; zen::CasScrubber m_Scrubber{*m_CasStore}; HttpTestService m_TestService; -- cgit v1.2.3