Skip to content

[hotfix][Process] Tolerate transient UNKNOWN execution-engine status - #4329

Open
czy006 wants to merge 3 commits into
apache:masterfrom
czy006:codex/hotfix-process-unknown-status
Open

[hotfix][Process] Tolerate transient UNKNOWN execution-engine status#4329
czy006 wants to merge 3 commits into
apache:masterfrom
czy006:codex/hotfix-process-unknown-status

Conversation

@czy006

@czy006 czy006 commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Brief change log

Continue polling after transient UNKNOWN execution-engine statuses and fail only after the configured consecutive threshold. On persistent unknown status, the executor performs best-effort cancellation and records the failure.

How was this patch tested?

  • Add positive and negative test coverage for transient and persistent unknown statuses.
  • Add screenshots for manual tests if appropriate (not applicable: backend-only change).
  • Run TestTableProcessExecutor locally with JDK 11 before creating this pull request.

Documentation

  • Does this pull request introduce a new feature? (yes / no)
  • no
  • If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
  • not applicable

@github-actions github-actions Bot added the module:ams-server Ams server module label Aug 17, 2026
…ndoning a job

The polling loop only treated PENDING/RUNNING/SUBMITTED as executing, so
a single UNKNOWN - including on the first post-submit status query -
exited the loop into the 'unexpected terminal status' path: the job was
untracked despite its persisted identifier, hasAliveTableProcess stopped
gating, and the next tick could submit a concurrent job for the same
table. One read timeout, network blip or a new server-side status enum
was enough.

Keep polling while UNKNOWN within a budget (MAX_UNKNOWN_STATUS_POLLS=3,
counter reset on any known status), and on exceeding it cancel the job
best-effort and record a synthesized FAILED terminal state so the
normal COMPLETE_FAILED path (and retry) applies.

Red tests (with a compile shim on the old code): transient case stuck
at SUBMITTED instead of SUCCESS; persistent case never cancelled and
never FAILED. Complements the unpersisted-identifier fix.
Fix record: docs/fix-records/2026-08-16-fix-21-unknown-status-tolerance.md
@czy006
czy006 force-pushed the codex/hotfix-process-unknown-status branch from ca8a26c to 42ad935 Compare August 18, 2026 02:16
@czy006
czy006 marked this pull request as ready for review August 18, 2026 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module:ams-server Ams server module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant