(nested) Deadlocks found

81 views
Skip to first unread message

Luc Heijst

unread,
May 1, 2021, 7:58:10 AM5/1/21
to weewx-user
Once a day my weewx MySQL databases are backupped, see log of the backup below.
The weewx programs are not stopped during these backups.
One weewx program (weewx_wbx1) crashes once in a wile (once per month) with a number of deadlock found messages.

It looks like weewx gets two more nested deadlock errors before a retry could be invoked.

Any solutions?

Backup log:
=========================================
Taak: mysql_backup
Starttijd: Sat, 01 May 2021 03:00:02 GMT
Stoptijd: Sat, 01 May 2021 03:21:38 GMT
Huidige status: 0 (Normaal)
Standaard uitvoer/fout:
2021-05-01 03:00:03 start
2021-05-01 03:00:03 cmon11
2021-05-01 03:00:10 cmon21
2021-05-01 03:00:27 cmon31
2021-05-01 03:02:31 cmon32
2021-05-01 03:02:37 cmon33
2021-05-01 03:02:48 cmon34
2021-05-01 03:03:05 cmon35
2021-05-01 03:03:22 cmon36
2021-05-01 03:03:49 cmon37
2021-05-01 03:04:09 cmon41
2021-05-01 03:04:12 cmon42
2021-05-01 03:04:15 lightning
2021-05-01 03:04:15 mbemdevices
2021-05-01 03:05:51 weewx_klim
2021-05-01 03:07:45 weewx_mbem
2021-05-01 03:14:26 weewx_mstk
2021-05-01 03:17:18 weewx_rtld
2021-05-01 03:18:03 weewx_tfrc
2021-05-01 03:18:26 weewx_vpro
2021-05-01 03:20:06 weewx_wamo
2021-05-01 03:20:40 weewx_wamodevices
2021-05-01 03:21:21 weewx_wbx1
2021-05-01 03:21:37 finished

weewx error log:
=========================================
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__: Caught unrecoverable exception:
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  (1213, 'Deadlock found when trying to get lock; try restarting transaction')
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  Traceback (most recent call last):
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 214, in run
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      callback(event)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 617, in check_loop
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      raise BreakLoop
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  weewx.engine.BreakLoop
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  During handling of the above exception, another exception occurred:
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  Traceback (most recent call last):
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weedb/mysql.py", line 52, in guarded_fn
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      return fn(*args, **kwargs)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weedb/mysql.py", line 262, in execute
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      self.cursor.execute(mysql_string, tuple(sql_tuple))
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 250, in execute
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      self.errorhandler(self, exc, value)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      raise errorvalue
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 247, in execute
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      res = self._query(query)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 411, in _query
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      rowcount = self._do_query(q)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 374, in _do_query
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      db.query(q)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 292, in query
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      _mysql.connection.query(self, query)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  _mysql_exceptions.OperationalError: (1213, 'Deadlock found when trying to get lock; try restarting transaction')
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  During handling of the above exception, another exception occurred:
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  Traceback (most recent call last):
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewxd", line 157, in main
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      engine.run()
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 221, in run
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      self.dispatchEvent(weewx.Event(weewx.POST_LOOP))
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      callback(event)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 627, in post_loop
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      self._software_catchup()
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 697, in _software_catchup
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      origin='software'))
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      callback(event)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 658, in new_archive_record
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      dbmanager.addRecord(event.record, accumulator=self.old_accumulator)

Tom Keffer

unread,
May 1, 2021, 9:54:15 AM5/1/21
to weewx-user
Trying to understand your setup

1. You have many instances of weewx running simultaneously.
2. They all get backed up every day.
3. One of them, weewx_wbx1, crashes about once a month during the backup.
4. What version of WeeWX?

I don't attach any significance to the three different nested exceptions: that's how the stack would normally get unwound from a database exception. However, I don't understand the last one: dbmanager.addRecord(). By itself, this does not lock the database. Is there more to the log? Something below where you cut it off?

Depending on the answer to that, we may have to retry the transaction. Right now, there is only one attempt.

-tk



--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/09845fe4-5e21-4bc4-a835-54392dbf9589n%40googlegroups.com.

Luc Heijst

unread,
May 1, 2021, 10:25:58 AM5/1/21
to weewx-user
The weewx instances run on 11 different raspberry pi's. weewx_wbx1 and weewx_cmon(33) run on the same PI.
They all run weewx v.4.4.0 and Python 3.7.3.
All weewx instances write to remote MySQL databases on my Synology NAS. 

See below the backup on my NAS.and some more of my syslog file

============================
#! /bin/sh
# Dayly backup of main weewx tables
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "$DATETIME start"
BACKUP="/usr/local/mariadb10/bin/mysqldump -uroot -pXXXXXXXX"
OUTDIR=/volume1/data-h5/_mysql
...
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "$DATETIME cmon33"
$BACKUP cmon33 > $OUTDIR/cmon33.sql
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
...
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "$DATETIME weewx_wbx1"
$BACKUP weewx_wbx1 > $OUTDIR/weewx_wbx1.sql
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "$DATETIME finished"

============================

