ldmobile - Could not acquire change log lock
Zuletzt geändert von Clemens Dörfler am 2024/09/26 13:05
Sollte die LD-Mobile Oberfläche nicht aufrufbar sein, kann es sein dass die Relution Datenbank gelocked ist.
Nachschauen kann man dies in in der folgender Log nachschauen (ldmobile Container):
/opt/relution/log/relution.log
Meldung in der Log:
2022-04-01 00:01:56.393 ERROR 27239 [ main] s.boot.SpringApplication: Application run failed []
liquibase.exception.LockException: Could not acquire change log lock. Currently locked by 172.28.28.23 (172.28.28.23) since 3/31/22, 8:55 AM
at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:236)
at liquibase.Liquibase.update(Liquibase.java:183)
at liquibase.Liquibase.update(Liquibase.java:178)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:368)
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:316)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784)
... 80 common frames omitted
liquibase.exception.LockException: Could not acquire change log lock. Currently locked by 172.28.28.23 (172.28.28.23) since 3/31/22, 8:55 AM
at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:236)
at liquibase.Liquibase.update(Liquibase.java:183)
at liquibase.Liquibase.update(Liquibase.java:178)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:368)
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:316)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784)
... 80 common frames omitted
Bild der Ausgabe:
Ursache:
Normalerweise entfernt der entsprechende Dienst sein Datenbank-Sperre (Lock) beim Beenden. Sollte jedoch der Dienst abstürzen, kann es vorkommen, dass der Lock in der DB noch vorhanden ist.
Lösung:
Relution Dienst im ldmobile-lxc anhalten
systemctl stop relution.service
In den mysql56 oder mariadb105 Container wechseln:
lxc-ssh -n mysql56
oder
lxc-ssh -n mariadb105
oder
lxc-ssh -n mariadb105
Mit der Datenbank verbinden:
mysql
Datenbank entsperren:
UPDATE relution.DATABASECHANGELOGLOCK SET LOCKED=0;
Relution Dienst im ldmobile-lxc wieder starten
systemctl start relution.service