joeyutong opened a new issue, #1218: URL: https://github.com/apache/flink-agents/issues/1218
## Description Track lifecycle and metric bookkeeping gaps in the JDK < 21 parallel action execution engine. - [ ] **Correct the listener threading contract.** `TaskLifecycleListener` and `ComponentExecutionListener` promise mailbox-thread callbacks, but the parallel engine also invokes callbacks on action workers. Document the execution-context contract without promising fixed mailbox-thread affinity. ([Source](https://github.com/apache/flink-agents/blob/bd527d7fa8de9083ccdd2a98e1c4dbdef5a98138/runtime/src/main/java/org/apache/flink/agents/runtime/lifecycle/TaskLifecycleListener.java#L24-L41)) - [ ] **Emit `onRecordStart` when restoring parallel execution.** The parallel restore path requeues unfinished tasks without notifying record start, while completion still emits `onRecordFinished`. Restore should preserve the start/finish pairing, as the serial path does. ([Source](https://github.com/apache/flink-agents/blob/bd527d7fa8de9083ccdd2a98e1c4dbdef5a98138/runtime/src/main/java/org/apache/flink/agents/runtime/operator/ActionExecutionOperator.java#L1627-L1647)) - [ ] **Restore subagent task binding after async resumption.** If action A waits on an async call and action B prepares or finishes, `BaseSubagentSetup.currentTask` becomes B or null. Resuming A restores its runner context but not this binding, so a subsequent subagent submission can use the wrong task's allocator or fail with `No prepared action task to assign sub-agent ids from.` ([Source](https://github.com/apache/flink-agents/blob/bd527d7fa8de9083ccdd2a98e1c4dbdef5a98138/runtime/src/main/java/org/apache/flink/agents/runtime/operator/ActionTaskContextManager.java#L362-L399)) - [ ] **Record input-run failure metrics on the parallel failure path.** An action failure is propagated through `Work.commit()` without calling `markInputRunFailed`. For a fresh input run, this misses `numOfInputRunsFailed`, the active-run gauge decrement, and terminal samples for `inputRunLatencyMs` and `inputRunProcessingLatencyMs`. ([Source](https://github.com/apache/flink-agents/blob/bd527d7fa8de9083ccdd2a98e1c4dbdef5a98138/runtime/src/main/java/org/apache/flink/agents/runtime/operator/ActionExecutionOperator.java#L1847-L1851)) - [ ] **Keep restored synthetic no-op tasks out of action metrics.** When an input matches no action, the parallel engine creates a synthetic no-op task. Restoring a checkpoint containing that queued task increments its `numOfPendingActionTasks`, but dequeue and completion exclude it from action metrics. The gauge therefore remains nonzero after completion. ([Source](https://github.com/apache/flink-agents/blob/bd527d7fa8de9083ccdd2a98e1c4dbdef5a98138/runtime/src/main/java/org/apache/flink/agents/runtime/operator/ActionExecutionOperator.java#L1575-L1607)) ## Version Source checked against `main` at `bd527d7fa8de9083ccdd2a98e1c4dbdef5a98138`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
