summaryrefslogtreecommitdiffstats
path: root/streaming
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2023-03-16 17:27:17 +0200
committerGitHub <noreply@github.com>2023-03-16 17:27:17 +0200
commit4c6a13e5bd09afd7405d0c309a76b88961e08630 (patch)
treef985eda5b4948a65161aa7c4fa1a4971857a7a58 /streaming
parent4e8be0f23d72ef1fd99bab8bce2aaccbea2fe64c (diff)
Use one thread for ACLK synchonization (#14281)
* Remove aclk sync threads * Disable functions if compiled with --disable-cloud * Allocate and reuse buffer when scanning hosts Tune transactions when writing metadata Error checking when executing db_execute (it is already within a loop with retries) * Schedule host context load in parallel Child connection will be delayed if context load is not complete Event loop cleanup * Delay retention check if context is not loaded Remove context load check from regular metadata host scan * Improve checks to check finished threads * Cleanup warnings when compiling with --disable-cloud * Clean chart labels that were created before our current maximum retention * Fix sql statement * Remove structures members that of no use Remove buffer allocations when not needed * Fix compilation error * Don't check for service running when not from a worker * Code cleanup if agent is compiled with --disable-cloud Setup ACLK tables in the database if needed Submit node status update messages to the cloud * Fix compilation warning when --disable-cloud is specified * Address codacy issues * Remove empty file -- has already been moved under contexts * Use enum instead of numbers * Use UUID_STR_LEN * Add newline at the end of file * Release node_id to prevent memory leak under certain cases * Add queries in defines * Ignore rc from transaction start -- if there is an active transaction, we will use it (same with commit) should further improve in a future PR * Remove commented out code * If host is null (it should not be) do not allocate config (coverity reports Resource leak) * Do garbage collection when contexts is initialized * Handle the case when config is not yet available for a host
Diffstat (limited to 'streaming')
-rw-r--r--streaming/receiver.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/streaming/receiver.c b/streaming/receiver.c
index ce2b4869c7..de205de92e 100644
--- a/streaming/receiver.c
+++ b/streaming/receiver.c
@@ -692,6 +692,12 @@ static int rrdpush_receive(struct receiver_state *rpt)
return 1;
}
+ if (unlikely(rrdhost_flag_check(host, RRDHOST_FLAG_PENDING_CONTEXT_LOAD))) {
+ rrdpush_receive_log_status(rpt, "host is initializing", "INITIALIZATION IN PROGRESS RETRY LATER");
+ close(rpt->fd);
+ return 1;
+ }
+
// system_info has been consumed by the host structure
rpt->system_info = NULL;