We’re considering using versionTag to version processes, but it doesn’t seem to work properly, at least not with the Camunda version we are using.
We use Spring Boot 2.0.6 and I’ve currently tried 7.9.0 and 7.10.0 of the engine (with the latest version of the maven libraries supported by those engines).
It’s going to be a big effort for us to move to Spring Boot 2.1.x in order to use Camunda v7.11.0 or later, so I’d like to understand if anyone is using this functionality at the moment without issues? The problem is exhibited if I deploy the following models:
- A top level process
- A sub process
- A DMN (in the top level process)
If I deploy these models once (using v3.6.0 of the modeler per my other post) and start an instance of the process via the API, it all works fine.
If however, I modify and redeploy the sub process (just by moving one of the shapes to get it to see a change) and then create a new instance of the top level process it errors.
The error is related to the fact that in the camunda.ACT_RE_PROCDEF table there are now two instances of the sub process (V1 & V2) with the same Key, VersionTag (& null Tenant ID).
The error I see from the UI in the TaskList is as follows:
An error happened while submitting the task form : Cannot submit task form b2a57475-83dd-11ea-852d-e282ed9056e5: ENGINE-03045 There are ‘2’ results for a process definition with key ‘SubProc_VersionTagTest’, versionTag ‘67.1’ and tenant-id ‘{}’.
It seems to me that the API in the engine needs to check for the latest version with that version tag, but instead is expecting a single record back but now gets two records back and errors.
As I said at the start, I’d be interested if anyone is using version tags successfully, or failing that if they have an instance of Camunda running on the latest version that they don’t mind trying this out on for me.
Thanks Steve
SubProc.bpmn (2.2 KB) TopLevel.bpmn (4.4 KB) Dmn.dmn (1.1 KB)