Multi-Tenancy Issues

I am trying to implement multi tenancy in canumda, i started with the web page Multi-Tenancy | docs.camunda.org
That means 1 tenant : 1 process and database isolation at the schema level. My bpm-platform.xml file follows. After the creation of new xml file, build my docker image and then runs the image, i get the error.

org.camunda.commons.logging.BaseLogger.logInfo ENGINE-08046 Found camunda bpm platform configuration in CATALINA_BASE/CATALINA_HOME conf
directory [/camunda/conf/bpm-platform.xml] at ‘file:/camunda/conf/bpm-platform.xml’
camunda_postgres | 2019-10-16 04:41:16.234 UTC [40] ERROR: relation “abc.act_ge_property” does not exist at character 15
camunda_postgres | 2019-10-16 04:41:16.234 UTC [40] STATEMENT: select * from abc.ACT_GE_PROPERTY where NAME_ = $1
camunda_bpm | 16-Oct-2019 04:41:16.238 SEVERE [main] org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context:
Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: relation “abc.act_ge_property” does not exist

  • camunda_bpm | Position: 15*
  • camunda_bpm | ### The error may exist in org/camunda/bpm/engine/impl/mapping/entity/Property.xml*
  • camunda_bpm | ### The error may involve org.camunda.bpm.engine.impl.persistence.entity.PropertyEntity.selectProperty-Inline*
  • camunda_bpm | ### The error occurred while setting parameters*
  • camunda_bpm | ### SQL: select * from abc.ACT_GE_PROPERTY where NAME_ = ?*
  • camunda_bpm | ### Cause: org.postgresql.util.PSQLException: ERROR: relation “abc.act_ge_property” does not exist*
  • camunda_bpm | Position: 15*
  • camunda_bpm | org.apache.ibatis.exceptions.PersistenceException:*
  • camunda_bpm | ### Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: relation “abc.act_ge_property” does not exist*
  • camunda_bpm | Position: 15*

I try and follow the steps given in the document camunda-bpm-examples/multi-tenancy/schema-isolation at master · camunda/camunda-bpm-examples · GitHub but that also does not solve the issue.

  1. what is going wrong in my implementation.
  2. For 1 process per tenant and schema level isolation, do we need to build the datatables also or it done by camunda itself.




default org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration java:jdbc/ProcessEngine
<properties>
  <property name="databaseTablePrefix">xyz.</property>

  <property name="history">full</property>
  <property name="databaseSchemaUpdate">true</property>
  <property name="authorizationEnabled">true</property>
  <property name="useSharedSqlSessionFactory">true</property>
</properties>
default org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration java:jdbc/ProcessEngine
<properties>
  <property name="databaseTablePrefix">abc.</property>

  <property name="history">full</property>
  <property name="databaseSchemaUpdate">true</property>
  <property name="authorizationEnabled">true</property>
  <property name="useSharedSqlSessionFactory">true</property>
</properties>
   
  </process-engine>
</bpm-platform>

Hi

you need to add below things in your file

1- <property name="databaseSchema">xyz</property> // mentioning schema name is important.
2- <property name="databaseSchemaUpdate">false</property> // as per github documentation of camunda you need to make databaseSchemaUpdate property as false.

Database setup:
1- create schema manually in your DB For eg: xyz and abc in your case.
2- also please check your camunda version and download script to create tables in these schemas.
link to download scripts as per your DB. Camunda Download Center -

after that try to bulid your project again and you can see different engine getting setup in your machine.