flowable / flowable/flowable-engine

[BUG] Parallel Gateway with Multi-Instance Task Generates Duplicate Tasks When Moving Executions to External Activity

Aperta
#4,046 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
9.5k
Fork
2.9k
Merge medio
7h 8m
PR unite (30g)
2

Descrizione

- Description
Parallel Gateway with Multi-Instance Task Generates Duplicate Tasks When Moving Executions to External Activity. Flowable v6.8.0 is ok.

- Version
Flowable Version: 7.1.0

- Unit Test

[test.bpmn20.zip](https://github.com/user-attachments/files/20201885/test.bpmn20.zip)

```java
@Test
@Deployment(resources = { "org/flowable/engine/test/api/test.bpmn20.xml" })
public void test() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("test");
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
assertThat(task.getTaskDefinitionKey()).isEqualTo("Starter");

// Complete task Starter
taskService.complete(task.getId());

// Current Tasks
List currentActivities = new ArrayList<>();
currentActivities.add("TaskA");
currentActivities.add("TaskB");

changeStateEventListener.clear();

runtimeService.createChangeActivityStateBuilder()
.processInstanceId(processInstance.getId())
.moveActivityIdsToSingleActivityId(currentActivities, "Starter")
.changeState();

List tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
assertThat(tasks).hasSize(1);
}
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con il file test.bpmn20.zip allegato e la riproduzione Java che utilizza runtimeService.createChangeActivityStateBuilder(). Esegui il test per osservare la creazione delle attività quando TaskA e TaskB vengono spostati in Starter, quindi traccia la gestione del cambio di stato per i gateway paralleli e le attività multiistanza. Il lavoro è completato quando lo scenario produce un’attività e dispone di un test di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.