Sub-process resolving on CallActivity with multi-tenancy

ENV: camunda engine 7.6-alpha5, multi-tenancy, modeler 1.4.0

Situation

  1. process model mP (process definition pdP) with a call activity ca that triggers a sub-process with process definition pdSub.
  2. pdSub is modeled once for general tenant in model mSubG and once for tenant t2 in model mSubT2.
  3. pdP is deployed without tenant id. pdSub is deployed once without tenant id using model mSubG and once with tenant id t2 using model mSubT2.
  4. there are three tenants: t0, t1, t2

Problem

  • set “Tenant Id” to ${execution.tenantId} on call activity ca, only t2 can execute pdP. For t0, t1 got NullValueException: no processes deployed with key 'pdSub' and tenant-id 't0' ['t1']: processDefinition is null
  • no setting of “Tenant Id” is not an option, since t2 has to use mSubT2

Prior to multi-tenancy we just use dynamic process definitions on call activity. Yes this is still an option, but not pretty.

Could anyone confirm this sub-process resolving behavior of CallActivity with multi-tenancy? It just doesn’t feel right.

Hi @kenix,

this problem is addressed in the User Guide. You can find an example implementation on GitHub.

Does this help you?

Best regards,
Philipp

Hi @Philipp_Ossler, yes, that does the trick. Nevertheless not pretty, given the results of RepositoryService.processDefinitionQuery with neither withoutTenantId nor withTenantId. But thanks anyway!