temporalio / temporalio/sdk-rust
[Feature Request] Friendly connection error messages
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 523
- Forks
- 161
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 67
Description
Errors I currently get from a Worker, and proposed new messages, to go along with @cretz's new error codes:
unknown domain
worker:start: TransportError: tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: nodename nor servname provided, or not known" })))
Unable to connect to the Server connection URL you provided, server.foo.com:7233, since according to DNS, the domain server.foo.com does not exist. Perhaps there's a typo, or you haven't yet set it up with your domain registrar.
If domain is *.tmprl.cloud, then:
Unable to connect to the Server connection URL you provided, loren.temporal-dev.tmprl.cloud:7233, since the loren.temporal-dev namespace does not exist. To get the correct URL, visit cloud.temporal.io/namespaces, click your namespace, and copy the gRPC address from the namespace detail page.
valid domain, no frontend running on the port
worker:dev: TransportError: tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 61, kind: ConnectionRefused, message: "Connection refused" })))
worker:dev: at Function.connect (/Users/me/gh/samples-typescript/food-delivery/node_modules/@temporalio/worker/src/connection.ts:51:15)
Unable to connect to the Server connection URL you provided, server.foo.com:7233, since there is no Temporal Server accepting connections on port 7233. Verify the domain is correct. If it is, ensure that the Server is running on 7233.
wrong cert
worker:start: TransportError: Failed to call GetSystemInfo: status: Unknown, message: "transport error", details: [], metadata: MetadataMap { headers: {} }
worker:start: at Function.connect (/Users/me/gh/samples-typescript/food-delivery/node_modules/@temporalio/worker/lib/connection.js:55:23)
The connection [key/cert] you provided failed verification with the Server. Make sure it's the correct one, compatible with the CA certificate that server.foo.com has. For more info, see t.mp/T111
If domain is *.tmprl.cloud, then:
The connection [key/cert] you provided failed verification with Temporal Cloud. Make sure it's the correct one, compatible with the CA certificate that is uploaded to cloud.temporal.io/namespaces/loren.a2dd6. For more info, see t.mp/T222
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Worker connection handling and the Function.connect entry point shown in samples-typescript/food-delivery/node_modules/@temporalio/worker/src/connection.ts. Trace how DNS failures, connection refusals, and certificate verification errors are surfaced, then verify that each case produces a friendly message containing the relevant connection details and guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100