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);