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

No ExclusiveJoinTask builder class — defaultExclusiveJoinTask field unreachable

Đang mở
#429 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

@abhinavrastogi2627 đang làm issue này rồi.

Từ ngày 5/10/2026.

  • #515 của @abhinavrastogi2627 — đang mở

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
68/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ệ
python
Lĩnh vực
backend-api-design

Hướng nghiên cứu

Xác định các entry point hiện có của JoinTask và TaskInterface, sau đó kiểm tra cách chúng tạo một WorkflowTask và gán TaskType. Bổ sung coverage cho việc tạo một task EXCLUSIVE_JOIN với join_on và default_exclusive_join_task; được xem là hoàn thành khi SDK có thể serialize các trường đó và workflow kết quả chạy đúng cho một nhánh SWITCH không khớp.

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

Mô tả

bug

Summary

Tested against: Conductor OSS 3.32.0-rc.9

TaskType.EXCLUSIVE_JOIN exists in the SDK enum but there is no ExclusiveJoinTask
builder class. More critically, the defaultExclusiveJoinTask field (which tells
the server which task to use when no SWITCH branch ran) cannot be set through any
SDK path.

Details

JoinTask always produces TaskType.JOIN, not TaskType.EXCLUSIVE_JOIN. There
is no way to build an EXCLUSIVE_JOIN task using SDK classes alone.

EXCLUSIVE_JOIN is designed for SWITCH branches (where exactly one branch executes).
Without defaultExclusiveJoinTask set, EXCLUSIVE_JOIN workflows with a branch that
doesn't match will stall.

Suggested fix

class ExclusiveJoinTask(TaskInterface):
    def __init__(self, task_ref_name: str, join_on: List[str],
                 default_exclusive_join_task: Optional[List[str]] = None):
        super().__init__(task_ref_name, TaskType.EXCLUSIVE_JOIN)
        self._join_on = join_on
        self._default = default_exclusive_join_task or []

    def to_workflow_task(self) -> WorkflowTask:
        wf = super().to_workflow_task()
        wf.join_on = self._join_on
        wf.default_exclusive_join_task = self._default
        return wf

Verified against

Conductor server 3.32.0-rc.9. EXCLUSIVE_JOIN runs correctly when built via
raw WorkflowTask with the correct fields set. The gap is purely in the SDK —
no builder class exists.

Ngôn ngữ chính
Python
Star
104
Fork
44
Merge trung bình
4 ngày 18 giờ
Pull request đã merge (30 ngày)
3

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

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

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/python-sdk

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

Issue tương tự

Thêm issue về Python

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.