Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

EXCLUSIVE_JOIN task: missing builder class; defaultExclusiveJoinTask unreachable

Đang mở Phù hợp với người mới
#133 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
java
Lĩnh vực
backend-api-design

Hướng nghiên cứu

Bắt đầu với TaskType.EXCLUSIVE_JOIN và WorkflowTask.defaultExclusiveJoinTask, sau đó so sánh API ExclusiveJoin được đề xuất với các quy ước của trình dựng Task trong SDK. Hoàn thành khi các bên gọi có thể cấu hình joinOn và defaultExclusiveJoinTask thông qua ExclusiveJoin, đồng thời workflow task thu được có thể được đăng ký và thực thi mà không cần tạo một WorkflowTask thô.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Java
Star
12
Fork
10
Merge trung bình
1 ngày 10 giờ
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của conductor-oss/java-sdk

Tất cả issue của conductor-oss/java-sdk

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.