From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 1BCD262C01 for ; Thu, 1 Oct 2020 10:54:13 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D4FE31F707 for ; Thu, 1 Oct 2020 10:53:42 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 62F2C1F6FD for ; Thu, 1 Oct 2020 10:53:42 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 306D145B40 for ; Thu, 1 Oct 2020 10:53:42 +0200 (CEST) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Thu, 1 Oct 2020 10:53:26 +0200 Message-Id: <20201001085326.3815261-4-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001085326.3815261-1-f.gruenbichler@proxmox.com> References: <20201001085326.3815261-1-f.gruenbichler@proxmox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.036 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH cluster 3/3] pmxcfs: enable QB log thread X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2020 08:54:13 -0000 since pmxcfs is a multi-threaded application, and `man qblog.h` explicitly states: Thread safe non-blocking logging. Logging is only thread safe when threaded logging is in use. If you plan on logging from multiple threads, you must initialize libqb's logger thread and use qb_log_filter_ctl to set the QB_LOG_CONF_THREADED flag on all the logging targets in use. without this we can lose log messages under high load, especially when enabling debug mode to trouble-shoot issues. Signed-off-by: Fabian Grünbichler --- Notes: this would have saved Alexandre and me quite a bit of back and forth and false leads ;) data/src/pmxcfs.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/src/pmxcfs.c b/data/src/pmxcfs.c index 00aa53d..3146121 100644 --- a/data/src/pmxcfs.c +++ b/data/src/pmxcfs.c @@ -1005,8 +1005,13 @@ int main(int argc, char *argv[]) } } else { write_pidfile(getpid()); + // foreground == STDERR logging enabled, make it threaded + qb_log_ctl(QB_LOG_STDERR, QB_LOG_CONF_THREADED, QB_TRUE); } + qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_THREADED, QB_TRUE); + qb_log_thread_start(); + wrote_pidfile = TRUE; cfs_loop_t *corosync_loop = cfs_loop_new(fuse); -- 2.20.1