Wiki-Quellcode von ldmobile - Could not acquire change log lock
Zuletzt geändert von Clemens Dörfler am 2025/07/18 16:38
Verstecke letzte Bearbeiter
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | Sollte die LD-Mobile Oberfläche nicht aufrufbar sein, kann es sein dass die Relution Datenbank gelocked ist. |
| 2 | Nachschauen kann man dies in in der folgender Log nachschauen (ldmobile Container): | ||
| |
4.1 | 3 | |
| 4 | {{code language="bash"}} | ||
| 5 | /opt/relution/log/relution.log | ||
| 6 | {{/code}} | ||
| 7 | |||
| |
1.1 | 8 | Meldung in der Log: |
| |
2.1 | 9 | |
| |
1.1 | 10 | {{code}} |
| 11 | 2022-04-01 00:01:56.393 ERROR 27239 [ main] s.boot.SpringApplication: Application run failed [] | ||
| 12 | 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 | ||
| 13 | at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:236) | ||
| 14 | at liquibase.Liquibase.update(Liquibase.java:183) | ||
| 15 | at liquibase.Liquibase.update(Liquibase.java:178) | ||
| 16 | at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:368) | ||
| 17 | at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:316) | ||
| 18 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847) | ||
| 19 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) | ||
| 20 | ... 80 common frames omitted | ||
| 21 | {{/code}} | ||
| |
2.1 | 22 | |
| |
1.1 | 23 | Bild der Ausgabe: |
| |
4.1 | 24 | [[image:1614941132903-103.png||height="167" width="1084"]] |
| |
2.1 | 25 | |
| |
1.1 | 26 | __**Ursache:**__ |
| |
4.1 | 27 | 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. |
| 28 | |||
| |
1.1 | 29 | __**Lösung:**__ |
| 30 | Relution Dienst im ldmobile-lxc anhalten | ||
| |
4.1 | 31 | |
| 32 | {{code language="bash"}} | ||
| 33 | systemctl stop relution.service | ||
| 34 | {{/code}} | ||
| 35 | |||
| |
1.1 | 36 | In den mysql56 oder mariadb105 Container wechseln: |
| |
2.1 | 37 | |
| |
4.1 | 38 | {{code language="bash"}} |
| 39 | lxc-ssh -n mysql56 | ||
| |
1.1 | 40 | oder |
| |
4.1 | 41 | lxc-ssh -n mariadb105 |
| 42 | {{/code}} | ||
| 43 | |||
| |
1.1 | 44 | Mit der Datenbank verbinden: |
| |
4.1 | 45 | |
| 46 | {{code language="bash"}} | ||
| 47 | mysql | ||
| 48 | {{/code}} | ||
| 49 | |||
| |
1.1 | 50 | Datenbank entsperren: |
| |
4.1 | 51 | |
| 52 | {{code language="mysql"}} | ||
| 53 | UPDATE relution.DATABASECHANGELOGLOCK SET LOCKED=0; | ||
| 54 | {{/code}} | ||
| 55 | |||
| |
1.1 | 56 | Relution Dienst im ldmobile-lxc wieder starten |
| |
4.1 | 57 | |
| 58 | {{code language="bash"}} | ||
| 59 | systemctl start relution.service | ||
| 60 | {{/code}} |