liquibase.exception.LockException: Could not acquire change log lock. Currently locked by EB-XXXXXXXY
错误
在这里插入代码片2019-07-10 18:39:42.708 ERROR 11944 --- [bc-e-Executor-1] i.g.j.c.liquibase.AsyncSpringLiquibase : Liquibase could not start correctly, your database is NOT ready: Could not acquire change log lock. Currently locked by EB-XXXXXXXY (172.31.20.59) since 19-7-11 上午1:50
liquibase.exception.LockException: Could not acquire change log lock. Currently locked by EB-XXXXXXXY (172.31.20.59) since 19-7-11 上午1:50
at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:190)
at liquibase.Liquibase.update(Liquibase.java:196)
at liquibase.Liquibase.update(Liquibase.java:192)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:431)
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:388)
at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:103)
at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.lambda$afterPropertiesSet$0(AsyncSpringLiquibase.java:83)
at io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor.lambda$createWrappedRunnable$1(ExceptionHandlingAsyncTaskExecutor.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
原因
可能是多个jhipster-spring boot程序操作同一个数据库,引起的锁定。
解决方案
在数据库找到 DATABASECHANGELOGLOCK 表,查询数据就会发现有一条数据内容有锁定的ip,如:172.31.20.59,删除本条数据就OK了