summaryrefslogtreecommitdiff
path: root/src/conn/conn_log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conn/conn_log.c')
-rw-r--r--src/conn/conn_log.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/conn/conn_log.c b/src/conn/conn_log.c
index f9c26a86b92..817e7197d11 100644
--- a/src/conn/conn_log.c
+++ b/src/conn/conn_log.c
@@ -471,7 +471,18 @@ __log_server(void *arg)
session = arg;
conn = S2C(session);
log = conn->log;
- locked = false;
+
+ /*
+ * The log server thread does a variety of work. It forces out any
+ * buffered log writes. It pre-allocates log files and it performs
+ * log archiving. The reason the wrlsn thread does not force out
+ * the buffered writes is because we want to process and move the
+ * write_lsn forward as quickly as possible. The same reason applies
+ * to why the log file server thread does not force out the writes.
+ * That thread does fsync calls which can take a long time and we
+ * don't want log records sitting in the buffer over the time it
+ * takes to sync out an earlier file.
+ */
while (F_ISSET(conn, WT_CONN_LOG_SERVER_RUN)) {
/*
* Perform log pre-allocation.