temporalio / temporalio/features

Support full query failure structure

Open
#566 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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 failure field on https://github.com/temporalio/api/pull/503, but making sure to keep setting error_message to the same value as failure.message.
  • SDK clients need to check for this QueryFailedFailure gRPC 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.