flowable / flowable/flowable-engine

Async StartEvent causes process level 'start' execution listener to be run twice

Đang mở
#2,855 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
9.5k
Fork
2.9k
Merge trung bình
7 giờ 8 phút
Pull request đã merge (30 ngày)
2

Mô tả

**Describe the bug**
If the start event element of the diagram is **async** then `ContinueProcessOperation#run` is called twice for the start event element which leads to calling any process level execution listeners twice as well (see also `ContinueProcessOperation#continueThroughFlowNode` and `ContinueProcessOperation#executeProcessStartExecutionListeners`).

If the start event element is **sync** then the listener is called just once (as expected).

**Expected behavior**
The process level start execution listener should be called just once when the process is started.

**Code**
Should be pretty straightforward for you to reproduce with any trivial diagram that starts like this:
```





...
```

**Additional context**
Using latest Flowable version (process engine only) with Spring Boot, Postgres 10.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu bằng cách đọc ContinueProcessOperation#run, ContinueProcessOperation#continueThroughFlowNode và ContinueProcessOperation#executeProcessStartExecutionListeners. Tái hiện vấn đề với một quy trình có thể thực thi tối thiểu chứa một async startEvent và một start execution listener ở cấp quy trình, sau đó so sánh với một sự kiện bắt đầu đồng bộ. Được xem là hoàn tất khi listener chạy đúng một lần lúc quy trình async bắt đầu.

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

Đánh giá

Công nghệ
java
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

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.