# Sdk-side retry handling

**URL:** <https://community.temporal.io/t/sdk-side-retry-handling/9002>\
**Category:** Community Support\
**Tags:** java-sdk\
**Created:** [July 29, 2023, 1:09am UTC](https://community.temporal.io/t/sdk-side-retry-handling/9002 "2023-07-29T01:09:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maggie](https://avatars.discourse-cdn.com/v4/letter/m/9d8465/32.png) [@Maggie](https://community.temporal.io/u/Maggie)\
**Post date:** [July 29, 2023, 1:09am UTC](https://community.temporal.io/t/sdk-side-retry-handling/9002/1 "2023-07-29T01:09:10Z")

</div>

Hi Team,

Before starting execution on the temporal server side, our Java SDK may encounter exceptions. We need a comprehensive list of these exceptions so that we can determine if they are eligible for SDK-side retry attempts, taking into account business logic. Any additional information in this regard would be highly appreciated.

So far, we have observed three main exceptions:

- WorkflowExecutionAlreadyStarted: should not be retried (based on our business logic)

- WorkflowNotFoundException: Also driven by our business logic, this exception should not be retried.

- io.grpc.StatusRuntimeException: This exception is more generic and encompasses various scenarios with different message information. We have observed the following categories so far:

Questions:

- How does Temporal map internal exceptions to grpc exceptions? Is this fair to use the status code (NOT\_FOUND / RESOURCE\_EXHAUSTED) of the grpc exception to determine whether they should be retried on sdk side?
- Is there a comprehensive list of exception I can take a closer look? Thanks!
