aanchal204 commented on issue #87: Better exception handling for large number 
of edges: GIRAPH-1203
URL: https://github.com/apache/giraph/pull/87#issuecomment-476898125
 
 
   I tested that this exception was being thrown. 
   Details:
    
     @Test
     public void testNegativeArraySizeException() {
       OutEdges<LongWritable, DoubleWritable> edges = 
instantiateOutEdges(ByteArrayEdges.class);
       System.out.println("Testing");
       try {
         for (int i = 0; i < 2000000000; i++) {
           edges.add(EdgeFactory.create(new LongWritable(i), new 
DoubleWritable(2.4)));
         }
       } catch (IllegalStateException e) {
         e.printStackTrace();
       }
       assertEquals(2000000000, edges.size());
     }
   
   Output: 
   Testing
   java.lang.IllegalStateException: add: Too many edges for a vertex, hence 
failed to write to byte array
        at org.apache.giraph.edge.ByteArrayEdges.add(ByteArrayEdges.java:98)
        at 
org.apache.giraph.edge.TestMultiGraphEdges.testNegativeArraySizeException(TestMultiGraphEdges.java:93)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:103)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:169)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
   Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 4.544 sec 
<<< FAILURE!

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to