weaviate/weaviate · error
failed to shutdown trace provider: %w
Error message
failed to shutdown trace provider: %w
What it means
Provider.Shutdown failed while flushing and shutting down the SDK TracerProvider within a 30s timeout. Typically means the OTLP collector was unreachable so buffered spans could not be exported, or shutdown exceeded the deadline. Raised during server shutdown; the node is already stopping.
Source
Thrown at usecases/telemetry/opentelemetry/provider.go:155
func (p *Provider) Tracer() trace.Tracer {
if p.tracer == nil {
return noop.NewTracerProvider().Tracer("noop")
}
return p.tracer
}
// Shutdown gracefully shuts down the provider
func (p *Provider) Shutdown(ctx context.Context) error {
if p.provider == nil {
return nil
}
// Set a timeout for shutdown
shutdownCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
if err := p.provider.Shutdown(shutdownCtx); err != nil {
return fmt.Errorf("failed to shutdown trace provider: %w", err)
}
p.logger.Info("OpenTelemetry provider shutdown successfully")
return nil
}
// IsEnabled returns whether OpenTelemetry is enabled
func (p *Provider) IsEnabled() bool {
return p.config != nil && p.config.Enabled
}
View on GitHub (pinned to 75aa4b6d11)
Solutions
- Log and continue shutdown: tracing data may be lost but the node must still exit
- Ensure the OTLP collector is reachable and fast enough to drain the span buffer
- Increase the shutdown timeout or reduce batch size if flushes routinely time out
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at usecases/telemetry/opentelemetry/provider.go:155 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/bdcf90047e7accbc.
Report an issue: GitHub.