cancel
Showing results for 
Search instead for 
Did you mean: 

updating activiti in a clustered environment

stefanhenke
Champ in-the-making
Champ in-the-making
Hi,
I have a question regarding the update behavior of the db schema in activiti. I think I understood how the mechanism works in principle: you can specify the property 'databaseSchemaUpdate' and set it to 'true'. On the next startup of the ProcessEngine, this will execute the necessary db operations. How will this work if activiti runs on a tomcat in a clustered environment where I want to apply a rolling update (each cluster node one after another)? In this case, there would be a period of time in which the db schema has been updated, but some of the cluster nodes are still running the old version of activiti. So, it will not match the db schema version anymore.
Assuming that activiti does not change the db schema incompatibly, is this a scenario that is supported?
Best regards,
Stefan
1 REPLY 1

warper
Star Contributor
Star Contributor
DB will block update if something is going on for changing objects. In worst case it can produce inconsistent DB. It's also possible high load on processes/DB will postpone update infinitely.
If update is done and something vital is changed, "old" cluster nodes will stop working normally up to restart.

I tried update in 2 nodes cluster from activiti 5.19 to activiti 5.20. I worked, but not smoothly. Both nodes tried to make update of DB and after all I had to restart them again.

IMHO you should shut down every node, upgrade/start one node to make DB update and only then then update/start other nodes.