Repository navigation
[SDK Sentinel] Extend local activity executor recovery test timeout - #3181
Open
sdk-sentinel-bot wants to merge 1 commit into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Caution
This PR contains untrusted AI-generated code. Do not approve or run CI until a maintainer has reviewed the diff. SDK Sentinel verified that GitHub Actions remained approval-gated with zero executable jobs when this PR was opened.
Summary
Give the fault-injection test enough time to recover in Temporal Cloud. The [target-branch Cloud job](https://github.com/temporalio/sdk-java/actions/runs/40974431076/job/123798841103) timed out while the companion CLI execution passed. No breaking changes; no server PR is required.
Root cause
The test deliberately rejects seven local-activity executor submissions. That fails workflow-task processing and requires server-mediated recovery. Cloud execution, introduced by the Cloud test classification change, can cross the SDK test rule's unrelated 10-second default. The unchanged source [passed immediately before](https://github.com/temporalio/sdk-java/actions/runs/40774443363/job/123119910543) and then [timed out](https://github.com/temporalio/sdk-java/actions/runs/40774855862/job/123121368943).
Fix
Override only this test's JUnit timeout to 30 seconds, preserving its injected failures and completion assertion.
Validation
The focused in-memory test and formatting/compilation checks pass. The fixed validator was blocked only by read-only submodule metadata in the investigation sandbox. Cloud CI remains required to exercise the original mode.
Validation status:
validation-incompletehighhighhighstandard— 1 changed file; 774 Bnot-reproduced— The in-memory focused test passed before the edit; Temporal Cloud was unavailable locally.pass-after-only— The existing fault-injection test passed after receiving the Cloud-appropriate timeout override.Gradle formatting and test-source compilation) — passedGradle formatting and test-source compilation) — did not pass (failure)Investigator-run checks
./gradlew --offline --no-daemon :temporal-sdk:test --tests 'io.temporal.worker.LocalActivitySlotThreadPoolTests' -x :temporal-serviceclient:initSubmodules -x :temporal-serviceclient:updateSubmodules— passed; 1 attempt(s). The unchanged in-memory test passed, so the Cloud timeout did not reproduce locally../gradlew --offline --no-daemon :temporal-sdk:cleanTest :temporal-sdk:test --tests 'io.temporal.worker.LocalActivitySlotThreadPoolTests' -x :temporal-serviceclient:initSubmodules -x :temporal-serviceclient:updateSubmodules— passed; 1 attempt(s). The focused class passed after the timeout override..ci-flake-runtime/input/validate.sh— failed; 1 attempt(s). Spotless checks reached the changed module successfully, but validation stopped at temporal-serviceclient:updateSubmodules because the sandbox makes .git/modules metadata read-only. The trusted unchanged baseline had passed../gradlew --offline --no-daemon spotlessCheck testClasses -x test -x :temporal-serviceclient:initSubmodules -x :temporal-serviceclient:updateSubmodules— passed; 1 attempt(s). The validator's formatting and compilation checks passed when the sandbox-blocked submodule refresh tasks were excluded.Required target CI
Residual risks
Automation provenance
655ef6620e866e07bd7dd848092a74781518dc22If this finding should not be fixed, apply the
sdk-sentinel:false-positivelabel and close the PR. Sentinel will suppress the finding until its affected source changes.SDK Sentinel recurrence history
2026-10-29 23:49 UTC2026-10-31 06:33 UTC