openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
lukima61
Beiträge: 24
Registriert: 14. Aug 2020 09:04
Answers: 1

openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Beitrag von lukima61 »

Hallo Community,
ich bin ggw. etwas ratlos. Ich nutze seit einigen Jahren MariaDB mit openHAB, um die persistenten Item-Daten zu speichern. Das hat auch bisher problemlos funktioniert. Beides läuft auf einer Synology DS218+, openHAB als Docker-Container.
Jetzt habe ich festgestellt, dass seit einer Woche keine Daten mehr weggeschrieben werden, Änderungen habe ich keine vorgenommen.
Bei meiner Recherche habe ich folgenden Eintrag im openHAB-Logfile gefunden, den ich mir nicht erklären kann. Im Forum habe ich nichts ähnliches gefunden, kann mir bitte jemand weiterhelfen?

2022-07-11 14:23:33.245 [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!
java.sql.SQLTransientConnectionException: yank-default - Connection is not available, request timed out after 30042ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:555) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:188) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:147) ~[?:?]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:83) ~[?:?]
at org.apache.commons.dbutils.AbstractQueryRunner.prepareConnection(AbstractQueryRunner.java:204) ~[?:?]
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:455) ~[?:?]
at org.knowm.yank.Yank.execute(Yank.java:194) ~[?:?]
at org.knowm.yank.Yank.execute(Yank.java:177) ~[?:?]
at org.openhab.persistence.jdbc.db.JdbcBaseDAO.doStoreItemValue(JdbcBaseDAO.java:337) ~[?:?]
at org.openhab.persistence.jdbc.internal.JdbcMapper.storeItemValue(JdbcMapper.java:156) ~[?:?]
at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.store(JdbcPersistenceService.java:143) ~[?:?]
at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]
at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]
at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to 192.168.0.20:3307: Connection reset by peer (Write failed)
at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:123) ~[?:?]
at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69) ~[?:?]
at org.mariadb.jdbc.Driver.connect(Driver.java:110) ~[?:?]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:316) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:173) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:431) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.access$500(HikariPool.java:66) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:574) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:567) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
... 3 more
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not connect to 192.168.0.20:3307: Connection reset by peer (Write failed)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:459) ~[?:?]
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:358) ~[?:?]
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:713) ~[?:?]
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:471) ~[?:?]
at org.mariadb.jdbc.Driver.connect(Driver.java:105) ~[?:?]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:316) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:173) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:431) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.access$500(HikariPool.java:66) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:574) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:567) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
... 3 more
Caused by: java.net.SocketException: Connection reset by peer (Write failed)
at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:?]
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) ~[?:?]
at java.net.SocketOutputStream.write(SocketOutputStream.java:150) ~[?:?]
at org.mariadb.jdbc.internal.stream.PacketOutputStream.flushDirect(PacketOutputStream.java:400) ~[?:?]
at org.mariadb.jdbc.internal.stream.PacketOutputStream.finishPacket(PacketOutputStream.java:330) ~[?:?]
at org.mariadb.jdbc.internal.packet.send.SendHandshakeResponsePacket.send(SendHandshakeResponsePacket.java:193) ~[?:?]
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authentication(AbstractConnectProtocol.java:475) ~[?:?]
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:447) ~[?:?]
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:358) ~[?:?]
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:713) ~[?:?]
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:471) ~[?:?]
at org.mariadb.jdbc.Driver.connect(Driver.java:105) ~[?:?]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:316) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:173) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:431) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.access$500(HikariPool.java:66) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:574) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:567) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
... 3 more
von lukima61 » 19. Jul 2022 18:15
Habe gerade die Synology neu gestartet, die Item-Daten werden wieder weggeschrieben :-)
Der Port war bei mir so als Standard vorgegeben, den hatte ich übernommen.
Besten Dank für die schnelle Hilfe! Ich mache das Ticket jetzt zu.
Gehe zur vollständigen Antwort

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Beitrag von udo1toni »

Na ja, erstmal steht da "Connection is not available". Das deutet darauf hin, dass die Verbindung zur Datenbank nicht hergestellt werden konnte.
Neustart von openHAB? Falls das nicht hilft:
Neustart von MariaDB? Falls nicht möglich (ich weiß nicht, wie gut man das über die Web-UI erledigen kann):
Neustart der Synology?

Wenn der Fehler hartnäckig bestehen bleibt: Schon mal geschaut, wie es der Datenbank an sich geht? Hast Du ein Tool zum direkten Verbinden? Ich nutze z.B. HeidiSQL von Windows aus. PHPMySQL ist vermutlich die am weitesten verbreitete Variante, war mir aber irgendwann nicht mehr komfortabel genug (aber das ist Geschmackssache).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

lukima61
Beiträge: 24
Registriert: 14. Aug 2020 09:04
Answers: 1

Re: openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Beitrag von lukima61 »

MariaDB und openHAB habe ich schon neu gestartet, ohne Erfolg. Die Synology selbst noch nicht, dass ist immer der aller letzte Versuch. Ich nutze PHPMySQL und komme problemlos auf die DB, kann aber auch dort nichts feststellen. Vielleicht sollte ich nun doch den letzten Schritt gehen. Danke schon mal für die schnelle Rückmeldung.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Beitrag von udo1toni »

Weil meine DB auf Port 3306 laufen und das Standard ist: Stimmt 3307 bei Dir?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

lukima61
Beiträge: 24
Registriert: 14. Aug 2020 09:04
Answers: 1

Re: openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Beitrag von lukima61 »

Habe gerade die Synology neu gestartet, die Item-Daten werden wieder weggeschrieben :-)
Der Port war bei mir so als Standard vorgegeben, den hatte ich übernommen.
Besten Dank für die schnelle Hilfe! Ich mache das Ticket jetzt zu.

lukima61
Beiträge: 24
Registriert: 14. Aug 2020 09:04
Answers: 1

Re: openHAB3 kann plötzlich nicht mehr auf MariaDB zugreifen

Beitrag von lukima61 »

udo1toni hat geschrieben: 18. Jul 2022 21:44 Na ja, erstmal steht da "Connection is not available". Das deutet darauf hin, dass die Verbindung zur Datenbank nicht hergestellt werden konnte.
Neustart von openHAB? Falls das nicht hilft:
Neustart von MariaDB? Falls nicht möglich (ich weiß nicht, wie gut man das über die Web-UI erledigen kann):
Neustart der Synology?

Wenn der Fehler hartnäckig bestehen bleibt: Schon mal geschaut, wie es der Datenbank an sich geht? Hast Du ein Tool zum direkten Verbinden? Ich nutze z.B. HeidiSQL von Windows aus. PHPMySQL ist vermutlich die am weitesten verbreitete Variante, war mir aber irgendwann nicht mehr komfortabel genug (aber das ist Geschmackssache).
Ist ein guter Tipp mit HeidiSQL, das Tool ist um einiges besser zu bedienen :-)

Antworten