giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eli Reisman (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GIRAPH-488) ArrayOutOfBoundsException in org.apache.giraph.worker.InputSplitPathOrganizer
Date Wed, 23 Jan 2013 04:10:13 GMT

    [ https://issues.apache.org/jira/browse/GIRAPH-488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13560375#comment-13560375
] 

Eli Reisman commented on GIRAPH-488:
------------------------------------

Yes I believe so, until Alessandro had to upgrade the split organizer code
for multiple threads, this same solution made everything work correctly
where that  array index error is concerned, at least for the last 6 months.
This patch should fix the problem here too. I ran tests and a few jobs
today and it ran fine. he had me look over his fix, but I didn't realize
this had changed.

I tried to add a line or two of comments to the patch to make clear to
future devs why the base offset in the split organizer must be calculated
for the full split list if the locality is off, and calculated for the
nonlocality list as we are inserting the locality list back into it, using
the nonlocal list size (a bit smaller if we found some local blocks in the
split list we're scanning) thats what it does now (and did before when it
worked.)

Its the kind of error that only comes up when an unlucky hash gets
generated, so if Sebastian's job sets this off, I'd like to see him patch
this into trunk, and run his job again to see what happens just to be extra
certain, but I am very confident this takes care of the issue.



                
> ArrayOutOfBoundsException in org.apache.giraph.worker.InputSplitPathOrganizer
> -----------------------------------------------------------------------------
>
>                 Key: GIRAPH-488
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-488
>             Project: Giraph
>          Issue Type: Bug
>    Affects Versions: 0.2.0
>            Reporter: Sebastian Schelter
>            Assignee: Eli Reisman
>         Attachments: GIRAPH-488-1.patch
>
>
> I ran into a strange exception when testing the RandomWalkVertex on a cluster of 26 machines
running Hadoop 1.0.4
> {noformat}
> java.lang.IllegalStateException: run: Caught an unrecoverable exception Index: 225, Size:
205
> 	at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:735)
> 	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:415)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
> 	at org.apache.hadoop.mapred.Child.main(Child.java:249)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 225, Size: 205
> 	at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:612)
> 	at java.util.ArrayList.addAll(ArrayList.java:554)
> 	at org.apache.giraph.worker.InputSplitPathOrganizer.prioritizeLocalInputSplits(InputSplitPathOrganizer.java:140)
> 	at org.apache.giraph.worker.InputSplitPathOrganizer.<init>(InputSplitPathOrganizer.java:93)
> 	at org.apache.giraph.worker.InputSplitsCallable.<init>(InputSplitsCallable.java:140)
> 	at org.apache.giraph.worker.VertexInputSplitsCallable.<init>(VertexInputSplitsCallable.java:97)
> 	at 
> org.apache.giraph.worker.VertexInputSplitsCallableFactory.newCallable(VertexInputSplitsCallableFactory.java:86)
> 	at org.apache.giraph.worker.BspServiceWorker.loadInputSplits(BspServiceWorker.java:266)
> 	at org.apache.giraph.worker.BspServiceWorker.loadVertices(BspServiceWorker.java:310)
> 	at org.apache.giraph.worker.BspServiceWorker.setup(BspServiceWorker.java:483)
> 	at org.apache.giraph.graph.GraphMapper.map(GraphMapper.java:525)
> 	at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:723)
> 	... 7 more
> {noformat}

--
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

Mime
View raw message