aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-10-17 11:58:38 +0200
committerGitHub <[email protected]>2023-10-17 11:58:38 +0200
commite2c9347900eb9ae0d1cadfbeb8d0a19a000c29f2 (patch)
treee21b8f09a05da979455a37f9ab14da5ab361ca22
parentchangelog (diff)
downloadzen-e2c9347900eb9ae0d1cadfbeb8d0a19a000c29f2.tar.xz
zen-e2c9347900eb9ae0d1cadfbeb8d0a19a000c29f2.zip
rewite state marker at startup (#477)
* rewrite state_marker at startup
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/zenserver/zenserver.cpp10
2 files changed, 5 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7a4aaeac3..168f83cda 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
- disabled by default, enable with `--cache-reference-cache-enabled`
- Changed: The default port for zenserver has been changed from 1337 to 8558
- Bugfix: GC logging now correctly reports used/free disk space in log message
+- Improvement: Rewrite the state_marker file at startup to make sure we have write access to the data directory
- Improvement: Faster reading of project store oplogs
- Improvement: Faster collection of referenced CId content in project store
- Improvement: Also reject bad bucket GET operations to prevent the buckets from being created on disk
diff --git a/src/zenserver/zenserver.cpp b/src/zenserver/zenserver.cpp
index b1e661973..9d51a581e 100644
--- a/src/zenserver/zenserver.cpp
+++ b/src/zenserver/zenserver.cpp
@@ -396,12 +396,10 @@ ZenServer::InitializeState(const ZenServerOptions& ServerOptions)
WriteFile(ManifestPath, m_RootManifest.GetBuffer().AsIoBuffer());
}
{
- std::filesystem::path StateMarkerPath = m_DataRoot / "state_marker";
- if (!std::filesystem::is_regular_file(StateMarkerPath))
- {
- static const std::string_view StateMarkerContent = "deleting this file will cause " ZEN_APP_NAME " to exit"sv;
- WriteFile(StateMarkerPath, IoBuffer(IoBuffer::Wrap, StateMarkerContent.data(), StateMarkerContent.size()));
- }
+ std::filesystem::path StateMarkerPath = m_DataRoot / "state_marker";
+ static const std::string_view StateMarkerContent = "deleting this file will cause " ZEN_APP_NAME " to exit"sv;
+ WriteFile(StateMarkerPath, IoBuffer(IoBuffer::Wrap, StateMarkerContent.data(), StateMarkerContent.size()));
+
EnqueueStateMarkerTimer();
}
}