EXCLUSIVE_JOIN task: missing builder class; defaultExclusiveJoinTask unreachable
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ả
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của conductor-oss/java-sdk
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
conductor-oss/java-sdk#135 ·
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
conductor-oss/java-sdk#132 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
conductor-oss/java-sdk#131 ·
-
NOOP task: missing builder classĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
conductor-oss/java-sdk#130 ·
-
Http task: no fluent connectionTimeout() builder methodCó thể làm lại được @kowser-orkes đã nhận 67 ngày trước và không có pull request nào đang mở. Đang mởbug
conductor-oss/java-sdk#134 · 1 bình luận · 2 người được giao ·
Tất cả issue của conductor-oss/java-sdk
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
component/zeebe kind/bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
UniversalMediaServer/UniversalMediaServer#6356 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
refinedmods/refinedstorage2#1414 · 1 bình luận ·
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
yegor256/rultor-image#76 · 1 bình luận ·