Hi Franco, I think that the problem is that there is a bug in the serialization/deserialization of LongDoubleNullDoubleVertex (this is your class right?). That's why it works on one worker, but not more.

Avery

On 9/10/12 11:24 PM, Franco Maria Nardini wrote:
Thanks a lot, Avery.

I tried your solution but now I got this error that seems related to
netty. Am I wrong?

Best,

FM

---
2012-09-11 08:19:41,796 WARN
org.apache.giraph.comm.netty.handler.RequestServerHandler:
exceptionCaught: Channel failed with remote address /172.20.10.3:50077
java.io.EOFException: fieldSize is too long! Length is 8, but maximum is 5
        at 
org.jboss.netty.buffer.ChannelBufferInputStream.checkAvailable(ChannelBufferInputStream.java:230)
        at 
org.jboss.netty.buffer.ChannelBufferInputStream.readLong(ChannelBufferInputStream.java:198)
        at 
org.jboss.netty.buffer.ChannelBufferInputStream.readDouble(ChannelBufferInputStream.java:153)
        at 
org.apache.giraph.graph.LongDoubleNullDoubleVertex.readFields(LongDoubleNullDoubleVertex.java:157)
        at 
org.apache.giraph.comm.requests.SendVertexRequest.readFieldsRequest(SendVertexRequest.java:79)
        at 
org.apache.giraph.comm.requests.WritableRequest.readFields(WritableRequest.java:90)
        at 
org.apache.giraph.comm.netty.handler.RequestDecoder.decode(RequestDecoder.java:82)
        at 
org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:67)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:458)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:439)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
        at 
org.apache.giraph.comm.netty.ByteCounter.handleUpstream(ByteCounter.java:61)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
        at 
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:385)
        at 
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:256)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
        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:680)
2012-09-11 08:19:41,798 WARN
org.apache.giraph.comm.netty.handler.RequestServerHandler:
exceptionCaught: Channel failed with remote address /172.20.10.3:50077
java.io.EOFException: fieldSize is too long! Length is 8, but maximum is 1
        at 
org.jboss.netty.buffer.ChannelBufferInputStream.checkAvailable(ChannelBufferInputStream.java:230)
        at 
org.jboss.netty.buffer.ChannelBufferInputStream.readLong(ChannelBufferInputStream.java:198)
        at 
org.jboss.netty.buffer.ChannelBufferInputStream.readDouble(ChannelBufferInputStream.java:153)
        at 
org.apache.giraph.graph.LongDoubleNullDoubleVertex.readFields(LongDoubleNullDoubleVertex.java:157)
        at 
org.apache.giraph.comm.requests.SendVertexRequest.readFieldsRequest(SendVertexRequest.java:79)
        at 
org.apache.giraph.comm.requests.WritableRequest.readFields(WritableRequest.java:90)
        at 
org.apache.giraph.comm.netty.handler.RequestDecoder.decode(RequestDecoder.java:82)
        at 
org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:67)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:458)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:439)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
        at 
org.apache.giraph.comm.netty.ByteCounter.handleUpstream(ByteCounter.java:61)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
        at 
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:385)
        at 
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:256)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
        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:680)

On Tue, Sep 11, 2012 at 7:53 AM, Avery Ching <ach...@apache.org> wrote:
These days we are focusing more on the netty IPC.  Can you try
-Dgiraph.useNetty=true?

Avery


On 9/10/12 2:08 PM, Franco Maria Nardini wrote:
Dear all,

I am working with Giraph 0.2/Hadoop 1.0.3. In particular, I am trying
to execute the following code:

hadoop jar
giraph-0.2-SNAPSHOT-for-hadoop-0.20.203.0-jar-with-dependencies.jar
org.apache.giraph.GiraphRunner \
org.apache.giraph.examples.SimplePageRankVertex \
-w 2 \
-if
org.apache.giraph.examples.SimplePageRankVertex\$SimplePageRankVertexInputFormat
-ip bigGraph.txt \
-of org.apache.giraph.io.IdWithValueTextOutputFormat -op output \
-mc
org.apache.giraph.examples.SimplePageRankVertex\$HDFSBasedPageRankVertexMasterCompute

If I set the number of workers equal to two, one of the mappers produce:

ava.lang.RuntimeException: java.io.IOException: Call to
zipottero.local/172.20.10.3:30001 failed on local exception:
java.io.EOFException
         at
org.apache.giraph.comm.BasicRPCCommunications.sendPartitionRequest(BasicRPCCommunications.java:923)
         at
org.apache.giraph.graph.BspServiceWorker.loadVertices(BspServiceWorker.java:327)
         at
org.apache.giraph.graph.BspServiceWorker.setup(BspServiceWorker.java:604)
         at org.apache.giraph.graph.GraphMapper.setup(GraphMapper.java:377)
         at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:578)
         at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
         at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
         at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
         at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.io.IOException: Call to
zipottero.local/172.20.10.3:30001 failed on local exception:
java.io.EOFException
         at org.apache.hadoop.ipc.Client.wrapException(Client.java:1107)
         at org.apache.hadoop.ipc.Client.call(Client.java:1075)
         at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
         at $Proxy3.putVertexList(Unknown Source)
         at
org.apache.giraph.comm.BasicRPCCommunications.sendPartitionRequest(BasicRPCCommunications.java:920)
         ... 11 more
Caused by: java.io.EOFException
         at java.io.DataInputStream.readInt(DataInputStream.java:375)
         at
org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:804)
         at org.apache.hadoop.ipc.Client$Connection.run(Client.java:749)

while it perfectly works if the number of workers is set to 1. I am
experiencing the problem both on small and big graphs.

Any idea of the reasons behind this behavior?

Thanks a lot in advance.

Best,

FM
--
Franco Maria Nardini

High Performance Computing Laboratory
Istituto di Scienza e Tecnologie dell’Informazione (ISTI)
Consiglio Nazionale delle Ricerche (CNR)
Via G. Moruzzi, 1
56124, Pisa, Italy

Phone: +39 050 315 3496
Fax: +39 050 315 2040
Mail: francomaria.nard...@isti.cnr.it
Skype: francomaria.nardini
Web: http://hpc.isti.cnr.it/~nardini/


Reply via email to