• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

temporalio / sdk-java / #358
68%
master: 75%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 13 Aug 2026 11:34PM UTC
Jobs 1
Files 920
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Aug 2026 11:18PM UTC coverage: 68.042% (+0.01%) from 68.03%
#358

push

github

web-flow
💥 Report Nexus input deserialization failures as non-retryable BAD_REQUEST (#3002)

io.nexusrpc:nexus-sdk 0.6.0-alpha no longer wraps serializer errors in a
generic RuntimeException (nexus-rpc/sdk-java#47), so PayloadSerializer is
now the place that decides the error type and retry behavior for them.

Input that will never decode into the expected type, an unparsable Payload
or a DataConverterException, is reported as a non-retryable
HandlerException with error type BAD_REQUEST. Any other failure on the way
to the value propagates untouched so it keeps the handling a failure from
an operation handler would get; in particular a PayloadCodec outage stays
retryable rather than permanently failing an operation over a momentary
blip. A HandlerException or ApplicationFailure raised by the data
converter is also propagated as-is so the converter's own error type and
retry behavior survive.

An operation input type that is neither a Class nor a ParameterizedType is
a handler definition problem rather than a bad request, so it is reported
as a non-retryable INTERNAL.

Result serialization is not translated. Note that as of the Nexus change
above this is no longer the same as being unchanged: a non-retryable
ApplicationFailure raised while serializing a result now reaches
convertKnownFailures and becomes a non-retryable INTERNAL, where it used
to be flattened to a retryable INTERNAL.

BREAKING CHANGE: input a handler cannot deserialize previously failed with
a retryable INTERNAL handler error and was retried until the operation's
schedule-to-close timeout. It now fails immediately with a non-retryable
BAD_REQUEST.

7402 of 12970 branches covered (57.07%)

Branch coverage included in aggregate %.

5 of 5 new or added lines in 1 file covered. (100.0%)

7 existing lines in 3 files now uncovered.

30518 of 42760 relevant lines covered (71.37%)

0.71 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
81.3
-0.11% temporal-test-server/src/main/java/io/temporal/internal/testservice/TestWorkflowMutableStateImpl.java
2
88.89
-1.96% temporal-sdk/src/main/java/io/temporal/internal/payload/visitor/Traversal.java
1
88.06
-1.12% temporal-sdk/src/main/java/io/temporal/internal/worker/AsyncPoller.java
Jobs
ID Job ID Ran Files Coverage
1 #358.1 13 Aug 2026 11:34PM UTC 920
68.04
Source Files on build #358
  • Tree
  • List 920
  • Changed 12
  • Source Changed 1
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 7cf35351 on github
  • Prev Build on main
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc