Wildfly 8.1.0 Final зависает (держит соединения навсегда / канал был закрыт в середине чанка)

Я только что перенес приложение из JBoss 7.1.1 в Wildfly 8.1.0 Final. Но сейчас время от времени (как каждые 2 дня) Wildfly зависает, и мне приходится его перезагружать. Мое приложение в основном EJB/JPA/JAX-RS с Resteasy.

Под зависанием я подразумеваю, что каждый HTTP-доступ к Wildfly продолжает ждать вечно. Я подозреваю, что только Undertow заморожен, потому что я вижу в своем журнале приложений, что запланированные задачи выполняются, хотя ни одна из них не связана с сетью.

Я также заметил в своем журнале следующую ошибку: "Ответ принят, не может обработать исключение", вызванный IOException. "Канал был закрыт в середине чанка. Если вы пытались записать чанкованные данные, вы не можете закрыть канал до тех пор, пока он не будет завершен". написано".

Сервер - это виртуальная машина Ubuntu, работающая в Azure. "Физическая память" и "жесткий диск" в порядке. В соответствии с JVM Runtime в Wildfly Management использование кучи, не-кучи и потока нормально.

Единственное, что я заметил, это то, что у меня много связей, установленных навсегда, когда я "netstat -aln". У меня менее 100 клиентов в день, но сейчас я считаю 2K установленных соединений на моем порту 8080.

Что я могу сделать, чтобы лучше диагностировать и решить эту проблему?

С наилучшими пожеланиями, Ренан

ОБНОВЛЕНИЕ: это действительно была ошибка в 8.1.0, исправленная для 8.2.0, см. Мой ответ со ссылкой на проблему, открытую в JbossDeveloper.

3 ответа

Я хотел бы поделиться своим опытом в качестве разработчика / архитектора на Wildfly 8.1

Я перехожу с 7.1.1 на 8.1 на Windows/Eclipse несколько дней назад. Я также заметил некоторые нестабильности; член команды разработки выполнил миграцию и жалуется на сбои затмения / поведение, отличное от 7.1.1. Другой член команды все еще работает над Wildfly 8.0; похоже, что предыдущая версия более стабильна.

JBOss скажет вам, что Wildfly не является сервером производственных приложений; это для целей развития. Но я думаю, что вы указываете на серьезную ошибку / сходящуюся с моими подозрениями / без каких-либо реальных фактов и без ответа на ваш вопрос.

Вы должны направить свое сообщение непосредственно на форумы JBoss, чтобы быть уверенными, что команда Wildfly исследует проблему, и надеетесь, что это исправление будет частью 8.2 выпусков.

Я использовал wildfly 8.0 final с With Spring 4.1.0 и JSF 2.0 & JDK 8.0_u25. Я столкнулся с тем же исключением: UT005013: Возникла исключительная ситуация IOException: java.io.IOException: UT000029: Канал был закрыт в середине чанка, если вы пытались записать фрагментированные данные, которые вы не можете закрыть канал, пока все не будет записано.

И мой процессорный процессор сервера увеличивается на 25% каждый раз, когда происходит исключение. Alhumdulillah Теперь я решаю свою проблему.

Сейчас я использую: Wildfly 8.2.0 Final с Spring 4.1.0 и JSF 2.0 & JDK 8.0_u25

Wildfly 8.2.0 решает мою проблему с процессорной обработкой. Я наблюдаю за моим сервером почти 8 дней, затем я понимаю, что когда хост (клиент / пользователь) отправляет некоторый запрос на сервер, который требует некоторого времени для вычисления / отклика сервера, когда этот пользователь закрывает окно браузера или Выйдите из системы до получения ответа от сервера. когда Сервер завершил свою обработку, а затем попытался отправить ответ на свой конкретный запрос Host/Client, возникает IO Exception, поскольку клиент закрыл окно браузера.

Надеюсь, это поможет вам

Это была ошибка на 8.1.0, исправленная для 8.2.0:

https://issues.jboss.org/browse/WFLY-3536?_sscc=t

Другие вопросы по тегам