From b3acf011bdceefa24db1fd42b42b53c88777880d Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Thu, 2 Jul 2026 12:20:01 -0400 Subject: [PATCH] Restart vtbufferd on exit Notably, if you strace it, it will trigger an exit(1). There was at least one documented segmentation fault as well. Buffer content is lost in such an event, but service remains running. --- confluent_server/confluent/consoleserver.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/confluent_server/confluent/consoleserver.py b/confluent_server/confluent/consoleserver.py index 7337743e..92e3762f 100644 --- a/confluent_server/confluent/consoleserver.py +++ b/confluent_server/confluent/consoleserver.py @@ -597,14 +597,21 @@ def _start_tenant_sessions(cfm): event=log.Events.stacktrace) cfm.watch_nodecollection(_nodechange) +running = True + +def run_buffer_daemon(): + global _bufferdaemon + while running: + _bufferdaemon = subprocess.Popen( + ['/opt/confluent/bin/vtbufferd', 'confluent-vtbuffer'], bufsize=0, stdin=subprocess.DEVNULL, + stdout=subprocess.DEVNULL) + _bufferdaemon.wait() def initialize(): global _tracelog global _bufferdaemon _tracelog = log.Logger('trace') - _bufferdaemon = subprocess.Popen( - ['/opt/confluent/bin/vtbufferd', 'confluent-vtbuffer'], bufsize=0, stdin=subprocess.DEVNULL, - stdout=subprocess.DEVNULL) + eventlet.spawn(run_buffer_daemon) def start_console_sessions(): configmodule.hook_new_configmanagers(_start_tenant_sessions)