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 Dbcp Created: 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.
 Dead lock using the evictor
 Dead lock using the evictor 
شركة مكافحة حمام بالرياض
ReplyDeleteتركيب شبك حمام بالرياض
مكافحة الحمام والطيور بالرياض