> If it's in trunk, then it may be a bug in that during > LocalBSPRunner.transfer(), BSPPeerImpl.sync() looks like at the same > time calling it.remove() which removes underlying BSPMessageBundle, > resulting in EOFException.
Just to make sure, there's no bug in BSPPeerImpl.sync(). On Sat, May 3, 2014 at 2:10 PM, Chia-Hung Lin <[email protected]> wrote: > If it's in trunk, then it may be a bug in that during > LocalBSPRunner.transfer(), BSPPeerImpl.sync() looks like at the same > time calling it.remove() which removes underlying BSPMessageBundle, > resulting in EOFException. > > Any chance to comment out BSPPeerImpl.java at line 381 with code as below? > > ... > final BSPMessageBundle<M> bundle = entry.getValue(); > // remove this message during runtime to save a bit of memory > // it.remove(); <-- comment out this line > try { > messenger.transfer(addr, bundle); > ... > > If that fixes the EOFException problem, then will need to create a > ticket for that. > > > On 3 May 2014 06:26, Attila Dóró <[email protected]> wrote: >> Hi, >> >> I try to write a graph algorithm, but I get EOFException and I can't find >> where is the mistake. >> I use the >> SSSP<https://github.com/apache/hama/blob/trunk/examples/src/main/java/org/apache/hama/examples/SSSP.java> >> example >> as a base. I tried this example and it worked well. I modified the compute >> function and some other lines in the SSSP, but I didn't modify the >> SSSPTextReader class, which extends the VertexInputReader. I know that the >> EOFException "signals that an end of file or end of stream has been reached >> unexpectedly during input", but I didn't modify any reader or input method, >> so I don't understand how can I get this exception. >> >> In the first superstep I get the proper output, but after the first >> superstep I get this exception: >> >> java.io.EOFException >> at java.io.DataInputStream.readFully(DataInputStream.java:180) >> at java.io.DataInputStream.readFully(DataInputStream.java:152) >> at >> org.apache.hama.bsp.BSPMessageBundle$1.next(BSPMessageBundle.java:157) >> at >> org.apache.hama.bsp.BSPMessageBundle$1.next(BSPMessageBundle.java:118) >> at >> org.apache.hama.bsp.LocalBSPRunner$LocalMessageManager.transfer(LocalBSPRunner.java:361) >> at org.apache.hama.bsp.BSPPeerImpl.sync(BSPPeerImpl.java:381) >> at org.apache.hama.graph.GraphJobRunner.bsp(GraphJobRunner.java:133) >> at >> org.apache.hama.bsp.LocalBSPRunner$BSPRunner.run(LocalBSPRunner.java:258) >> at >> org.apache.hama.bsp.LocalBSPRunner$BSPRunner.call(LocalBSPRunner.java:288) >> at >> org.apache.hama.bsp.LocalBSPRunner$BSPRunner.call(LocalBSPRunner.java:212) >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >> at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >> 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) >> >> I have no idea what is the problem, so if somebody could help me, I would >> really appreciate that. >> >> (Anyway, here <http://pastebin.com/3AHu8FnC> is my code, but I haven't used >> comment so I think it's totally incomprehensible for you) >> >> Thank you in advance for your help, >> Attila -- Best Regards, Edward J. Yoon CEO at DataSayer Co., Ltd.
