Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
We see this exception in the logs:
ERROR 2016-06-10 16:12:20,635 [org.apache.giraph.master.MasterThread] org.apache.giraph.master.MasterThread - masterThread: Master algorithm failed with IllegalArgumentException
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(TimSort.java:899)
at java.util.TimSort.mergeAt(TimSort.java:516)
at java.util.TimSort.mergeCollapse(TimSort.java:439)
at java.util.TimSort.sort(TimSort.java:245)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at org.apache.giraph.partition.PartitionUtils.analyzePartitionStats(PartitionUtils.java:159)
at org.apache.giraph.master.BspServiceMaster.assignPartitionOwners(BspServiceMaster.java:1109)
at org.apache.giraph.master.BspServiceMaster.coordinateSuperstep(BspServiceMaster.java:1581)
at org.apache.giraph.master.MasterThread.run(MasterThread.java:124)
One of the possible reasons, is overflow in comparator. Let's fix it.