temporalio / temporalio/features
Support full query failure structure
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 32
- Forks
- 28
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 7
Description
Describe the solution you'd like
- SDK workers need to set (converted) query failures on to the new
failurefield on https://github.com/temporalio/api/pull/503, but making sure to keep settingerror_messageto the same value asfailure.message. - SDK clients need to check for this
QueryFailedFailuregRPC failure details on query response gRPC failure and if present and failure is present, need to set that as the cause of whatever is returned/thrown/raised today. For backwards compatibility, do not change the error that is used today though, only update the cause.
Per-SDK Tickets
Work cannot commence until https://github.com/temporalio/temporal/pull/6947 is released in a testable dev server. Core-based SDKs don't technically need to wait on Core since it already accepts a full failure type, but in order to test that this works end to end, they need to be able to generate a query failure that is properly serialized, so Core is needed first.
- Go - TODO after server released
- Java - TODO after server released
- Core - TODO after server released
- TypeScript - TODO after Core
- Python - TODO after Core
- .NET - TODO after Core
- Ruby - TODO after Core
- PHP - TODO after Go
- Temporal CLI - TODO after Go
Contributor guide
No contributing guide indexed for this repository
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 by checking temporal/pull/6947 and the per-SDK checklist to confirm the server and Core prerequisites are released. Trace query failures through the SDK workers and clients, including QueryFailedFailure gRPC details, and verify that each listed SDK preserves the existing error while updating its cause and keeps error_message aligned with failure.message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc, java, php, python, ruby, typescript
- Domain
- api, backend, cli, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100