Вот как выглядит процессор в Dynatrace

Вот так выглядит дамп потока, когда мы анализировали его с помощью dynatrace.


По моим исследованиям выяснилось, что произошел дефект jdk
Код: Выделить всё
Calling 'java.util.zip.Deflater.finish()' prematurely hangs the application.
The application is spinning consuming one cpu
Происходит только случайным образом, когда задействовано несколько фильтров.
Мне удалось воспроизвести это, используя тестовый класс в jira выше на виртуальной машине CentOs, которая имеет JDK «1.8.0_201»
Это было удивительно, потому что, согласно документации и билету, это было исправлено.
При дальнейшем исследовании обнаружилось, что аналогичный дефект снова открылся в jdk.
https://bugs.openjdk.java.net/browse/JDK-8193682
Теперь команда не желает работать над ним, если кто-то не сможет его воспроизвести.
Поскольку в производстве это происходит случайным образом, я не знаю, как это воспроизвести. В тестовом классе https://bugs.openjdk.java.net/browse/JDK-8060193 все еще есть проблемы. Является ли это вообще допустимым тестовым примером?
Если это действительно, то будут проблемы каждый раз, когда мы отправляем сжатые данные.
- Наша среда выполнения JRE — Jdk 1.8
- Сжатие осуществляется в tomcat, а не в балансировщике нагрузки.
Обновление:
В одной из библиотек, которые мы используем, выдавалось исключение
Неверный формат символа UTF-8 (неожиданный байт непродолжения 0x00, сразу после стартового байта 0xfd)
Фамилия, Имя
Как мы видим, это не обычный апостроф. Мы можем получить это, скопировав слово, которое автоматически исправляет обычный апостроф на этот необычный символ.
Наш воспроизводитель выдал ошибку, но процессор не зависал. Я думаю, это происходит при большом объеме трафика.
Подробнее здесь: https://stackoverflow.com/questions/561 ... zstreamref
Мобильная версия