Интересная, странная проблема.
В производственной системе должно быть запущено приложение, распределенное по нескольким серверам, которые все читают и записывают на отдельный сервер MySQL.
После нескольких часов работы приложение вылетает, цитируя:
<JDBCExceptionReporter.java:233>SQL Error: 0, SQLState: 08S01
<JDBCExceptionReporter.java:234>Communications link failure
The last packet successfully received from the server was 60,059 milliseconds ago. The last packet sent successfully to the server was 60,059 milliseconds ago.
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Как долго приложение работает до того, как это произойдет, кажется довольно непредсказуемым, иногда это день, иногда всего пара часов. Проблема возникнет, что приведет к сбою приложения на разных серверах в разное время, пока в конечном итоге все они не выйдут из строя. Однако самое интересное:
Неудачи, если они произойдут, всегда будет соответствовать предсказуемому расписанию, которое имеет период 61 минуту (варьируется от 60 минут 55 секунд до 61 минуты 5 секунд). Так, например, мы можем увидеть сбои в:
У меня вопрос; каковы все возможные причины сбоя, происходящего каждый раз 61 минут?
Мы уже просмотрели огромное количество материала и до сих пор в тупике, для меня ключ, кажется, находится в этой причудливой периодической схеме, которая исключает запланированные задачи, поскольку она смещается на 1 минуту в час, тогда как все запланированные задачи не будут делать этого .