summaryrefslogtreecommitdiffstats
path: root/database/engine/metadata_log/metadatalog.c
diff options
context:
space:
mode:
Diffstat (limited to 'database/engine/metadata_log/metadatalog.c')
-rw-r--r--database/engine/metadata_log/metadatalog.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/database/engine/metadata_log/metadatalog.c b/database/engine/metadata_log/metadatalog.c
index 8c8c4b04f1..5f44f08193 100644
--- a/database/engine/metadata_log/metadatalog.c
+++ b/database/engine/metadata_log/metadatalog.c
@@ -134,6 +134,7 @@ void metalog_try_link_new_metadata_logfile(struct metalog_worker_config *wc)
if (metalogfile->records.first) { /* it has records */
/* Finalize metadata log file and create a new one */
mlf_flush_records_buffer(wc, &ctx->records_log, &ctx->metadata_logfiles);
+ fsync_metadata_logfile(ctx->metadata_logfiles.last);
ret = add_new_metadata_logfile(ctx, &ctx->metadata_logfiles, 0, ctx->last_fileno + 1);
if (likely(!ret)) {
++ctx->last_fileno;
@@ -364,6 +365,7 @@ void metalog_worker(void* arg)
case METALOG_COMPACTION_FLUSH:
mlf_flush_records_buffer(wc, &ctx->compaction_state.records_log,
&ctx->compaction_state.new_metadata_logfiles);
+ fsync_metadata_logfile(ctx->compaction_state.new_metadata_logfiles.last);
complete(cmd.record_io_descr.completion);
break;
default: