Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

EXCLUSIVE_JOIN task: missing builder class; defaultExclusiveJoinTask unreachable

Abierto Apto para principiantes
#133 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
74/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
java

Línea de trabajo

Comienza con TaskType.EXCLUSIVE_JOIN y WorkflowTask.defaultExclusiveJoinTask y, a continuación, compara la API ExclusiveJoin propuesta con las convenciones del constructor de Task del SDK. Se considera completado cuando los llamadores pueden configurar joinOn y defaultExclusiveJoinTask mediante ExclusiveJoin y la tarea de workflow resultante puede registrarse y ejecutarse sin construir una WorkflowTask sin procesar.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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).

Lenguaje dominante
Java
Estrellas
12
Forks
10
Merge medio
1 d 10 h
PR fusionados (30 d)
2

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de conductor-oss/java-sdk

Todos los issues de conductor-oss/java-sdk

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.