Mamy do czynienia z nietypowym problemem w naszej aplikacji, w ostatnim miesiącu nasza aplikacja osiągnęła stan niemożliwy do odzyskania, Został odzyskany po restarcie aplikacji.Zrzut wątku pokazujący stan Runnable, ale długo zawieszony
Tło: Nasza aplikacja wykonuje zapytanie DB, aby pobrać pewne informacje, a ta baza danych jest hostowana w oddzielnym węźle.
Problematyczny przypadek: Po przeanalizowaniu zrzutu wątku widzimy, że wszystkie wątki są w stanie uruchomionym pobierając dane z bazy danych, ale nie zakończyły się nawet po 20 minutach.
Po uruchomieniu aplikacji uruchom ponownie zgodnie z oczekiwaniami wszystkie wątki odzyskane. A użycie procesora było również normalne.
Poniżej zrzutu NICI
puli wątków: 2: 47" = 3 prio tid = 0x0000000007334000 NID = 0x5f runnable [0xfffffd7fe9f54000] java.lang.Thread.State: uruchamialny w oracle.jdbc. driver.T2CStatement.t2cParseExecuteDescribe (Native Method) na oracle.jdbc.driver.T2CPreparedStatement.executeForDescribe (T2CPreparedStatement.java:518) na oracle.jdbc.driver.T2CPreparedStatement.executeForRows (T2CPreparedStatement.java:764) w Ora
All threads in the same state.
Pytania:
- , co może być przyczyną tego stanu?
- jak odzyskać zgodnie z tym przypadkiem?
można sprawdzić za pomocą gwintu zrzutu analizatora http://mchr3k.github.com/javathreaddumpanalyser/ – GustyWind
Czy kiedykolwiek znaleźć rozwiązanie dla tego? Mam dokładnie ten sam problem, który powtarza się co kilka tygodni/miesięcy. – Kayaman
Jesteś pewien, że fajka się nie gdzieś złamała? –