diff options
author | vkalintiris <vasilis@netdata.cloud> | 2023-07-26 15:30:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-26 15:30:49 +0300 |
commit | 440bd51e08fdfa2a4daa191fb68643456028a753 (patch) | |
tree | 1d2cc2b0afc24b6b77f95f2cf3a1bdbaa544e278 /database/engine/journalfile.c | |
parent | 3829b4c48ade535aa2d0a1153d45b49184b27a4b (diff) |
Refactor RRD code. (#15423)
* Storage engine.
* Host indexes to rrdb
* Move globals to rrdb
* Move storage_tiers_backfill to rrdb
* default_rrd_update_every to rrdb
* default_rrd_history_entries to rrdb
* gap_when_lost_iterations_above to rrdb
* rrdset_free_obsolete_time_s to rrdb
* libuv_worker_threads to rrdb
* ieee754_doubles to rrdb
* rrdhost_free_orphan_time_s to rrdb
* rrd_rwlock to rrdb
* localhost to rrdb
* rm extern from func decls
* mv rrd macro under rrd.h
* default_rrdeng_page_cache_mb to rrdb
* default_rrdeng_extent_cache_mb to rrdb
* db_engine_journal_check to rrdb
* default_rrdeng_disk_quota_mb to rrdb
* default_multidb_disk_quota_mb to rrdb
* multidb_ctx to rrdb
* page_type_size to rrdb
* tier_page_size to rrdb
* No storage_engine_id in rrdim functions
* storage_engine_id is provided by st
* Update to fix merge conflict.
* Update field name
* Remove unnecessary macros from rrd.h
* Rm unused type decls
* Rm duplicate func decls
* make internal function static
* Make the rest of public dbengine funcs accept a storage_instance.
* No more rrdengine_instance :)
* rm rrdset_debug from rrd.h
* Use rrdb to access globals in ML and ACLK
Missed due to not having the submodules in the
worktree.
* rm total_number
* rm RRDVAR_TYPE_TOTAL
* rm unused inline
* Rm names from typedef'd enums
* rm unused header include
* Move include
* Rm unused header include
* s/rrdhost_find_or_create/rrdhost_get_or_create/g
* s/find_host_by_node_id/rrdhost_find_by_node_id/
Also, remove duplicate definition in rrdcontext.c
* rm macro used only once
* rm macro used only once
* Reduce rrd.h api by moving funcs into a collector specific utils header
* Remove unused func
* Move parser specific function out of rrd.h
* return storage_number instead of void pointer
* move code related to rrd initialization out of rrdhost.c
* Remove tier_grouping from rrdim_tier
Saves 8 * storage_tiers bytes per dimension.
* Fix rebase
* s/rrd_update_every/update_every/
* Mark functions as static and constify args
* Add license notes and file to build systems.
* Remove remaining non-log/config mentions of memory mode
* Move rrdlabels api to separate file.
Also, move localhost functions that loads
labels outside of database/ and into daemon/
* Remove function decl in rrd.h
* merge rrdhost_cache_dir_for_rrdset_alloc into rrdset_cache_dir
* Do not expose internal function from rrd.h
* Rm NETDATA_RRD_INTERNALS
Only one function decl is covered. We have more
database internal functions that we currently
expose for no good reason. These will be placed
in a separate internal header in follow up PRs.
* Add license note
* Include libnetdata.h instead of aral.h
* Use rrdb to access localhost
* Fix builds without dbengine
* Add header to build system files
* Add rrdlabels.h to build systems
* Move func def from rrd.h to rrdhost.c
* Fix macos build
* Rm non-existing function
* Rebase master
* Define buffer length macro in ad_charts.
* Fix FreeBSD builds.
* Mark functions static
* Rm func decls without definitions
* Rebase master
* Rebase master
* Properly initialize value of storage tiers.
* Fix build after rebase.
Diffstat (limited to 'database/engine/journalfile.c')
-rw-r--r-- | database/engine/journalfile.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/database/engine/journalfile.c b/database/engine/journalfile.c index 24d3c1c6d6..5485bb3a99 100644 --- a/database/engine/journalfile.c +++ b/database/engine/journalfile.c @@ -296,8 +296,8 @@ static bool journalfile_v2_mounted_data_unmount(struct rrdengine_journalfile *jo void journalfile_v2_data_unmount_cleanup(time_t now_s) { // DO NOT WAIT ON ANY LOCK!!! - for(size_t tier = 0; tier < (size_t)storage_tiers ;tier++) { - struct rrdengine_instance *ctx = multidb_ctx[tier]; + for (size_t tier = 0; tier < rrdb.storage_tiers; tier++) { + struct rrdengine_instance *ctx = (struct rrdengine_instance *) rrdb.multidb_ctx[tier]; if(!ctx) continue; struct rrdengine_datafile *datafile; @@ -577,7 +577,7 @@ int journalfile_create(struct rrdengine_journalfile *journalfile, struct rrdengi char path[RRDENG_PATH_MAX]; journalfile_v1_generate_path(datafile, path, sizeof(path)); - fd = open_file_for_io(path, O_CREAT | O_RDWR | O_TRUNC, &file, use_direct_io); + fd = open_file_for_io(path, O_CREAT | O_RDWR | O_TRUNC, &file, rrdb.use_direct_io); if (fd < 0) { ctx_fs_error(ctx); return fd; @@ -917,7 +917,7 @@ static int journalfile_v2_validate(void *data_start, size_t journal_v2_file_size rc = journalfile_check_v2_extent_list(data_start, journal_v2_file_size); if (rc) return 1; - if (!db_engine_journal_check) + if (!rrdb.db_engine_journal_check) return 0; rc = journalfile_check_v2_metric_list(data_start, journal_v2_file_size); @@ -1115,7 +1115,7 @@ int journalfile_v2_load(struct rrdengine_instance *ctx, struct rrdengine_journal // Initialize the journal file to be able to access the data - if (!db_engine_journal_check) + if (!rrdb.db_engine_journal_check) journalfile->v2.flags |= JOURNALFILE_FLAG_METRIC_CRC_CHECK; journalfile_v2_data_set(journalfile, fd, data_start, journal_v2_file_size); @@ -1501,7 +1501,7 @@ int journalfile_load(struct rrdengine_instance *ctx, struct rrdengine_journalfil journalfile_v1_generate_path(datafile, path, sizeof(path)); - fd = open_file_for_io(path, O_RDWR, &file, use_direct_io); + fd = open_file_for_io(path, O_RDWR, &file, rrdb.use_direct_io); if (fd < 0) { ctx_fs_error(ctx); |