Please keep these aspects in mind when designing your CI/CD architecture around Liquibase Enterprise.
Packager Process
The Deploy Packager process performs a Backup and Restore operation on the REF database so only one Packaging operation should run at-a-time per REF database. There can be negative consequences to the REF database if multiple Backup and Restore operations happen concurrently.
If you have a project with multiple pipelines and a separate REF database per pipeline, the separate pipelines may run Packager simultaneously.
Forecast Process
The Forecast operation does not make any updates to the database and does not place a lock on the DATABASECHANGELOG table. It is safe for multiple nodes to run Forecast operations in parallel.
Deploy Process
The Deploy operation sets a lock on the environment’s DATABASECHANGELOG table that is specified in the datical.project file. If multiple Deploy processes are triggered for the same DaticalDB project in parallel, the processes will wait until the lock has been released.
By default the wait time is set at:
ChangeLogLockWaitTimeInMinutes = 5 (number of minutes to wait for changelog lock to be available)
ChangeLogLockPollRate = 5 (number of seconds to wait between checks when locked)
If you wish to change the wait time, this can be accomplished by including this argument in the hammer deploy command:
--vmargs -Dliquibase.changeLogLockWaitTimeInMinutes=10