From a25200a1ba3f9cacdc814850b6673d709dec3597 Mon Sep 17 00:00:00 2001 From: Erik Grinaker Date: Wed, 14 Jun 2023 15:29:52 +0000 Subject: [PATCH] kvserver: clarify `kv.raft_log.disable_synchronization_unsafe` This setting not only disables fsync, it also disables flushing writes to the OS, so it will lose data even on process crashes. Epic: none Release note: None --- pkg/kv/kvserver/logstore/logstore.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/kv/kvserver/logstore/logstore.go b/pkg/kv/kvserver/logstore/logstore.go index ece2ffd87f5b..769e2fabae68 100644 --- a/pkg/kv/kvserver/logstore/logstore.go +++ b/pkg/kv/kvserver/logstore/logstore.go @@ -41,8 +41,9 @@ import ( var disableSyncRaftLog = settings.RegisterBoolSetting( settings.SystemOnly, "kv.raft_log.disable_synchronization_unsafe", - "set to true to disable synchronization on Raft log writes to persistent storage. "+ - "Setting to true risks data loss or data corruption on server crashes. "+ + "disables synchronization of Raft log writes to persistent storage. "+ + "Setting to true risks data loss or data corruption on process or OS crashes. "+ + "This not only disables fsync, but also disables flushing writes to the OS buffer. "+ "The setting is meant for internal testing only and SHOULD NOT be used in production.", envutil.EnvOrDefaultBool("COCKROACH_DISABLE_RAFT_LOG_SYNCHRONIZATION_UNSAFE", false), )