apache/seatunnel

[Docs][Core] Add Javadoc to TaskExecutionService inner classes (cooperative/blocking execution model)

Fermée

#10 546 ouverte le 28 févr. 2026

 (2 commentaires) (0 réaction) (0 personne assignée)Java (1 432 forks)batch import
help wanted

Métriques du dépôt

Stars
 (6 897 étoiles)
Métriques de merge PR
 (Merge moyen 13j 21h) (143 PRs mergées en 30 j)

Description

Sub-issue of #10533

Scope

TaskExecutionService implements Zeta's dual-mode task execution: cooperative (work-stealing) for lightweight tasks and blocking (dedicated thread) for I/O-heavy tasks. Its inner classes — CooperativeTaskWorker, RunBusWorkSupplier, BlockingWorker, and TaskGroupExecutionTracker — implement this model but are entirely undocumented.

File

seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/TaskExecutionService.java

Methods to document

Class / Method Line What to explain
submitThreadShareTask(...) 210 Routes cooperative (non-blocking) tasks into the shared work-stealing queue
submitBlockingTask(...) 235 Launches a dedicated thread per blocking task; why blocking tasks must not share threads
deployTask(TaskGroupImmutableInformation) 276 Deserializes task group; loads connector classes; starts thread-share or blocking tasks based on task type
notifyTaskStatusToMaster(...) 442 Reports per-task status changes to CoordinatorService via Hazelcast operation
CooperativeTaskWorker (class) 731 Work-stealing cooperative executor; exclusiveTaskTracker for single-task phases; loop structure
CooperativeTaskWorker.run() 753 Task-stealing loop; transitions between exclusive and shared task execution; yield on empty queue
RunBusWorkSupplier.runNewBusWork(boolean) 849 Creates new CooperativeTaskWorker threads on demand when queue pressure is detected
BlockingWorker.run() 667 Dedicated-thread lifecycle: init → call → done; status notification on completion or exception
TaskGroupExecutionTracker.taskDone(Task) 928 All-tasks-complete detection (countdown latch pattern); triggers group-level completion and resource cleanup
TaskGroupExecutionTracker.exception(Throwable) 901 First-exception-wins: records the first failure and cancels all sibling tasks in the group

How to contribute

  1. Fork the repo and create a branch
  2. Add Javadoc to the methods above
  3. Run ./mvnw spotless:apply and ./mvnw -q -DskipTests verify
  4. Open a PR with title: [Docs][Core] Add Javadoc to TaskExecutionService inner classes

Guide contributeur