Я думаю, что основной проблемой был сбой линии связи MySQL, который мы решили, увеличив «wait_timeout» до 14 дней, и поскольку наше обслуживание запланировано каждые 15 дней, мы перезапускаем каждый сервер MySQL в нашем кластере БД (у нас есть Мастер-Мастер репликации на месте). С подходом у нас не будет никакого отказа линии связи после этого. Фактически, некоторое время мы не перезагружаем сервер каждые 15 дней, но все равно ошибки не возникает (touch wood) :)
И поскольку триггеры Quartz заблокированы в состоянии BLOCKED, мы обновили кварц до версии 2.1.4, в которой возможно исправление почти такой же проблемы . После обновления кварца мы столкнулись с тем, что триггеры находятся в БЛОКИРОВАННОМ состоянии очень и очень редко.
Мы все еще не можем выяснить, как вывести триггер из состояния BLOCKED без непосредственной модификации кварцевых таблиц. Всякий раз, когда мы сталкиваемся с этой проблемой, мы вручную удаляем запись для триггера BLOCKED из таблицы qrtz_fired_triggers, и это решает проблему. Я думаю, что корпоративная версия кварца может иметь эту функцию из некоторого веб-интерфейса.