temporalio / temporalio/sdk-java

Handle all exceptions as non-retryable when TEMPORAL_DEBUG is set

Open
#499 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
433
Forks
249
Avg merge
5d 6h
Merged PRs (30d)
26

Description

Is your feature request related to a problem? Please describe.
By default all exceptions are Retryable in workflows/activities and it makes troubleshooting much harder when we have to deal with a core exceptions such as NullPointerException, InvalidArgumentException, SQL errors etc during a development cycle.

Describe the solution you'd like
TEMPORAL_DEBUG env variable is already in use to assist with debugging (e.g. timeouts) and it could be reused to handle all exception as non-retryable by default.

There is some discussion here as well that might provide more context:
https://temporalio.slack.com/archives/CTT84KXK9/p1621341005008500

Contributor guide

Open the contributing guide

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 tracing the existing TEMPORAL_DEBUG handling for timeouts and the exception classification used by workflows and activities. Done means that, when TEMPORAL_DEBUG is set, exceptions are treated as non-retryable by default while the normal retry behavior remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.