Database Version: Oracle 12c
Java Version: 1.7
Jenkins Version: 1.544
Maven Version: 3.1.1
We are facing severe performance issue with liquibase particularly on DDL statement with precondition.
<preConditions onFail="MARK_RAN"></div> <not></div> <columnExists tableName="COMMUNICATION" columnName="REPORTID" /></div> </not></div> </preConditions></div> <addColumn tableName="COMMUNICATION"></div> <column name="REPORTID" type="BIGINT"/></div> </addColumn></div>
The execution of the above changeset took approximately 4300702ms (1.2hrs). The table itself do not have any much data.
We are doing deployment to the database using Jenkins and maven. The Jenkins server is not co-located with the database server.
However we do not see any network traffic between Jenkins and DB server, no increase usage of memory or CPU.
Is there any known issue with using pre-conditions?
How can we improve the performance with the changeset?
Will there be a performance improvement if Jenkins (from where maven will run the liquibase) and the database servers are located closer?
We got to abort production build due to above issue, appreciate if someone can shed some light in these areas.
Thanks in advance.