Hi,
ich habe eine Instanz von Openhab 2 (Build #693) laufen und habe das Phänomen, dass der Scheduler, der die Rules und wohl auch das Persistieren ausführt, nach einiger Zeit (manchmal 1 Stunde, dann wieder 4 Stunden, eigentlich immer unterschiedlicht) einfach so stoppt und nichts mehr macht. Es gibt auch keine Fehlermeldung oder sonst auffälliges im Logfile.
Ich habe die Logs auf TRACE gestellt um zu sehen was so alles vor sich geht. Gerade eben um ca. 16:15Uhr ist es wieder passiert:
Hier sieht man wie die Zeiten für everyMinute, every5Minute, every15Minute und eine Rule ausgeführt werden, das wars dann, in den weiteren Logs ist kein Vorkommen mehr von org.quartz.core.JobRunShell.
Irgendeine Idee wie ich dem Grund auf die Spur kommen könnte?
Danke
Edit:
Vl.liegts auch an dem Mysql Persistence bundle (Auszug aus bundle:list in der Karafshell):
203 | Stopping | 80 | 1.9.0.201701030211 | openHAB mySQL Persistence bundle
Aber warum ist das auf Stopping?
Nach einem Neustart ist es auf Active:
203 | Active | 80 | 1.9.0.201701030211 | openHAB mySQL Persistence bundle
Edit2: mit Stopping hat es wohl nichts zu tun, da ich den Fehler jetzt aktiv produzieren kann und das Bundle noch auf Active ist.
Ich kann das Problem folgend reproduzieren:
Ich habe ca. 40 Items die ich alle 5 Minuten in eine MysqlDB speichere und benutze dazu das Mysql Perststence bundle. Wenn ich mir nun zu dem Zeitpunkt wo alle Items gespeichert werden, ein Chart anzeigen lasse, stoppt das Speichern und es wird in Folge kein Item mehr gespeichert und der Scheduler funkt auch nicht mehr
Edit3:
Da ich nicht mehr rausfinde, habe ich mal auf JDBC Persistence umgesellt, mal schauen, ob das besser läuft....
Edit4:
Der Scheduler und auch die Persitence läuft nun seit 09:45Uhr ohne Probleme, der Umstieg auf das JDBC Bundle scheint für mich die Lösung zu sein.
ich habe eine Instanz von Openhab 2 (Build #693) laufen und habe das Phänomen, dass der Scheduler, der die Rules und wohl auch das Persistieren ausführt, nach einiger Zeit (manchmal 1 Stunde, dann wieder 4 Stunden, eigentlich immer unterschiedlicht) einfach so stoppt und nichts mehr macht. Es gibt auch keine Fehlermeldung oder sonst auffälliges im Logfile.
Ich habe die Logs auf TRACE gestellt um zu sehen was so alles vor sich geht. Gerade eben um ca. 16:15Uhr ist es wieder passiert:
2017-01-05 16:15:00.009 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job mysql.every15Minute
2017-01-05 16:15:00.010 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.010 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.012 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.012 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.013 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job mysql.everyMinute
2017-01-05 16:15:00.013 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.014 [DEBUG] [rg.quartz.core.QuartzSchedulerThread] - batch acquisition of 1 triggers
2017-01-05 16:15:00.014 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.015 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.016 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.017 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.018 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.018 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.019 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job DEFAULT.Youless.rules#letzter Verbrauch berechnen#0 0/15 * * * ?
2017-01-05 16:15:00.019 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.020 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.020 [DEBUG] [rg.quartz.core.QuartzSchedulerThread] - batch acquisition of 1 triggers
2017-01-05 16:15:00.021 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.022 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.022 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.023 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.024 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.025 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.025 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job mysql.every5Minute
2017-01-05 16:15:00.025 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.010 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.010 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.012 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.012 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.013 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job mysql.everyMinute
2017-01-05 16:15:00.013 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.014 [DEBUG] [rg.quartz.core.QuartzSchedulerThread] - batch acquisition of 1 triggers
2017-01-05 16:15:00.014 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.015 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.016 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.017 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.018 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.018 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.019 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job DEFAULT.Youless.rules#letzter Verbrauch berechnen#0 0/15 * * * ?
2017-01-05 16:15:00.019 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.020 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.020 [DEBUG] [rg.quartz.core.QuartzSchedulerThread] - batch acquisition of 1 triggers
2017-01-05 16:15:00.021 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.022 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.022 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.023 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.024 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
2017-01-05 16:15:00.025 [DEBUG] [t.linking.impl.DefaultLinkingService] - after getLinkedObjects: node: 'everyChange' result: everyChange
2017-01-05 16:15:00.025 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job mysql.every5Minute
2017-01-05 16:15:00.025 [DEBUG] [t.linking.impl.DefaultLinkingService] - before getLinkedObjects: node: 'everyChange'
Irgendeine Idee wie ich dem Grund auf die Spur kommen könnte?
Danke
Edit:
Vl.liegts auch an dem Mysql Persistence bundle (Auszug aus bundle:list in der Karafshell):
203 | Stopping | 80 | 1.9.0.201701030211 | openHAB mySQL Persistence bundle
Aber warum ist das auf Stopping?
Nach einem Neustart ist es auf Active:
203 | Active | 80 | 1.9.0.201701030211 | openHAB mySQL Persistence bundle
Edit2: mit Stopping hat es wohl nichts zu tun, da ich den Fehler jetzt aktiv produzieren kann und das Bundle noch auf Active ist.
Ich kann das Problem folgend reproduzieren:
Ich habe ca. 40 Items die ich alle 5 Minuten in eine MysqlDB speichere und benutze dazu das Mysql Perststence bundle. Wenn ich mir nun zu dem Zeitpunkt wo alle Items gespeichert werden, ein Chart anzeigen lasse, stoppt das Speichern und es wird in Folge kein Item mehr gespeichert und der Scheduler funkt auch nicht mehr
Edit3:
Da ich nicht mehr rausfinde, habe ich mal auf JDBC Persistence umgesellt, mal schauen, ob das besser läuft....
Edit4:
Der Scheduler und auch die Persitence läuft nun seit 09:45Uhr ohne Probleme, der Umstieg auf das JDBC Bundle scheint für mich die Lösung zu sein.