When we deploy pipelines with GCS and BQ source & sink multiple times, we can see a new thread named OpenCensus.Disruptor-0 being spawned. This thread has an object of class TraceComponent that holds a reference to its own class loader. Looking at the code that creates this tracer, we can see that it uses a default no-op implementation when actual implementations aren’t available. We should exclude Open Census implementations to disable Open Census stats and tracing. They are not used by the plugins. For tracing, Open Census spawns a new thread and loads a single global instance of a TracingComponent. CDAP uses a separate class loader for each plugin. This leads to spawning a new thread for each plugin with the Open Census dependency. As this thread keeps a reference to the class loader, it prevents the class loader from being garbage collected leading to leaks. If no implementation of TracingComponent is found at runtime, Open Census uses a NoopTraceComponent.
Release Notes
None
Activity
Show:
Unresolved
Pinned fields
Click on the next to a field label to start pinning.
When we deploy pipelines with GCS and BQ source & sink multiple times, we can see a new thread named
OpenCensus.Disruptor-0
being spawned. This thread has an object of classTraceComponent
that holds a reference to its own class loader. Looking at the code that creates this tracer, we can see that it uses a default no-op implementation when actual implementations aren’t available. We should exclude Open Census implementations to disable Open Census stats and tracing. They are not used by the plugins. For tracing, Open Census spawns a new thread and loads a single global instance of a TracingComponent. CDAP uses a separate class loader for each plugin. This leads to spawning a new thread for each plugin with the Open Census dependency. As this thread keeps a reference to the class loader, it prevents the class loader from being garbage collected leading to leaks. If no implementation of TracingComponent is found at runtime, Open Census uses a NoopTraceComponent.