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

Bild der Ausgabe:
1614941132903-103.png

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

Mit der Datenbank verbinden:

mysql

Datenbank entsperren:

UPDATE relution.DATABASECHANGELOGLOCK SET LOCKED=0;

Relution Dienst im ldmobile-lxc wieder starten

systemctl start relution.service