aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/hub/storageserverinstance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/hub/storageserverinstance.cpp')
-rw-r--r--src/zenserver/hub/storageserverinstance.cpp78
1 files changed, 2 insertions, 76 deletions
diff --git a/src/zenserver/hub/storageserverinstance.cpp b/src/zenserver/hub/storageserverinstance.cpp
index 8d36e6a46..34860eb9b 100644
--- a/src/zenserver/hub/storageserverinstance.cpp
+++ b/src/zenserver/hub/storageserverinstance.cpp
@@ -2,8 +2,6 @@
#include "storageserverinstance.h"
-#include "hydration.h"
-
#include <zencore/assertfmt.h>
#include <zencore/filesystem.h>
#include <zencore/fmtutils.h>
@@ -14,12 +12,8 @@
namespace zen {
-StorageServerInstance::StorageServerInstance(ZenServerEnvironment& RunEnvironment,
- HydrationBase& Hydration,
- const Configuration& Config,
- std::string_view ModuleId)
-: m_Hydration(Hydration)
-, m_Config(Config)
+StorageServerInstance::StorageServerInstance(ZenServerEnvironment& RunEnvironment, const Configuration& Config, std::string_view ModuleId)
+: m_Config(Config)
, m_ModuleId(ModuleId)
, m_ServerInstance(RunEnvironment, ZenServerInstance::ServerMode::kStorageServer)
{
@@ -138,7 +132,6 @@ StorageServerInstance::ProvisionLocked()
ZEN_INFO("Provisioning storage server instance for module '{}', at '{}'", m_ModuleId, m_Config.StateDir);
try
{
- Hydrate();
SpawnServerProcess();
}
catch (const std::exception& Ex)
@@ -156,19 +149,6 @@ StorageServerInstance::DeprovisionLocked()
{
ZEN_TRACE_CPU("StorageServerInstance::DeprovisionLocked");
ShutdownServerProcess();
-
- // Crashed or Hibernated: process already dead; skip Shutdown.
- // Dehydrate preserves instance state for future re-provisioning. Failure means saved state
- // may be stale or absent, but the process is already dead so the slot can still be released.
- // Swallow the exception and proceed with cleanup rather than leaving the module stuck.
- try
- {
- Dehydrate();
- }
- catch (const std::exception& Ex)
- {
- ZEN_WARN("Dehydration of module {} failed during deprovisioning, current state not saved. Reason: {}", m_ModuleId, Ex.what());
- }
}
void
@@ -176,12 +156,6 @@ StorageServerInstance::ObliterateLocked()
{
ZEN_TRACE_CPU("StorageServerInstance::ObliterateLocked");
ShutdownServerProcess();
-
- std::atomic<bool> AbortFlag{false};
- std::atomic<bool> PauseFlag{false};
- HydrationConfig Config = MakeHydrationConfig(AbortFlag, PauseFlag);
- std::unique_ptr<HydrationStrategyBase> Hydrator = m_Hydration.CreateHydrator(Config);
- Hydrator->Obliterate();
}
void
@@ -218,54 +192,6 @@ StorageServerInstance::WakeLocked()
}
}
-void
-StorageServerInstance::Hydrate()
-{
- if (!m_Config.EnableHydration)
- {
- ZEN_INFO("Hydration disabled; skipping hydrate for module '{}'", m_ModuleId);
- return;
- }
- ZEN_TRACE_CPU("StorageServerInstance::Hydrate");
- std::atomic<bool> AbortFlag{false};
- std::atomic<bool> PauseFlag{false};
- HydrationConfig Config = MakeHydrationConfig(AbortFlag, PauseFlag);
- std::unique_ptr<HydrationStrategyBase> Hydrator = m_Hydration.CreateHydrator(Config);
- m_HydrationState = Hydrator->Hydrate();
-}
-
-void
-StorageServerInstance::Dehydrate()
-{
- if (!m_Config.EnableDehydration)
- {
- ZEN_INFO("Dehydration disabled; skipping dehydrate for module '{}'", m_ModuleId);
- return;
- }
- ZEN_TRACE_CPU("StorageServerInstance::Dehydrate");
- std::atomic<bool> AbortFlag{false};
- std::atomic<bool> PauseFlag{false};
- HydrationConfig Config = MakeHydrationConfig(AbortFlag, PauseFlag);
- std::unique_ptr<HydrationStrategyBase> Hydrator = m_Hydration.CreateHydrator(Config);
- Hydrator->Dehydrate(m_HydrationState);
-}
-
-HydrationConfig
-StorageServerInstance::MakeHydrationConfig(std::atomic<bool>& AbortFlag, std::atomic<bool>& PauseFlag)
-{
- HydrationConfig Config{.ServerStateDir = m_Config.StateDir, .TempDir = m_Config.TempDir, .ModuleId = m_ModuleId};
- if (m_Config.OptionalWorkerPool)
- {
- Config.Threading.emplace(
- HydrationConfig::ThreadingOptions{.WorkerPool = m_Config.OptionalWorkerPool, .AbortFlag = &AbortFlag, .PauseFlag = &PauseFlag});
- }
- Config.PackEnabled = m_Config.HydrationPackEnabled;
- Config.PackThresholdBytes = m_Config.HydrationPackThresholdBytes;
- Config.MaxPackBytes = m_Config.HydrationMaxPackBytes;
-
- return Config;
-}
-
StorageServerInstance::SharedLockedPtr::SharedLockedPtr() : m_Lock(nullptr), m_Instance(nullptr)
{
}