Подтвердить что ты не робот

Предупреждение журнала: обнаружено голодание или обнаружение часов (домохозяйка delta = springHikariConnectionPool)

Я использую HikariCP 2.4.6 и при запуске Tomcat 8 появляется предупреждающее сообщение:

01-Aug-2016 11:18:01.599 INFO [RMI TCP Connection(4)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log Initializing Spring FrameworkServlet 'Spring MVC Dispatcher Servlet'
[2016-08-01 11:18:01,654] Artifact blueberry:war exploded: Artifact is deployed successfully
[2016-08-01 11:18:01,655] Artifact blueberry:war exploded: Deploy took 33,985 milliseconds
Aug 01 2016 11:26:52.802 AM [DEV] (HikariPool.java:614)
WARN : com.zaxxer.hikari.pool.HikariPool - 9m13s102ms - Thread starvation or clock leap detected (housekeeper delta=springHikariConnectionPool).

Я не вижу никаких других ошибок или проблем с чтением/записью из БД. Это что-то беспокоит? Я пробовал искать, но не повезло.

Мы также используем Hibernate 4.3.8.Final над MySQL 5 и соединителем MySQL 5.1.39 с Spring 4.1.0.RELEASE. Мы работаем над обновлением до Hibernate 5 и увидим, удастся ли это, но не знаю, будет ли это иметь значение.

4b9b3361

Ответ 1

Существует хорошее краткое изложение о том, почему обнаружение скачка часов может происходить на законных основаниях. Цитировать внешнюю ссылку Бретта Вулриджа:

Это выполняется в потоке домохозяйки, который выполняется каждые 30 секунд. Если вы работаете в Mac OS X, clockSource System.currentTimeMillis(), любая другая платформа, к которой относится clockSource System.nanoTime(). Оба в теории монотонно растут, но на это могут влиять разные вещи, такие как NTP-серверы. Большинство ОС разработан для обработки обратных настроек времени NTP, чтобы сохранить иллюзия прямого потока времени.

Этот код говорит, если время движется назад (теперь & lt; предыдущий), или если время "прыгнул вперед" более чем на два периода хозяйствования (больше чем 60 секунд), то, скорее всего, происходит что-то странное.

Пара вещей может происходить:

  1. Вы можете работать в виртуальном контейнере (VMWare, AWS и т.д.), Который по какой-то причине плохо обслуживает иллюзия прямого потока времени.

  2. Поскольку в потоке домохозяйки происходят другие вещи - в частности, закрытие простаивающих соединений - возможно, что для некоторых Причиной закрытия соединения является блокировка потока домохозяйки для более чем два периода уборки (60 секунд).

  3. Сервер настолько загружен, все процессоры подключены, что происходит истощение потока, что препятствует запуску потока домохозяйки в течение более двух периодов уборки.

Учитывая это, возможно, вы можете предоставить дополнительный контекст.

ОБНОВЛЕНИЕ: Обратите внимание, что это основано на код HikariCP 2.4.1. Убедись, что ты работает самая последняя версия.

(Также похоже, что параметры были обновлены в предупреждении в последнем коде.)

Ответ 2

Возможные причины: когда вы отлаживаете приложение, а поток ожидает точку останова более 60 секунд.