mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-19 16:15:07 +00:00
The query processor is required in table_helper's used by tracing. Now everything is ready to push the query processor reference from main down to the table helpers. Because of the current initialization sequence it's only possible to have the started query processor at the .start_tracing() time. Earlier, when the sharded<tracing> is started the query processor is not yet started, so tracing keeps a pointer on local query processor. When tracing is stopped, the pointer is null-ed. This is safe (but an assert is put when dereferencing it), because on stop trace writes' gate is closed and the query processor is only used in them. Also there's still a chance that tracing remains started in case of start abort, but this is on-par with the current code -- sharded query processor is not stopped, so the memory is not freed. Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>