Wb-rules MQTT token wait timeout + большой файл БД mosquitto

Добрый день!
Что означают эти ошибки?

Mar 20 23:06:31 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c65f80 false <nil>} 37})
Mar 20 23:06:41 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c542c0 false <nil>} 38})
Mar 20 23:06:51 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c54f80 false <nil>} 39})
Mar 20 23:07:01 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c55480 false <nil>} 40})
Mar 20 23:07:11 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c556c0 false <nil>} 41})
Mar 20 23:07:21 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c55940 false <nil>} 42})
Mar 20 23:07:31 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c55b80 false <nil>} 43})
Mar 20 23:07:41 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1836100 false <nil>} 44})
Mar 20 23:07:51 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1836340 false <nil>} 45})
Mar 20 23:08:01 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1836580 false <nil>} 46})
Mar 20 23:08:11 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x18367c0 false <nil>} 47})
Mar 20 23:08:21 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1836d40 false <nil>} 48})
Mar 20 23:08:31 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1837e00 false <nil>} 49})
Mar 20 23:08:41 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1837fc0 false <nil>} 50})
Mar 20 23:08:51 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1a56280 false <nil>} 51})
Mar 20 23:09:01 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1836440 false <nil>} 52})
Mar 20 23:09:11 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1837600 false <nil>} 53})
Mar 20 23:09:21 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1837800 false <nil>} 54})
Mar 20 23:09:31 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c54100 false <nil>} 55})
Mar 20 23:09:41 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c54600 false <nil>} 56})
Mar 20 23:09:51 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c55840 false <nil>} 57})
Mar 20 23:10:01 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c55d80 false <nil>} 58})
Mar 20 23:10:11 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c55fc0 false <nil>} 59})
Mar 20 23:10:21 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c64540 false <nil>} 60})
Mar 20 23:10:31 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c654c0 false <nil>} 61})
Mar 20 23:10:41 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c65680 false <nil>} 62})
Mar 20 23:10:51 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c65840 false <nil>} 63})
Mar 20 23:11:01 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c65dc0 false <nil>} 64})
Mar 20 23:11:11 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c98d40 false <nil>} 65})
Mar 20 23:11:21 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1c99080 false <nil>} 66})
Mar 20 23:36:37 IQ170000 daemon.info wb-rules[7808]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x18e0500 false <nil>} 67})

Причину нашел в старом москито. Проблему уже описывал. Там старая история о том, что БД вырастает до гигантских размеров, забивается оперативка и кеш, и контроллер перестает нормально работать, и если вовремя это не заметить, контроллер уйдет в бутлуп.

Пожалуйста, обратите на это внимание, проблема серьезная. Тема открыта еще в прошлом году, но никакого ответа получено небыло.

wrong_log.txt (499.9 КБ)

Заняться обновлением mosquitto мы планируем скоро. Там есть некоторая беда в том, что в свежих версиях поломана совместимость по конфигами и, что ещё веселее, по ABI библиотеки libmosquittopp1.

Можно пока просто отключить persistence (сохранение retained-сообщений между перезапусками):

В /etc/mosquitto/mosquitto.conf поменять persistence true на persistence false. После этого перезапустить весь контроллер (а не только mosquitto), чтобы все остальные демоны тоже перезапустились.

Т.к. это может привести к неожиданным последствия, то лучше сначала проверить это не на продакшне.

А новую версию mosquitto точно нужно будет патчить? Не получится обойтись просто конфигами или, на крайняк, самописным адаптером сбоку?

скорее всего получится обойтись

Ситуацию понял, спасибо!