Details
-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
None
-
None
Description
Scenario:
When the business key is set for first topic and it's not for the second. For example:
List<LockedExternalTask> topicTasks = externalTaskService .fetchAndLock(maxTasks, workerId) .topic(topicName1, lockDuration) .businessKey(businessKey1) .topic(topicName2, lockDuration) .execute();
Expected:
Fetching the external tasks for both topics.
Current:
Only the tasks from the first topic are returned, the others are disregarded.
Hint:
- With the current implementation the business key of the second topic is set to null.
https://github.com/camunda/camunda-bpm-platform/blob/082bc6080d50068a0308b41e278d2b3e11ae645f/engine/src/main/resources/org/camunda/bpm/engine/impl/mapping/entity/ExternalTask.xml#L186
parameter.businessKeyFilter should be replaced by topicFilters.businessKey - The implementation could be simplified and filterBybusinessKey could be removed.