проблема с застреванием в сети - PullRequest
1 голос
/ 23 февраля 2012

Мы столкнулись с проблемой, как показано ниже, мы не знаем, если проблема заключается в следующем: 1. чтение сокета из базы данных слишком длинное, что достигает StuckThreadMaxTime 600s 2. запрос базы данных выполняется слишком долго 2. блокировка базы данных или других объектов

любые предложения будут высоко оценены!

Thread-36 "[STUCK] ExecuteThread: '3' для очереди: 'weblogic.kernel.Default (self-tuning)'"{jrockit.net.SocketNativeIO.readBytesPinned (SocketNativeIO.java: ???) jrockit.net.SocketNativeIO.socketRead (SocketNativeIO.java:31) java.net.SocketInputStream.socketRead0 (SocketInputStream.java: ???) java.net.SocketInputStream.read (SocketInputStream.java:107) com.microsoft.sqlserver.jdbc.DBComms.receive (Неизвестный источник).$ StatementExecutionRequest.executeStatement (Неизвестный источник) com.microsoft.sqlserver.jdbc.CancelableRequest.execute (Неизвестный источник) com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest (Неизвестный источник)

^ - Блокировка удержания: com.microsoft.sqlserver.jdbc.TDSWriter@41dbbdd [тонкий замок] com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery (Неизвестный источник). Com.microsoft.sqlserver.jdbc.SQLServerStatement.getMaxFieldSize (Неизвестный источник)Java: 1118) ^ - Блокировка удержания: weblogic.jdbc.common.internal.ConnectionEnv$1@41f2d97 [тонкий замок] weblogic.jdbc.wrapper.Statement.internalClose (Statement.java:342) weblogic.jdbc.wrapper.Statement.doClose (Statement.java:399) weblogic.jdbc.wrapper.Statement.close (Statement.java:391) com.riskintegrator.infrastructure.database.DBConnector.getConnection (DBConnector.java:66) ^ - Блокировка удержания: com.riskintegrator.infrastructure.database.DBConnector@1fda7d8 [тонкий замок] com.riskintegrator.infrastructure.database.DBConnector. (БДConnector.java:56) com.riskintegrator.slsb.BaseSessionBean.populateFormWithPreparedStatement (BaseSessionBean.java:76) com.riskintegrator.slsb.BaseSession_6uq9n4_EOImpl.populateFormWithPreparedStatement (BaseSession_6uq9n4_EOImpl.java:763) com.riskintegrator.slsb.BaseSessionDelegate.populateFormWithPreparedStatement (BaseSessionDelegate.java: 118) com.riskintegrator.slsb.setup.SeverityBandBD.selectByValue (SeverityBandBD.java:181) com.riskintegrator.slsb.ca.ComputeAssessmentScoreBean.ComputeRiskScore (ComputeAssessmentScoreBean.javalsAsbe.Ce возможен.ComputeAssessmentScore (ComputeAssessmentScoreBean.java:119) com.riskintegrator.slsb.ca.ComputeAssessmentScoreBean_s478gq_EOImpl.ComputeAssessmentScore (ComputeAssessmentScoreBean_s478gq_EOImpl.java:37) com.riskintegrator.slsb.ca.ComputeAssessmentScoreBD.ComputeAssessmentScore (ComputeAssessmentScoreBD.java:32) com.riskintegrator.slsb.ca.AssessmentScoreBean.ProcessAssessment (AssessmentScoreBean.java:44) ком.riskintegrator.slsb.ca.AssessmentScoreSession_nlmr0a_EOImpl.ProcessAssessment (AssessmentScoreSession_nlmr0a_EOImpl.java:37) com.riskintegrator.slsb.ca.AssessmentScoreBD.com.riskintegrator.slsb.ScheduledBatchBean.executeDailyRunOnce (ScheduledBatchBean.java:792) com.riskintegrator.slsb.ScheduledBatchBean.ejbTimeout (ScheduledBatchBean.java:957) weblogic.ejmpl.

^ - Блокировка удержания: weblogic.ejb.container.timer.TimerImpl@12c8e34 [тонкий замок] weblogic.timers.internal.TimerImpl.run (TimerImpl.java:253)weblogic.work.SelfTuningWorkManagerImpl $ WorkAdapterImpl.run (SelfTuningWorkManagerImpl.java:516) weblogic.work.ExecuteThread.execute (ExecuteThread.java:198) weblogic.work.ExecuteThread.run (ExecuteThread.java:165)

1 Ответ

6 голосов
/ 23 февраля 2012

Дамп потока показывает, что поток завис на более чем 600 секунд (10 минут) при получении данных от SQL Server .

В моем предыдущем опыте это может быть либо длительный запрос к БД , либо прерывистый сбой подключения между Weblogic и базой данных, оставляющий сокет в состоянии неопределенности.

Является ли это одноразовым или такая же трассировка стека доступна и для других застрявших потоков - на той же строке? Если это так, то есть вероятность, что вам нужно просмотреть запрос БД с помощью SQL Query Analyzer или его эквивалент в MS-SQL

.

Если это единовременная проблема, возможно, проблема в сети

...