deadlock in Abstract Metrics Context
------------------------------------

                 Key: HADOOP-1186
                 URL: https://issues.apache.org/jira/browse/HADOOP-1186
             Project: Hadoop
          Issue Type: Bug
          Components: metrics
    Affects Versions: 0.12.1
         Environment: using ganglia metrics
            Reporter: Michael Bieniosek
            Priority: Critical


There appears to be a lock-inversion deadlock in AbstractMetricsContext.

When using ganglia metrics, sometimes the jobtracker will start timing out 
requests.  The logs then reveal:

2007-03-30 13:59:50,942 WARN org.apache.hadoop.ipc.Server: Call queue overflow 
discarding oldest call heartbeat(org.apache.hadoop.mapred.Task
[EMAIL PROTECTED], false, true, 407) from 10.255.62.129:50215

A kill -QUIT dump shows:

"IPC Server handler 6 on 10001" daemon prio=1 tid=0x08515c08 nid=0x526a waiting 
for monitor entry [0x4e6f4000..0x4e6f4f40]
        at 
org.apache.hadoop.metrics.spi.AbstractMetricsContext.createRecord(AbstractMetricsContext.java:192)
        - waiting to lock <0x5a562c98> (a 
org.apache.hadoop.metrics.ganglia.GangliaContext)
        at org.apache.hadoop.mapred.JobInProgress.<init>(JobInProgress.java:130)
        at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:1384)
        - locked <0x5a446330> (a org.apache.hadoop.mapred.JobTracker)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:336)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:559)
...
"Timer-0" prio=1 tid=0x08664040 nid=0x5274 waiting for monitor entry 
[0x4e36d000..0x4e36df40]
        at 
org.apache.hadoop.mapred.JobTracker.getRunningJobs(JobTracker.java:944)
        - waiting to lock <0x5a446330> (a org.apache.hadoop.mapred.JobTracker)
        at 
org.apache.hadoop.mapred.JobTracker$JobTrackerMetrics.doUpdates(JobTracker.java:429)
        at 
org.apache.hadoop.metrics.spi.AbstractMetricsContext.timerEvent(AbstractMetricsContext.java:275)
        - locked <0x5a562c98> (a 
org.apache.hadoop.metrics.ganglia.GangliaContext)
        at 
org.apache.hadoop.metrics.spi.AbstractMetricsContext.access$000(AbstractMetricsContext.java:48)
        at 
org.apache.hadoop.metrics.spi.AbstractMetricsContext$1.run(AbstractMetricsContext.java:242)
        at java.util.TimerThread.mainLoop(Unknown Source)
        at java.util.TimerThread.run(Unknown Source)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to