influxdata/influxdb · error · Error
lost HTTP/gRPC service
Error message
lost HTTP/gRPC service
What it means
Display message of the `Error::LostHttpGrpc` variant, a source-less error indicating the HTTP/gRPC service handle was dropped or its service task ended while the serve command still expected it to be running. Like LostBackend, it signals an unexpected service teardown.
Solutions
- Look earlier in logs for the real cause (panic or listener error inside the HTTP/gRPC task)
- Confirm the bind addresses are still valid and not reclaimed by another process
- Reproduce with debug logging and file an issue with the version and logs
- Upgrade influxdb3 in case the premature-teardown bug is fixed upstream
Defensive patterns
Strategy: try-catch
Try / catch
match serve_result {
Err(Error::LostHttpGrpc) => eprintln!("HTTP/gRPC service terminated unexpectedly; check listener errors/panics"),
...
} Prevention
- Ensure bind ports are available and stable before/at startup
- Enable verbose logging to catch early service-task panics
- Gracefully shut down; avoid racing signals during requests
When it happens
Trigger: The HTTP/gRPC service future completes early (crash, panic, bind failure inside the task) and the serve command detects the service is gone while awaiting completion.
Common situations: Service task panics on a request, the listener closes unexpectedly, or shutdown ordering issues cause the service to terminate before the process finishes.
Understand the failure class
Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.
Related errors
- lost backend
- wal is shutdown and not accepting writes
- An unexpected error occurred in the client library
- Internal error
- {message}
AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19).
Data as JSON: /api/errors/2e5e478cb56e77c6.
Report an issue: GitHub.
Appendix: source
Thrown at influxdb3/src/commands/serve.rs:156
#[error("invalid token: {0}")]
InvalidToken(#[from] hex::FromHexError),
#[error("failed to initialize write buffer: {0:?}")]
WriteBufferInit(#[source] anyhow::Error),
#[error("failed to initialize catalog: {0}")]
InitializeCatalog(#[source] CatalogError),
#[error("failed to initialize last cache: {0}")]
InitializeLastCache(#[source] last_cache::Error),
#[error("failed to initialize distinct cache: {0:#}")]
InitializeDistinctCache(#[source] influxdb3_cache::distinct_cache::ProviderError),
#[error("lost backend")]
LostBackend,
#[error("lost HTTP/gRPC service")]
LostHttpGrpc,
#[error("lost admin token recovery service")]
LostAdminTokenRecovery,
#[error("tls requires both a cert and a key file to be passed in to work")]
NoCertOrKeyFile,
#[error("table cache index initialization failed: {0}")]
TableIndexCacheInitialization(
#[source] influxdb3_write::table_index_cache::TableIndexCacheError,
),
#[error(
"environment variable {0} (named by --node-id-from-env / INFLUXDB3_NODE_ID_FROM_ENV) \
must be set to a valid node id"
)]
NodeIdEnvVarMissing(String),View on GitHub (pinned to 06200ef96b)