Busy http thread grew up until suspending its function. When the apache could not respond any request, it removed from L4 (it have L7 function) because of no response.
OS : CentOS
gcc version : gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)
glibc 버전 glibc-2.3.4-2.39
- Apache Server Status
- Server uptime: 4 days 20 hours 41 minutes 2 seconds
- Total accesses: 43491259 - Total Traffic: 10.8 GB
- CPU Usage: u33.75 s6.42 cu0 cs0 - .00956% CPU load
- 104 requests/sec - 27.0 kB/second - 266 B/request
- 109 requests currently being processed, 4 idle workers
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW_WWW.WWWWWWWWWWWW CWWWWWWWWWWWWWWWWWWWWW_WWWWCWWWWWWWWWRWWWWWW__CCR.C............. ................................................................ ................................................................
Scoreboard Key:
"_
" Waiting for Connection,
"S
" Starting up, "R
" Reading
Request,
"W
" Sending Reply, "K
"
Keepalive (read), "D
" DNS Lookup,
"C
"
Closing connection, "L
" Logging, "G
"
Gracefully finishing,
"I
" Idle cleanup of worker,
".
" Open slot with no current process
..
i.
java.lang.Thread.State: BLOCKED
(on object monitor)
at
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:916)
- waiting to lock
<0x8fedb478> (a org.apache.commons.pool.impl.GenericObjectPool)
1. "TP-Processor2" daemon prio=10 tid=0x0821f400 nid=0x4286 waiting for monitor entry [0x88ed3000..0x88ed50a0]
2. "TP-Processor2" daemon prio=10 tid=0x0821f400 nid=0x4286 waiting for monitor entry [0x88ed3000..0x88ed50a0]
Found one Java-level deadlock:
=============================
"TP-Processor200":
waiting to lock monitor 0x080dfd24 (object 0x8fedb478, a org.apache.commons.pool.impl.GenericObjectPool),
which is held by "Timer-0"
"Timer-0":
waiting to lock monitor 0x080dfcc0 (object 0x8fee6f70, a org.apache.commons.dbcp.PoolableConnection),
which is held by "TP-Processor28"
"TP-Processor28":
waiting to lock monitor 0x080dfd24 (object 0x8fedb478, a org.apache.commons.pool.impl.GenericObjectPool),
which is held by "Timer-0"
"TP-Processor200": (Select query) return queryForList("xxx.selectXXXCount",param);
"TP-Processor28": (Select query)
queryForObject("selectmusic",params);
Commons DbcpDead lock using the evictorCreated: 26/Jun/08 10:18 AM Updated: 27/Jun/08 03:41 AM |
Patch attached, dead lock reported. the abandonedtrace does synchronized(this) when it really only needs to do synchronized(this.trace)
Dead lock reported when using the evictor
=============================
"Timer-3":
waiting to lock monitor
0x0000000053b40548 (object 0x00002aaabf3210f0,
a
org.apache.tomcat.dbcp.dbcp.PoolableConnection),
which is held by
"TP-Processor27"
"TP-Processor27":
waiting to lock monitor
0x0000000053b404d0 (object 0x00002aaab9fa8b08,
a
org.apache.tomcat.dbcp.pool.impl.GenericObjectPool),
which is held by
"Timer-3"
Java stack information for the threads listed above:
patch source
Because Commons-dbcp 1.3 is not year released in formal. (now : 4. 2009) and I do not know what willing happen if the snapshop patch version, I used patched commons-dbcp 1.2.2 library.
After patching that version, there is no trouble or problem like that.
'general java' 카테고리의 다른 글
DBCP] Without given validationQuery, no test. (0) | 2009.04.28 |
---|---|
using merge statement in ibatis. (to 2.3.4) (0) | 2009.04.25 |
No SqlHandler log4j:ERROR problem (0) | 2009.04.21 |
JavaFx Programming Reference (0) | 2009.04.17 |
Notepad with class java file (Jad Usage Tip) (0) | 2009.04.17 |