Предупреждение журнала: обнаружено голодание потока или скачок часов (экономка 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.Окончательный над MySQL 5 и MySQL 5.1.39 разъем с весной 4.1.0.ОСВОБОЖДАТЬ. Мы работаем над обновлением до Hibernate 5 и увидим, исчезнет ли это, но не знаем, будет ли это будет иметь значение.

1 ответов


Я только что заметил, что есть немного более новая версия HikariCP (2.4.7), который решил эту проблему от появления на моем экземпляре.

хороший захудалом почему обнаружение скачка часов может законно произойти. Чтобы процитировать внешнюю ссылку Бретта Вулриджа:

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

этот код говорит, Если время движется назад (теперь

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

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

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

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

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

EDIT: обратите внимание, что это основано на коде hikaricp 2.4.1. Убедитесь, что вы запускаем самая последняя версия доступная.

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