diff --git a/changelog.d/18959.misc b/changelog.d/18959.misc new file mode 100644 index 0000000000..e97475eec2 --- /dev/null +++ b/changelog.d/18959.misc @@ -0,0 +1 @@ +Fix `no active span when trying to log` tracing error on startup (when OpenTracing is enabled). diff --git a/synapse/app/_base.py b/synapse/app/_base.py index 1cf76d2a0b..d8e1d30b44 100644 --- a/synapse/app/_base.py +++ b/synapse/app/_base.py @@ -73,7 +73,6 @@ from synapse.events.presence_router import load_legacy_presence_router from synapse.handlers.auth import load_legacy_password_auth_providers from synapse.http.site import SynapseSite from synapse.logging.context import LoggingContext, PreserveLoggingContext -from synapse.logging.opentracing import init_tracer from synapse.metrics import install_gc_manager, register_threadpool from synapse.metrics.background_process_metrics import run_as_background_process from synapse.metrics.jemalloc import setup_jemalloc_stats @@ -574,9 +573,6 @@ async def start(hs: "HomeServer") -> None: # Load the certificate from disk. refresh_certificate(hs) - # Start the tracer - init_tracer(hs) # noqa - # Instantiate the modules so they can register their web resources to the module API # before we start the listeners. module_api = hs.get_module_api() diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py index afc6b85eae..fbc85b2f34 100644 --- a/synapse/app/generic_worker.py +++ b/synapse/app/generic_worker.py @@ -49,6 +49,7 @@ from synapse.config.server import ListenerConfig, TCPListenerConfig from synapse.federation.transport.server import TransportLayerServer from synapse.http.server import JsonResource, OptionsResource from synapse.logging.context import LoggingContext +from synapse.logging.opentracing import init_tracer from synapse.metrics import METRICS_PREFIX, MetricsResource, RegistryProxy from synapse.replication.http import REPLICATION_PREFIX, ReplicationRestResource from synapse.rest import ClientRestResource, admin @@ -359,6 +360,9 @@ def start(config: HomeServerConfig) -> None: setup_logging(hs, config, use_worker_options=True) + # Start the tracer + init_tracer(hs) # noqa + try: hs.setup() diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 163f7c70ab..159075e886 100644 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -29,7 +29,6 @@ from twisted.web.resource import EncodingResourceWrapper, Resource from twisted.web.server import GzipEncoderFactory import synapse -import synapse.config.logger from synapse import events from synapse.api.urls import ( CLIENT_API_PREFIX, @@ -50,6 +49,7 @@ from synapse.app._base import ( ) from synapse.config._base import ConfigError, format_config_error from synapse.config.homeserver import HomeServerConfig +from synapse.config.logger import setup_logging from synapse.config.server import ListenerConfig, TCPListenerConfig from synapse.federation.transport.server import TransportLayerServer from synapse.http.additional_resource import AdditionalResource @@ -60,6 +60,7 @@ from synapse.http.server import ( StaticResource, ) from synapse.logging.context import LoggingContext +from synapse.logging.opentracing import init_tracer from synapse.metrics import METRICS_PREFIX, MetricsResource, RegistryProxy from synapse.replication.http import REPLICATION_PREFIX, ReplicationRestResource from synapse.rest import ClientRestResource, admin @@ -385,7 +386,10 @@ def setup(config: HomeServerConfig) -> SynapseHomeServer: version_string=f"Synapse/{VERSION}", ) - synapse.config.logger.setup_logging(hs, config, use_worker_options=False) + setup_logging(hs, config, use_worker_options=False) + + # Start the tracer + init_tracer(hs) # noqa logger.info("Setting up server")