From 284f6f3aa4f36cefad2601c490510621496c2b53 Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Sun, 20 Nov 2022 23:47:53 +0200 Subject: streaming compression, query planner and replication fixes (#14023) * streaming compression, query planner and replication fixes * remove journal v2 stats from global statistics * disable sql for checking past sql UUIDs * single threaded replication * final replication thread using dictionaries and JudyL for sorting the pending requests * do not timeout the sending socket when there are pending replication requests * streaming receiver using read() instead of fread() * remove FILE * from streaming - now using posix read() and write() * increase timeouts to 10 minutes * apply sender timeout only when there are metrics that are supposed to be streamed * error handling in replication * remove retries on socket read timeout; better error messages * take into account inbound traffic too to detect that a connection is stale * remove race conditions from replication thread * make sure deleted entries are marked as executed, so that even if deletion fails, they will not be executed * 2 minutes timeout to retry streaming to a parent that already has this node * remove unecessary condition check * fix compilation warnings * include judy in replication * wrappers to handle retries for SSL_read and SSL_write * compressed bytes read monitoring * recursive locks on replication to make it faster during flush or cleanup * replication completion chart at the receiver side * simplified recursive mutex * simplified recursive mutex again --- streaming/replication.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'streaming/replication.h') diff --git a/streaming/replication.h b/streaming/replication.h index 11fec65d2e..684efdc120 100644 --- a/streaming/replication.h +++ b/streaming/replication.h @@ -14,4 +14,9 @@ bool replicate_chart_request(send_command callback, void *callback_data, time_t first_entry_child, time_t last_entry_child, time_t response_first_start_time, time_t response_last_end_time); +void replication_init_sender(struct sender_state *sender); +void replication_cleanup_sender(struct sender_state *sender); +void replication_flush_sender(struct sender_state *sender); +void replication_add_request(struct sender_state *sender, const char *chart_id, time_t after, time_t before, bool start_streaming); + #endif /* REPLICATION_H */ -- cgit v1.2.3