@cryptotaxi247 / netdata-1 / commits / 766c47dba

Free resources where writing datafile extents (#19593)

* Cleanup request * Safe release of wal after ctx_current_disk_space_increase and ctx_io_write_op_bytes

Stelios Fragkakis committed Feb 7, 2025 at 20:15 UTC 766c47dba0b8130b8c5fa559362af6ee58100935
2 files changed +4 -3
src/database/engine/journalfile.c
+3 -3
@@ -49,12 +49,12 @@ void journalfile_v1_extent_write(struct rrdengine_instance *ctx, struct rrdengin
49 }
50
51 uv_fs_req_cleanup(&io_descr->req);
52 + ctx_current_disk_space_increase(ctx, wal->buf_size);
53 + ctx_io_write_op_bytes(ctx, wal->buf_size);
54 +
55 wal_release(wal);
56 __atomic_sub_fetch(&ctx->atomic.extents_currently_being_flushed, 1, __ATOMIC_RELAXED);
57 worker_is_idle();
55 -
56 - ctx_current_disk_space_increase(ctx, wal->buf_size);
57 - ctx_io_write_op_bytes(ctx, wal->buf_size);
58 }
59
60 void journalfile_v2_generate_path(struct rrdengine_datafile *datafile, char *str, size_t maxlen)
src/database/engine/rrdengine.c
+1
@@ -905,6 +905,7 @@ static void *extent_write_tp_worker(
905 netdata_log_error(
906 "DBENGINE: %s: uv_fs_write: %s", __func__, uv_strerror((int)xt_io_descr->uv_fs_request.result));
907 }
908 + uv_fs_req_cleanup(&xt_io_descr->uv_fs_request);
909
910 if (likely(!df_write_error)) {
911 journalfile_v1_extent_write(ctx, datafile, xt_io_descr->wal);