2016-03-22 14 views
2

JDK8_74/Wildfly 9.0.1.Finalinde bazı tekdüze (şu anda yeniden üretilemez) davranışıyla karşılaştık. İstek sonrası parametrelerinin ayrıştırılması üzerine, çalışan iş parçacığı sonsuz döngüyü yerel yöntemle PollArrayWrapper.poll0(long, int, long) başlatır. İş parçacığı, bir çekirdekte% 100 CPU yükü tüketir.Wildfly'de Parametre-Okuma-Zamanaşımı 9.0.1.Final

mServlet.java:468 io.undertow.servlet.spec.HttpServletRequestImpl.getParameterValues(String) 
    HttpServletRequestImpl.java:679 io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData() 
... 
    SelectorImpl.java:86 sun.nio.ch.PollSelectorImpl.doSelect(long) 
     PollSelectorImpl.java:87 sun.nio.ch.PollArrayWrapper.poll(int, int, long) 
     PollArrayWrapper.java:115 sun.nio.ch.PollArrayWrapper.poll0(long, int, long) 

Bunu gören oldu mu? Farklı projelerde 2005'ten bu yana farklı projelerde ortaya çıkıyor ve birkaç kez JDK Bug olarak rapor edildi ve bunlar sabit olarak işaretlendi.

Herhangi bir fikri olan, Wildfly'i poll0 Yönteminde zaman aşımını kullanmaya zorlama konusunda herhangi bir fikri olan var mı?

Saygılarımızla Jonathan

+0

https dinleyicisi kullanırken bu mu? – ctomc

+0

@ctomc https değil, http kullanıyoruz. – Jonathan

+0

Tam işletim sisteminiz nedir? – ctomc

cevap

0

zımni ctomc gibi, bu konu çok büyük olasılıkla olmayan bir çözüme jdk-hatasıdır. Yazılımımız tamamen farklı bir uygulama ortamında çalışıyor ve bu sorunu SLES 11.4.23 sisteminde gördük. Olası bir çözüm, bir hystrix stilinde iplik-kapsülleme kullanmaktır: kritik aramayı bir Callable içerisinde kapsüllemek ve dolayısıyla bir tür watchdog/zaman aşımı uygulamasına izin vermek.

İlgili konular