Looking at the logs, it seems like OB is definitely stuck. If the following is the last changeset that was run then it’s definitely stuck.
2021-12-30 15:05:39,696 [localhost-startStop-1] INFO liquibase - Changeset 0.5.x/rename-request-to-requisition.xml::1295640983194-04b::PZ DM::(MD5Sum: 8c2aedd41a27c9626174e0f6f7dac793)
Within all of the database-centric Quartz jobs (background jobs) we check to see if we’re running the Liquibase database migrations so that the two (Quartz and Liquibase) don’t compete against each other. This prevents the background jobs from encountering race conditions where they try to execute code on non-existent tables because Liquibase has not finished running yet. Anyway, it seems like you might be running out of database connections or some other weird issue is occurring when we do that check.
2021-12-30 14:35:00,630 [DefaultPluginScheduler_Worker-1] WARN liquibase - Can not set auto commit to false on connection
2021-12-30 14:35:00,630 [DefaultPluginScheduler_Worker-1] WARN impl.NewPooledConnection - [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
2021-12-30 14:35:00,631 [DefaultPluginScheduler_Worker-1] WARN impl.NewPooledConnection - [c3p0] Another error has occurred [ com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. ] which will not be reported to listeners!
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.Util.getInstance(Util.java:408)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192)
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187)
at com.mysql.jdbc.ConnectionImpl.createStatement(ConnectionImpl.java:2382)
at com.mysql.jdbc.ConnectionImpl.createStatement(ConnectionImpl.java:2366)
at com.mysql.jdbc.ConnectionImpl.getMetadataSafeStatement(ConnectionImpl.java:2912)
at com.mysql.jdbc.ConnectionImpl.getMetadataSafeStatement(ConnectionImpl.java:2908)
at com.mysql.jdbc.DatabaseMetaData.getTables(DatabaseMetaData.java:4611)
at com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.getTables(NewProxyDatabaseMetaData.java:2938)
at liquibase.database.AbstractDatabase.doesChangeLogLockTableExist(AbstractDatabase.java:691)
at liquibase.lock.LockHandler.listLocks(LockHandler.java:114)
at liquibase.lock.LockHandler$listLocks.call(Unknown Source)
at util.LiquibaseUtil.isRunningMigrations(LiquibaseUtil.groovy:37)
at util.LiquibaseUtil$isRunningMigrations.call(Unknown Source)
at org.pih.warehouse.jobs.AssignIdentifierJob.execute(AssignIdentifierJob.groovy:24)
at sun.reflect.GeneratedMethodAccessor436.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:607)
at grails.plugin.quartz2.GrailsArtefactJob.execute(GrailsArtefactJob.java:59)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 600,090 milliseconds ago. The last packet sent successfully to the server was 77 milliseconds ago.
More importantly, I noticed that you’re running MySQL 5.5. This will definitely lead to issues as we are using features that were added in MySQL 5.7 (see requirements GitHub - openboxes/openboxes: OpenBoxes is a supply chain management system designed to manage inventory and track stock movements for healthcare facilities.)
2021-12-30 14:18:01,003 [localhost-startStop-1] INFO bootstrap.BootStrap - Product Version: 5.5.5-10.3.24-MariaDB
2021-12-30 14:18:01,003 [localhost-startStop-1] INFO bootstrap.BootStrap - Database Version: 5.5
If you can’t figure out a way to run MySQL 5.7 using Centos package manager (yum?) then I’d recommend using Docker (if you are familiar with it).
https://hub.docker.com/_/mysql
Otherwise we can go back to figuring out how to get this working on your external production database.