Wbincludes:WB6...7: Errata, Mosquitto 1.4 Persistence File: различия между версиями

Нет описания правки
Строка 20: Строка 20:


Проверить размер базы данных брокера можно командой <code>du -h /var/lib/mosquitto/mosquitto.db</code>.
Проверить размер базы данных брокера можно командой <code>du -h /var/lib/mosquitto/mosquitto.db</code>.
'''Пути обхода'''
Чтобы вернуть контроллер в рабочее состояние:
# Удалите файл с базой данных брокера (persistence file). Это можно сделать любым способом, но так как ПО контроллера, включая SSH, может работать медленно из-за недостатка свободного места, удобнее всего это сделать с помощью [[WB_Debug_Console |отладочной консоли]]: <code>rm /var/lib/mosquitto/mosquitto.db</code>. Если из-за проблем в работе контроллера у вас не получается удалить эту базу, можете [[Wiren_Board_7_Firmware_Update | выполнить factory reset]].
# В <code>/etc/mosquitto/mosquitto.conf</code> отключите функцию сохранения неотправленных сообщений в файл, для этого поменяйте <code>persistence true</code> на <code>persistence false</code>.
# Перезапустите контроллер.
# Ещё раз удалите файл с базой данных брокера.
С отключенной функция сохранения неотправленных сообщений в файл, эта проблема не будет возникать. Однако в редких случаях, описанных в разделе «Причины и подробное описание», некоторые MQTT-сообщения могут быть не доставлены.
'''Исправление'''
По заявлениям разработчиков стороннего софта mosquitto, они исправили этот баш ещё в mosquitto версии 1.5.6. В Debian 11 «bullseye» включен mosquitto версии 2.0.7-3 и старше, поэтому там этого бага быть не должно.
Однако, проблема есть и пока мы её исследуем, поэтому рекомендуем отключить функцию сохранения неотправленных сообщений в файл по инструкции в разделе «Пути обхода».