You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Maja Kabiljo (JIRA)" <ji...@apache.org> on 2012/10/25 20:27:12 UTC

[jira] [Updated] (GIRAPH-386) ClassCastException when giraph.SplitMasterWorker=false

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

Maja Kabiljo updated GIRAPH-386:
--------------------------------

    Attachment: GIRAPH-386.patch

I'm fixing this for now by artificially setting the task id from master's WorkerInfo to -1. Since we use that taskid only for the communication purposes that's fine, and all task ids are >=0. 

If someone has a cleaner solution in mind I'd be happy to hear it, or when I think of something better I'll make a change. But for now, this fixes the issue.
                
> ClassCastException when giraph.SplitMasterWorker=false
> ------------------------------------------------------
>
>                 Key: GIRAPH-386
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-386
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Jaeho Shin
>            Assignee: Maja Kabiljo
>         Attachments: GIRAPH-386.patch
>
>
> Using -Dgiraph.SplitMasterWorker=false with a recent trunk (r1401165) caused the machine who is playing the master role (showing itself as {{ALL}} from the task tracker page) to throw ClassCastException (SendVertexRequest -> MasterRequest) from MasterRequestServerHandler class.  I'm trying to use as many machines as possible for actual computation (can't afford to waste one for master+ZK).  This worked fine with r1388628 (roughly a month ago), so a recent change must've broken something.  Here's the relevant log I captured:
> {code}
> 2012-10-24 23:08:02,152 WARN org.apache.giraph.comm.netty.handler.RequestServerHandler: exceptionCaught: Channel failed with remote address /10.x.y.z:41780
> java.lang.ClassCastException: org.apache.giraph.comm.requests.SendVertexRequest cannot be cast to org.apache.giraph.comm.requests.MasterRequest
> 	at org.apache.giraph.comm.netty.handler.MasterRequestServerHandler.processRequest(MasterRequestServerHandler.java:25)
> 	at org.apache.giraph.comm.netty.handler.RequestServerHandler.messageReceived(RequestServerHandler.java:100)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
> 	at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:71)
> 	at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:45)
> 	at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:69)
> 	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}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira