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