temporalio/sdk-java

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

オープン

#731 opened on 2021/09/16

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Java (231 件のフォーク)auto 404
buggood first issue

Repository metrics

Stars
 (421 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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.

コントリビューターガイド