May  1 03:15:14 pi33 wbx1[495] DEBUG user.meteostick: meteostick: data['rxCheckPercent']: 94
May  1 03:15:14 pi33 wbx1[495] DEBUG user.meteostick: meteostick: RF summary: rf_sensitivity=73 (values in dB)
May  1 03:15:14 pi33 wbx1[495] DEBUG user.meteostick: meteostick: Station           max   min   avg   last  count [missed] [good]
May  1 03:15:14 pi33 wbx1[495] DEBUG user.meteostick: meteostick: iss               -49   -52   -50   -51   104       8      93   
May  1 03:15:14 pi33 wbx1[495] DEBUG user.meteostick: meteostick: anemometer        -58   -59   -58   -59   107       7      94   
May  1 03:15:14 pi33 wbx1[495] DEBUG user.meteostick: meteostick: leaf_soil         -43   -46   -43   -46    94       6      94   
May  1 03:15:15 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:15:15 -03 (1619849715) to database 'cmon33'
May  1 03:15:26 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:15:15 -03 (1619849715) to daily summary in 'cmon33'
May  1 03:15:32 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:15:00 -03 (1619849700) to database 'wx_cmon33'
May  1 03:15:36 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:15:00 -03 (1619849700) to daily summary in 'wx_cmon33'
May  1 03:15:36 pi33 cmon[544] DEBUG weewx.reportengine: Running reports for latest time in the database.
May  1 03:15:36 pi33 cmon[544] DEBUG weewx.reportengine: Running report 'cmon33'
May  1 03:15:36 pi33 cmon[544] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/cmon33/skin.conf for report 'cmon33'
May  1 03:15:36 pi33 cmon[544] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  1 03:15:36 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:15:42 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:15:47 pi33 wbx1[495] INFO weewx.manager: Added record 2021-05-01 03:15:00 -03 (1619849700) to database 'weewx_wbx1'
May  1 03:15:51 pi33 wbx1[495] INFO weewx.manager: Added record 2021-05-01 03:15:00 -03 (1619849700) to daily summary in 'weewx_wbx1'
May  1 03:15:51 pi33 wbx1[495] DEBUG weewx.reportengine: Running reports for latest time in the database.
May  1 03:15:51 pi33 wbx1[495] DEBUG weewx.reportengine: Running report 'SeasonsReport'
May  1 03:15:51 pi33 wbx1[495] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/Seasons/skin.conf for report 'SeasonsReport'
May  1 03:15:52 pi33 wbx1[495] DEBUG user.weather365: restx: Weather365: Data uploaded to https://channel1.weather365.net/stations/index.php is: ...
May  1 03:15:52 pi33 wbx1[495] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  1 03:15:52 pi33 wbx1[495] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:16:07 pi33 cmon[544] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
May  1 03:16:07 pi33 cmon[544] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
May  1 03:16:16 pi33 wbx1[495] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:16:18 pi33 wbx1[495] DEBUG weewx.reportengine: Running report 'exfoliation'
May  1 03:16:18 pi33 wbx1[495] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/exfoliation/skin.conf for report 'exfoliation'
May  1 03:16:18 pi33 wbx1[495] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  1 03:16:18 pi33 wbx1[495] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:16:33 pi33 wbx1[495] DEBUG weewx.cheetahgenerator: Skip 'forecast.html': last_mod=1619846747.117392 age=3046.250206708908 stale=3570
May  1 03:16:34 pi33 wbx1[495] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:16:36 pi33 wbx1[495] DEBUG weewx.reportengine: Running report 'FTP'
May  1 03:16:36 pi33 wbx1[495] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/Ftp/skin.conf for report 'FTP'
May  1 03:16:36 pi33 wbx1[495] DEBUG weeutil.ftpupload: Attempting connection to ftp.lucdesign.nl
May  1 03:16:38 pi33 wbx1[495] DEBUG weeutil.ftpupload: Connected to ftp.lucdesign.nl
May  1 03:16:38 pi33 wbx1[495] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
May  1 03:17:01 pi33 CRON[5754]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May  1 03:20:15 pi33 wbx1[495] DEBUG user.meteostick: meteostick: data['rxCheckPercent']: 91
May  1 03:20:15 pi33 wbx1[495] DEBUG user.meteostick: meteostick: RF summary: rf_sensitivity=73 (values in dB)
May  1 03:20:15 pi33 wbx1[495] DEBUG user.meteostick: meteostick: Station           max   min   avg   last  count [missed] [good]
May  1 03:20:15 pi33 wbx1[495] DEBUG user.meteostick: meteostick: iss               -49   -51   -50   -51   104       8      93   
May  1 03:20:15 pi33 wbx1[495] DEBUG user.meteostick: meteostick: anemometer        -58   -60   -58   -59   104       9      92   
May  1 03:20:15 pi33 wbx1[495] DEBUG user.meteostick: meteostick: leaf_soil         -43   -44   -43   -44    87      12      88   
May  1 03:20:17 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:20:17 -03 (1619850017) to database 'cmon33'
May  1 03:20:24 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:20:17 -03 (1619850017) to daily summary in 'cmon33'
May  1 03:20:29 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:20:00 -03 (1619850000) to database 'wx_cmon33'
May  1 03:20:31 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:20:00 -03 (1619850000) to daily summary in 'wx_cmon33'
May  1 03:20:31 pi33 cmon[544] DEBUG weewx.reportengine: Running reports for latest time in the database.
May  1 03:20:31 pi33 cmon[544] DEBUG weewx.reportengine: Running report 'cmon33'
May  1 03:20:31 pi33 cmon[544] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/cmon33/skin.conf for report 'cmon33'
May  1 03:20:31 pi33 cmon[544] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  1 03:20:32 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:20:38 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:20:43 pi33 wbx1[495] INFO weewx.engine: Main loop exiting. Shutting engine down.
May  1 03:20:43 pi33 wbx1[495] INFO weewx.engine: Shutting down StdReport thread
May  1 03:20:43 pi33 wbx1[495] DEBUG weewx.engine: StdReport thread has been terminated
May  1 03:20:43 pi33 wbx1[495] DEBUG weewx.restx: Shut down Weather365 thread.
May  1 03:20:43 pi33 wbx1[495] DEBUG weewx.restx: Shut down MQTT thread.
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/manager.py", line 275, in addRecord
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      self._addSingleRecord(record, cursor)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/manager.py", line 902, in _addSingleRecord
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      super(DaySummaryManager, self)._addSingleRecord(record, cursor)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/manager.py", line 325, in _addSingleRecord
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      cursor.execute(sql_insert_stmt, value_list)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****    File "/home/weewx/bin/weedb/mysql.py", line 61, in guarded_fn
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****      raise klass(e)
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  weedb.DatabaseError: (1213, 'Deadlock found when trying to get lock; try restarting transaction')
May  1 03:20:43 pi33 wbx1[495] CRITICAL __main__:     ****  Exiting.
May  1 03:21:00 pi33 cmon[544] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
May  1 03:21:00 pi33 cmon[544] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
May  1 03:25:22 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:25:23 -03 (1619850323) to database 'cmon33'
May  1 03:25:24 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:25:23 -03 (1619850323) to daily summary in 'cmon33'
May  1 03:25:27 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:25:00 -03 (1619850300) to database 'wx_cmon33'
May  1 03:25:28 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:25:00 -03 (1619850300) to daily summary in 'wx_cmon33'
May  1 03:25:28 pi33 cmon[544] DEBUG weewx.reportengine: Running reports for latest time in the database.
May  1 03:25:28 pi33 cmon[544] DEBUG weewx.reportengine: Running report 'cmon33'
May  1 03:25:28 pi33 cmon[544] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/cmon33/skin.conf for report 'cmon33'
May  1 03:25:28 pi33 cmon[544] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  1 03:25:28 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:25:35 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:25:49 pi33 cmon[544] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
May  1 03:25:49 pi33 cmon[544] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
May  1 03:30:19 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:30:19 -03 (1619850619) to database 'cmon33'
May  1 03:30:21 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:30:19 -03 (1619850619) to daily summary in 'cmon33'
May  1 03:30:27 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:30:00 -03 (1619850600) to database 'wx_cmon33'
May  1 03:30:29 pi33 cmon[544] INFO weewx.manager: Added record 2021-05-01 03:30:00 -03 (1619850600) to daily summary in 'wx_cmon33'
May  1 03:30:29 pi33 cmon[544] DEBUG weewx.reportengine: Running reports for latest time in the database.
May  1 03:30:29 pi33 cmon[544] DEBUG weewx.reportengine: Running report 'cmon33'
May  1 03:30:29 pi33 cmon[544] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/cmon33/skin.conf for report 'cmon33'
May  1 03:30:29 pi33 cmon[544] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  1 03:30:29 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:30:40 pi33 cmon[544] DEBUG weewx.manager: Daily summary version is 4.0
May  1 03:30:58 pi33 cmon[544] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
May  1 03:30:58 pi33 cmon[544] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.


Op zaterdag 1 mei 2021 om 10:54:15 UTC-3 schreef tke...@gmail.com:

Tom Keffer

unread,
May 1, 2021, 11:03:41 AM5/1/21
to weewx-user
OK, what I suspected. 

We could add a retry to the transaction. However, the database backup is likely to take a lot longer than the weewx write, so even with a couple of retries, it may still deadlock, unless very lengthy delays are added. This would be undesirable because the weewx writes are in the main thread. So, the program will block, waiting for your database dump to finish, which in some cases could be several minutes.

I'm not an expert on this, but how about instructing mysqldump not to lock the database by using option --lock-table=false? Or, is there a way to get mysqldump to do a retry? It's likely to be more successful than having weewx do the retry.

-tk


Luc Heijst

unread,
May 1, 2021, 11:48:50 AM5/1/21
to weewx-user
The backup of weewx_wbx1 normally takes 10-11 seconds. This morning (with the deathlock error) it took 16 seconds. 
I have added option --skip-lock-tables

Op zaterdag 1 mei 2021 om 12:03:41 UTC-3 schreef tke...@gmail.com:
Reply all
Reply to author
Forward
0 new messages