temporalio/sdk-java

Activities that return with interrupted flag should be successfully reported as Completed

Open

#731 opened on Sep 16, 2021

 (0 comments) (0 reactions) (0 assignees)Java (231 forks)auto 404
buggood first issue

Repository metrics

Stars
 (421 stars)
PR merge metrics
 (PR metrics pending)

Description

Expected Behavior

If Activity

  • never noticed and interrupted flag or
  • caught an interrupted exception, restored the interrupted flag, and continued to run or returned a result should be reported as Completed with its returned value.

Actual Behavior

According to https://github.com/temporalio/sdk-java/pull/722#discussion_r707879325 if activity returns with an interrupted flag turned on, subsequent gRPC calls fail and the Activity result never gets reported.

Proposed solution

  • We should write a stable reproducible test close to a test that was changed in https://github.com/temporalio/sdk-java/pull/722
  • When Activity returns with interrupted flag = "true", we should hide the flag, report the result of Activity execution to the server, and return the flag back after that allowing the thread pool to stop.

Contributor guide