You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Kihwal Lee (JIRA)" <ji...@apache.org> on 2012/07/20 21:29:36 UTC

[jira] [Updated] (MAPREDUCE-4467) IndexCache failures due to missing synchronization

     [ https://issues.apache.org/jira/browse/MAPREDUCE-4467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kihwal Lee updated MAPREDUCE-4467:
----------------------------------

    Fix Version/s: 2.2.0-alpha
                   3.0.0
                   0.23.3
           Status: Patch Available  (was: Open)
    
> IndexCache failures due to missing synchronization
> --------------------------------------------------
>
>                 Key: MAPREDUCE-4467
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4467
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: nodemanager
>    Affects Versions: 0.23.2
>            Reporter: Andrey Klochkov
>            Assignee: Kihwal Lee
>             Fix For: 0.23.3, 3.0.0, 2.2.0-alpha
>
>         Attachments: mapreduce-4467.patch.txt
>
>
> TestMRJobs.testSleepJob fails randomly due to synchronization error in IndexCache:
> {code}
> 2012-07-20 19:32:34,627 ERROR [New I/O server worker #2-1] mapred.ShuffleHandler (ShuffleHandler.java:exceptionCaught(528)) - Shuffle error: 
> java.lang.IllegalMonitorStateException
> 	at java.lang.Object.wait(Native Method)
> 	at org.apache.hadoop.mapred.IndexCache.getIndexInformation(IndexCache.java:74)
> 	at org.apache.hadoop.mapred.ShuffleHandler$Shuffle.sendMapOutput(ShuffleHandler.java:471)
> 	at org.apache.hadoop.mapred.ShuffleHandler$Shuffle.messageReceived(ShuffleHandler.java:397)
> 	at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:148)
> 	at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:116)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
> 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:522)
> 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506)
> 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> {code}
> A related issue is MAPREDUCE-4384. The change introduced there removed "synchronized" keyword and hence "info.wait()" call fails. Tbis needs to be wrapped into a "synchronized" block.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira