Decision tree doesn't use decision table which is part of the same deployment

Hello,

I’m deploying decision trees together with the decision tables used in them in separate deployments.

What I observed is that if I have a new deployment of a new decision tree together with the decision tables, if the decision table has the same name as the decision table of the tree that was deployed earlier, it will effectively “overwrite” the first table when it comes to execution and only the latter decision table will be used for both trees.

I find this very confusing and error prone.

Am I doing something wrong there?
Is there a way to avoid this so that even if I have same names, each tree is using decision tables that it is deployed with?

Cheers!

Hi @Milos_Andelkovic,

please share your example.

How do you evaluate the decision?
How does your “decision trees” look like?

Best regards,
Philipp

Hi @Philipp_Ossler,

Thanks for your reply.
My trees are not complicated but I’m following some basic patterns.

I have user tasks where user does an action on my system which ends up submitting a variable value to Camunda (which is running in the background).
Then I have Business Rule Tasks where I’m referring to a .dmn table where I’m providing a logic that depending on the value of the variable makes the tree continue in a certain way.

When I configure my system I submit a variety of such trees which are coming with it’s own .dmn files where for each tree I create a separate deployment.

My expectation was that when I deploy a tree with .dmn file referred from it together, then when I create an instance of that tree and it’s being executed, the .dmn tables which will be used for that tree are the ones that are provided together with it.

However I observed that if I deploy a different tree which happens to have a .dmn file which is named the same, the latter file will be triggered to make a decision even for the first tree that I have deployed.

Am I assuming (doing) something wrong here and is there a way to overcome this (instead of using unique names for the .dmn files)?

Cheers,
Milos

You can enforce that the business rule task evaluates the decision of the same deployment by specify binding to deployment. See:

<businessRuleTask id="businessRuleTask"
    camunda:decisionRef="myDecision"
    camunda:decisionRefBinding="deployment" />

https://docs.camunda.org/manual/7.11/reference/bpmn20/tasks/business-rule-task/#using-camunda-dmn-engine

Great!
That’s what I was looking for.
Thanks @Philipp_Ossler