|
|
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
падает такой error на проде если вырубить сервис базы(mssql) (приложение работает в этот момент) авторThu, 11 Aug 2016 16:41:42,976 EDT level="WARN" node="XXXX" channel="general" thread="C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-AdminTaskTimer" ref="c.m.v.a.ThreadPoolAsynchronousRunner#log:211" message="com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@4588e9fd -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!" exception="" Thu, 11 Aug 2016 16:41:43,005 EDT level="WARN" node="XXXX" channel="general" thread="C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-AdminTaskTimer" ref="c.m.v.a.ThreadPoolAsynchronousRunner#log:211" message="com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@4588e9fd -- APPARENT DEADLOCK!!! Complete Status: Managed Threads: 3 Active Threads: 3 Active Tasks: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@a4081a on thread: C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-HelperThread-#0 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@69f7c7f2 on thread: C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-HelperThread-#2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2a131806 on thread: C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-HelperThread-#1 Pending Tasks: com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@a681738 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@37cc62de com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4b6ef970 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@62ba4ec0 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@358851e3 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@8b8298a com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@72af277e com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4949fc04 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@18409033 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@36bb10b5 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3345f725 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3664b86f com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@e889b4f com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2a8c66fd com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@67bd81dd com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4a990960 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@536a3e3 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@46418ec1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7a0344ef com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6ca2e57d com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3a88a943 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@62208bba com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@46b592aa com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3aaffb2a com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7792a07f com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3b672f2d com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@734a51d2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@1441ed20 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7436da43 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3d33a050 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@8620394 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5ad8edd8 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@57e72e80 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@a9e0296 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@bbbcb4c com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@561ff098 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4aecb754 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7af81239 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@34749b41 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@537ce34e com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2c2f40b4 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@52410015 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@296c8ce3 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@1595a054 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1250f5de com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@13dcb37 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7fe88883 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7b5a920f com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@772b560d com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3e1eac9a com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4fd5d252 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5ee32e70 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@14fdebbb com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2a7f4cc1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@b8828b3 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@182805af com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@6b8d308c com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@26e6e7e com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@20181371 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@ca4702d com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7fc0a0d6 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3f7f8320 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4c79ca71 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4fd9e7f0 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@6b0a6684 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@77d09b02 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2070ddc2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@51eefc31 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@20ef1efd com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@32db84ef com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@69f480fe com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3340da0a com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@66aae0cf com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5c8d6ab1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4857b9ef com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@77701f03 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@62043b37 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3cbca27 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3844c863 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2bbff871 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@484fd927 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7239b487 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2a7b45a7 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@319ecbb com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1b04ea94 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5fc4a867 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@680c334f com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@78fcbce6 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@18d5de18 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@e80665 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@fbd15a com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@146d6c37 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1bdb995b com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6e3133a6 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@60360fce com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7d47ceba com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@75555597 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@356668af com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@5662d48c com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@72705fa2 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2f96bf60 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@51ee5008 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@74c8673d com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@10f211b1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4678428 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2815605a com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1368c945 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4475daf7 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@157ab13e com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2a0a6876 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1150308a com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@27a2bce7 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2d1ff605 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@d50d968 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@36f141ac com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@190e9f62 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@f01e7c8 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4618032a com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@5277de59 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3ba6cf5b com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@44777df5 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@ee82f1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2ad69cb1 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6fc93e6f com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@52222bf com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4172c3b com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@d58d796 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@43b1bfb2 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@4aa061d6 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@67774ee0 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@49db8931 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6c0c15d8 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@d6e4f53 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4519d908 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@23f7bfa9 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5e4802b1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@49a8e2d2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6ec36ec5 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@609d8052 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@453b90c com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1499c50c com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7b57a164 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3624eb7f com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@31e0fa9e com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2965b4a7 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5437552c com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7cb8e6e5 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4f3f045b com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@32371b02 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3fce3a0f com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@7c45cf82 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@4b3a9f8b com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@75c08542 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@326cec73 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@d178be2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3980bea3 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@6136bb00 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@502f2edc com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@49ad96a4 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@237d0ec6 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@6754fb5d com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7c42cbaa com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@69df4325 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@40b16870 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3f3fb23e com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6ecf24e2 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@617eaa43 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5e533d3c com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@6edd002a com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@6f35fe42 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@41c7d818 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@273c3165 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@60cef202 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@e2cb3 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@22989bcc com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@511c7fd2 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@260bdd98 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@550139ab com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3d587461 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@7a40abbd com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@2bcb43ff com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2ddd30cf com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@14af7d8f com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@d5c41e5 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@23ea283d com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@61f7cf36 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@3433f28 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@33e75cc4 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1a7e86d2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@68c55294 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@72b0a848 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2bf849cb com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@39b4c4fa com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@af016af Pool thread stack traces: Thread[C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-HelperThread-#0,5,main] java.lang.Thread.sleep(Native Method) com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1105) com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) Thread[C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-HelperThread-#2,5,main] java.lang.Thread.sleep(Native Method) com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1105) com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) Thread[C3P0PooledConnectionPoolManager[identityToken->2vnkwm9ixrq20ttlne7p|5632af89]-HelperThread-#1,5,main] java.lang.Thread.sleep(Native Method) com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1105) com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) локально если отрубить базу - такого не происходит. На проде свои админы и куча фаерволов. Это может быть причиной? посоветуйте куда копать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2016, 19:50 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Если исключение мешает, то (внезапно) исключение надо перехватить и обработать. Что касается различий поведения, то можно "построить несколько рабочих версий" (ц) братья Вайнеры, "Гонки по вертикали". Например: с локальной базой драйвер работает через разделяемую память и остановка сервиса не уничтожает то, что выдано приложению. Исключение возникнет, когда приложение реально начнёт обращаться к базе. В реальной конфигурации останавливаемый сервис закрывает сетевые подключения и это "сразу видно". P.S. Честно говоря, не очень понятно что вас удивляет и какого поведения вы хотели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 02:30 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Виноват, не написал деталей. В коде по крону, раз в 5 секунд приложение пингует базу sql запросом. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Если локально отрубить базу, то увидим: автор...Node lost connection to DB... раз в 5 секунд и если потом включить, то этой ошибки нет В случае продакшена при отключении базы видим ошибку из изначального поста, а потом когда включаем базу видим ответы, которые были в момент когда база была "отключена". авторThu, 11 Aug 2016 16:57:33,674 EDT level="INFO" node="XXXX" channel="general" thread="XXXX-6" ref="c.n.f.m.MonitoringDbHealthService#checkDb:31" message="DB response (duration=536196)" exception="" Thu, 11 Aug 2016 16:57:33,693 EDT level="INFO" node="XXXX" channel="general" thread="XXXX-4" ref="c.n.f.m.MonitoringDbHealthService#checkDb:31" message="DB response (duration=660306)" exception="" Thu, 11 Aug 2016 16:57:33,737 EDT level="INFO" node="XXXX" channel="general" thread="XXXX-1" ref="c.n.f.m.MonitoringDbHealthService#checkDb:31" message="DB response (duration=614284)" exception=" Нам не рассказывают как админы отключают базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 10:36 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
В И-нетах пишут ( C ): This sounds like you have already acquired a connection from the pool and do not return it in time. C3P0 determines "apparent deadlocks" when a connection is acquired but not returned to the pool within the deadlock detection timeout. If you move the connection acquisition closer to the "action" and immediately return it to the pool after the database work is done, this message will disappear. Предположу, что в связи с обрывом связи, ряд не закрытых connection'ов просто повисли в ожидание ответа сервера и через некоторое время начали сыпаться данные ошибки. Но опять таки, не очень понятно, в чем проблема: "... Если исключение мешает, то (внезапно) исключение надо перехватить и обработать... " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 12:24 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
SO я уже читал) Basil A. Sidorov Если исключение мешает, то (внезапно) исключение надо перехватить и обработать. Мешает то, что это фоновая таска коннекшен пула и в моём коде я не представляю где ловить этот эксепшн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 13:06 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questioner, на один и тот же юз-кейс (вынуть БД из розетки) нужно предоставить логи и ИХ проанализировать. - где второй лог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 13:16 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
1. Я бы проверил, что нет долговисящих соединений с БД. 2. Судя по Вашему описанию, лично у меня складывается чувство, что админами настроен автоматический реконект (failover) при обрыве связи В случае продакшена при отключении базы......, а потом когда включаем базу видим ответы, которые были в момент когда база была "отключена" Подозреваю, что или в программе ловить обрыв связи и реконектится или средствами OС/СУБД. Одно из двух. Раз админы настраивают реконект в ОС/СУБД - пусть и обеспечивают вменяемое время переключения или корректный отлуп от сервера. А в C3P0 тогда нужно просто timeout поднять (не очень понятно, какие именно). Пишут, что APPARENT DEADLOCK это ситуация, когда C3P0 не может открыть/закрыть/проверить соединение. Драйвер просто висит и не возвращает ни успех, ни fail. Или поднимать таймауты (что бы всегда до посинения ждать, когда MS SQL очухается) или наоборот, настраивать автоматический убой сессий. Но тут советы давать не могу, сам с таким не сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 13:33 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevлично у меня складывается чувство, что админами настроен автоматический реконект (failover) при обрыве связи это где и как делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 13:59 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, я так понимаю, админы пусть со стороны БД делают что угодно. Но, если пул хороший, то эти админы не могут угробить его работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 14:02 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Petro123это где и как делается? про Oracle знаю, но не делал, про MS SQL не знаю загнать драйвер, что бы он при обрыве связи не давал ответа - как два пальца обосновать ))) У нас заказчик (на Oracle) такое умудрялся через неправильную настройку DHCP делать. TNSPING (установка связи) до десятка минут давала ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 14:03 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevзагнать драйвер, что бы он при обрыве связи не давал ответа ....фиг знает... С другой стороны, у него пул? Тогда где настройки пула? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 14:56 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questionerВ коде по крону, раз в 5 секунд приложение пингует базу sql запросомХотите начистоту? Зачем сначала делать дурную работу, а потом героически преодолевать проблемы??? Если вы не знаете, что делать с ошибкой, то какая вам разница пингуете вы базу или нет? Если вы знаете, что делать с ошибкой, то почему бы не обработать эту ошибку там, где она возникнет, а не в каких-то идиотских пингах, которые (внезапно) в состоянии делать и ваш пул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 16:01 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, +1 весь лог и какая то проблема это приложение админка запускаемая для пинга. Разработчик кода заблудился в трёх соснах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 16:28 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovquestionerВ коде по крону, раз в 5 секунд приложение пингует базу sql запросомХотите начистоту? Зачем сначала делать дурную работу, а потом героически преодолевать проблемы??? Если вы не знаете, что делать с ошибкой, то какая вам разница пингуете вы базу или нет? Если вы знаете, что делать с ошибкой, то почему бы не обработать эту ошибку там, где она возникнет, а не в каких-то идиотских пингах, которые (внезапно) в состоянии делать и ваш пул. Можно аргументированно то хотя бы? Что не так с пингом? Заказчик хочет, в случае, если база недоступна видеть в логе мессадж. Напрягать своих админов заказчик не хочет никак. Где, бл%%%ть обработать эксепшн, который возникает не в моём коде и моим кодом напрямую не вызывается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 21:27 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questioner, Пул бл### не нужен для такой задачи. Убери его и спи спокойно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 09:12 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questionerГде, бл%%%ть обработать эксепшн, который возникает не в моём коде и моим кодом напрямую не вызывается? Сдается мне, что в этой фразе некий сумбур. Для того, чтобы обработать исключение, его вызывать самому не обязательно. Надо, чтобы оно доходило, до вашего кода. Если не доходит, тут да - надо думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 09:47 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевquestionerГде, бл%%%ть обработать эксепшн, который возникает не в моём коде и моим кодом напрямую не вызывается? Сдается мне, что в этой фразе некий сумбур. Для того, чтобы обработать исключение, его вызывать самому не обязательно. Надо, чтобы оно доходило, до вашего кода. Если не доходит, тут да - надо думать. А что по первому моему сообщение в топике со всем трейсом непонятно, что там только библиотечные вызовы в трейсе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:02 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Petro123questioner, Пул бл### не нужен для такой задачи. Убери его и спи спокойно. Хм...а это идея... только я не знаю как... но наверное как-то можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:03 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questionerтолько я не знаю как программист или админ? Не знаешь как без пула вызвать SELECT 1 AS CHECK_FIELD? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:21 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questionerЗаказчик хочет, в случае, если база недоступна видеть в логе мессадж. Напрягать своих админов заказчик не хочет никак. questionerНам не рассказывают как админы отключают базу. Очень странный заказчик)). Причины такого поведения должны быть? - что будет если упадёт ваша таска с аппСервером? - если заказчик видит лог (без админов) что БД упала, то что он делает? Или заказчик это админы, которые свалили свою работу на вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:27 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
questionerА что по первому моему сообщение в топике со всем трейсом непонятно, что там только библиотечные вызовы в трейсе? Ну и? Пул настроен таким образом, чтобы в случае обнаружения разрыва связи с БД пытаться заново переконектиться к БД, естественно на это время он задерживает потоки, которые просят от него новое подключение. Таймауты выставлены так, что он успевает (или не успевает, но пользователь успевает заметить подтормаживание) переконнектится и исключение, что "мол нисмогла я" не доходит до приложения. Это ожидаемое поведение. Дальше и надо подумать. Что ты хочешь? Если получать отлуп - выкрути таймаут. Либо мониторь свой основной поток на предмет очень долгого ожидания получения соединения, ну или сам c3p0 через jmx, какой-нибудь. С клиента присылаешь периодически запрос: А все ли в порядке с пулом? И если ответ - нет жопа. То рисуешь всплывающий баннер c просьбой перечислить серверу биткоины на поправку здоровья. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:39 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевЧто ты хочешь? я так понял, ему в идеале: - раз 5 минут из линукса вызвать select 1 - если ответа нет, то СРАЗУ записать в лог и опять ждать 5 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:48 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Petro123из линукса тьфу ты))) Там сиквел? Из винды? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:49 |
|
||
|
APPARENT DEADLOCK в приложении ели отключить базу на проде
|
|||
|---|---|---|---|
|
#18+
Petro123Сергей АрсеньевЧто ты хочешь? я так понял, ему в идеале: - раз 5 минут из линукса вызвать select 1 - если ответа нет, то СРАЗУ записать в лог и опять ждать 5 минут. Дело говоришь. Локально так и работает. Petro123Там сиквел? Из винды? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 12:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39293134&tid=2123797]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 385ms |

| 0 / 0 |
