Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

EXCLUSIVE_JOIN task: missing builder class; defaultExclusiveJoinTask unreachable

Aperta Adatta ai principianti
#133 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
74/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
java

Direzione di ricerca

Inizia con TaskType.EXCLUSIVE_JOIN e WorkflowTask.defaultExclusiveJoinTask, quindi confronta l'API ExclusiveJoin proposta con le convenzioni del builder di Task dell'SDK. Il lavoro è completato quando i chiamanti possono configurare joinOn e defaultExclusiveJoinTask tramite ExclusiveJoin e la workflow task risultante può essere registrata ed eseguita senza costruire una WorkflowTask grezza.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Summary

TaskType.EXCLUSIVE_JOIN exists in the SDK enum but there is no ExclusiveJoin builder
class. There is no way to set the defaultExclusiveJoinTask field through the SDK API.
Users must construct raw WorkflowTask objects manually.

Server baseline

Conductor 3.32.0-rc.9

Evidence

Static: TaskType.EXCLUSIVE_JOIN is in the enum; no builder class exists.
WorkflowTask.defaultExclusiveJoinTask (type: List<String>) is unreachable from the SDK.

Live (2026-07-16): A raw EXCLUSIVE_JOIN task (joinOn, defaultExclusiveJoinTask)
inside a SWITCH workflow was registered and executed against Conductor OSS 3.32.0-rc.9.
Workflow completed successfully — server supports EXCLUSIVE_JOIN fully, gap is SDK-only.

Expected behaviour

new ExclusiveJoin("excl_join_ref")
    .joinOn("branch_a_task", "branch_b_task")
    .defaultExclusiveJoinTask("branch_b_task")

Proposed fix

public class ExclusiveJoin extends Task<ExclusiveJoin> {
    private String[] joinOn;
    private List<String> defaultExclusiveJoinTask = new ArrayList<>();

    public ExclusiveJoin(String taskReferenceName, String... joinOn) {
        super(taskReferenceName, TaskType.EXCLUSIVE_JOIN);
        this.joinOn = joinOn;
    }

    public ExclusiveJoin defaultExclusiveJoinTask(String... tasks) {
        this.defaultExclusiveJoinTask = Arrays.asList(tasks);
        return this;
    }

    @Override
    protected void updateWorkflowTask(WorkflowTask task) {
        task.setJoinOn(Arrays.asList(joinOn));
        task.setDefaultExclusiveJoinTask(defaultExclusiveJoinTask);
    }
}

Related

Discovered during systematic SDK audit against Conductor OSS 3.32.0-rc.9.
Same gap exists in the Python SDK (conductor-oss/python-sdk#429).

Lingua principale
Java
Stelle
15
Fork
10
Merge medio
1g 15h
PR unite (30g)
3

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di conductor-oss/java-sdk

Tutte le issue di conductor-oss/java-sdk

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.