You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by Jaeho Shin <Ja...@Gmail.com> on 2014/09/24 03:07:41 UTC

Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/
-----------------------------------------------------------

Review request for giraph and Sergey Edunov.


Bugs: GIRAPH-905
    https://issues.apache.org/jira/browse/GIRAPH-905


Repository: giraph-git


Description
-------

A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).


Diffs
-----

  giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 552cca9 
  giraph-debugger/.gitignore PRE-CREATION 
  giraph-debugger/README.md PRE-CREATION 
  giraph-debugger/giraph-debug PRE-CREATION 
  giraph-debugger/gui PRE-CREATION 
  giraph-debugger/pom.xml PRE-CREATION 
  giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationToRun.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationToRun.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationToRun.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
  giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
  giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
  giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 

Diff: https://reviews.apache.org/r/25971/diff/


Testing
-------

Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.

For launching a buggy example (included under giraph-debugger), used the following command:
```
../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
```


Thanks,

Jaeho Shin


Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

Posted by Jaeho Shin <Ja...@Gmail.com>.

> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java, line 153
> > <https://reviews.apache.org/r/25971/diff/1/?file=703839#file703839line153>
> >
> >     NumberFormatException extends IllegalArgumentException so this condition is always false

Moved the catch up.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java, line 132
> > <https://reviews.apache.org/r/25971/diff/1/?file=703839#file703839line132>
> >
> >     Can you please use standard javadoc tags?

Done.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java, line 123
> > <https://reviews.apache.org/r/25971/diff/1/?file=703839#file703839line123>
> >
> >     Why would you need it?

We used to have the GUI client access server from different domains, so the CORS headers were there.  As it's always hosted on the same server now, fine to remove.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java, line 169
> > <https://reviews.apache.org/r/25971/diff/1/?file=703838#file703838line169>
> >
> >     Will it be replaced with something real?

It turns out this is dead code.  Removed.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java, line 194
> > <https://reviews.apache.org/r/25971/diff/1/?file=703838#file703838line194>
> >
> >     Is it some custom tag library? Maybe you want annotation instead? I'm not sure what it means

Not sure where this syntax came from.  Unfolded to plain text.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java, line 190
> > <https://reviews.apache.org/r/25971/diff/1/?file=703864#file703864line190>
> >
> >     just 
> >     method.invoke(urlClassLoader, u); 
> >     will work fine

Thanks, done.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java, line 102
> > <https://reviews.apache.org/r/25971/diff/1/?file=703842#file703842line102>
> >
> >     These fields are not constants, so should not be named with uppercase letters. And I'm not sure why they made static too. Is it necessary?

Checkstyle said all static fields should be in uppercase, so we had to rename all of them.  The idea of making them static was to limit the number of vertices logged per worker (JVM), instead of per partition (instance).


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java, line 149
> > <https://reviews.apache.org/r/25971/diff/1/?file=703847#file703847line149>
> >
> >     Just createTempDirectory(TMP_DIR_NAME_PREFIX) will work

Done.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java, line 166
> > <https://reviews.apache.org/r/25971/diff/1/?file=703847#file703847line166>
> >
> >     Do e.printStackTrace() at least. We should know which classes were not found.

Sounds good.  Done.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java, line 202
> > <https://reviews.apache.org/r/25971/diff/1/?file=703847#file703847line202>
> >
> >     Either mc or masterComputeClass is redundand

Done.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java, line 298
> > <https://reviews.apache.org/r/25971/diff/1/?file=703847#file703847line298>
> >
> >     targetTopClass is always CtClass, how can this equals be satisfied? Did you mean 
> >     targetTopClass.toClass().equals(Object.class) ?

Thanks for catching this.  It was a safeguard to prevent infinite loop that doesn't happen in normal runs, but good to have it fixed.  Method toClass() couldn't be used as it would create duplicate Object.class, so compared the class name instead.


> On 10 17, 2014, 5:53 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java, line 32
> > <https://reviews.apache.org/r/25971/diff/1/?file=703839#file703839line32>
> >
> >     I'm not sure about our policy on using oracle specific features. How hard it would be to switch to jetty? We already have it in classpath anyway.

Can we migrate this to Jetty in a subsequent JIRA issue?  I'm afraid we won't have the capacity to reimplement this part for now.


- Jaeho


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/#review57157
-----------------------------------------------------------


On 11월 5, 2014, 12:52 오전, Jaeho Shin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25971/
> -----------------------------------------------------------
> 
> (Updated 11월 5, 2014, 12:52 오전)
> 
> 
> Review request for giraph and Sergey Edunov.
> 
> 
> Bugs: GIRAPH-905
>     https://issues.apache.org/jira/browse/GIRAPH-905
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 68eb416 
>   giraph-core/src/main/java/org/apache/giraph/worker/WorkerAggregatorDelegator.java 916e7a0 
>   giraph-debugger/.gitignore PRE-CREATION 
>   giraph-debugger/README.md PRE-CREATION 
>   giraph-debugger/giraph-debug PRE-CREATION 
>   giraph-debugger/gui PRE-CREATION 
>   giraph-debugger/pom.xml PRE-CREATION 
>   giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphOutputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListLongIDDoubleEdgeWeightInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/Message.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation2FixedLeft.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation3FixedRight.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/bipartitegraph-1.json PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/Message.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/CCFindingMissingReverseEdgeMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsRandomVerticesDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AsyncHDFSWriteService.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/25971/diff/
> 
> 
> Testing
> -------
> 
> Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.
> 
> For launching a buggy example (included under giraph-debugger), used the following command:
> ```
> ../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
> ```
> 
> 
> Thanks,
> 
> Jaeho Shin
> 
>


Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

Posted by Sergey Edunov <ed...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/#review57157
-----------------------------------------------------------



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java
<https://reviews.apache.org/r/25971/#comment97661>

    Will it be replaced with something real?



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java
<https://reviews.apache.org/r/25971/#comment97659>

    Is it some custom tag library? Maybe you want annotation instead? I'm not sure what it means



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java
<https://reviews.apache.org/r/25971/#comment97641>

    I'm not sure about our policy on using oracle specific features. How hard it would be to switch to jetty? We already have it in classpath anyway.



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java
<https://reviews.apache.org/r/25971/#comment97652>

    Why would you need it?



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java
<https://reviews.apache.org/r/25971/#comment97654>

    Can you please use standard javadoc tags?



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java
<https://reviews.apache.org/r/25971/#comment97658>

    NumberFormatException extends IllegalArgumentException so this condition is always false



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java
<https://reviews.apache.org/r/25971/#comment97633>

    These fields are not constants, so should not be named with uppercase letters. And I'm not sure why they made static too. Is it necessary?



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java
<https://reviews.apache.org/r/25971/#comment97684>

    Just createTempDirectory(TMP_DIR_NAME_PREFIX) will work



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java
<https://reviews.apache.org/r/25971/#comment97681>

    Do e.printStackTrace() at least. We should know which classes were not found.



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java
<https://reviews.apache.org/r/25971/#comment97686>

    Either mc or masterComputeClass is redundand



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java
<https://reviews.apache.org/r/25971/#comment97679>

    targetTopClass is always CtClass, how can this equals be satisfied? Did you mean 
    targetTopClass.toClass().equals(Object.class) ?



giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java
<https://reviews.apache.org/r/25971/#comment97663>

    just 
    method.invoke(urlClassLoader, u); 
    will work fine


This diff is huge and takes a lot of time to comprehend, I focussed on code quality issues now and will need another pass for more general issues.

- Sergey Edunov


On Sept. 24, 2014, 1:07 a.m., Jaeho Shin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25971/
> -----------------------------------------------------------
> 
> (Updated Sept. 24, 2014, 1:07 a.m.)
> 
> 
> Review request for giraph and Sergey Edunov.
> 
> 
> Bugs: GIRAPH-905
>     https://issues.apache.org/jira/browse/GIRAPH-905
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 552cca9 
>   giraph-debugger/.gitignore PRE-CREATION 
>   giraph-debugger/README.md PRE-CREATION 
>   giraph-debugger/giraph-debug PRE-CREATION 
>   giraph-debugger/gui PRE-CREATION 
>   giraph-debugger/pom.xml PRE-CREATION 
>   giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationToRun.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationToRun.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationToRun.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/25971/diff/
> 
> 
> Testing
> -------
> 
> Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.
> 
> For launching a buggy example (included under giraph-debugger), used the following command:
> ```
> ../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
> ```
> 
> 
> Thanks,
> 
> Jaeho Shin
> 
>


Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

Posted by Jaeho Shin <Ja...@Gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/
-----------------------------------------------------------

(Updated 11월 14, 2014, 1:29 오전)


Review request for giraph and Sergey Edunov.


Changes
-------

Thanks for your review!  PTAL


Bugs: GIRAPH-905
    https://issues.apache.org/jira/browse/GIRAPH-905


Repository: giraph-git


Description
-------

A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 68eb416 
  giraph-core/src/main/java/org/apache/giraph/worker/WorkerAggregatorDelegator.java 916e7a0 
  giraph-debugger/.gitignore PRE-CREATION 
  giraph-debugger/README.md PRE-CREATION 
  giraph-debugger/giraph-debug PRE-CREATION 
  giraph-debugger/gui PRE-CREATION 
  giraph-debugger/pom.xml PRE-CREATION 
  giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphInputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphOutputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListInputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListLongIDDoubleEdgeWeightInputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/Message.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation2FixedLeft.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation3FixedRight.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/VertexValue.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/bipartitegraph-1.json PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMaster.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMessageConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringVertexValueConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/Message.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/VertexValue.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/CCFindingMissingReverseEdgeMsgIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsRandomVerticesDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMMessageConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMVertexValueConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/VertexValue.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkMessageConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkVertexValueConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AsyncHDFSWriteService.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
  giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
  giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
  giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 

Diff: https://reviews.apache.org/r/25971/diff/


Testing
-------

Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.

For launching a buggy example (included under giraph-debugger), used the following command:
```
../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
```


Thanks,

Jaeho Shin


Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

Posted by Jaeho Shin <Ja...@Gmail.com>.

> On 11월 13, 2014, 10:51 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java, line 301
> > <https://reviews.apache.org/r/25971/diff/2/?file=749843#file749843line301>
> >
> >     This is never true, did you mean targetTopClass.getClass().equals(Object.class) ?

Thanks for pointing out. It turns out I didn't change it accordingly with the preceding loop's condition.


> On 11월 13, 2014, 10:51 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java, line 546
> > <https://reviews.apache.org/r/25971/diff/2/?file=749838#file749838line546>
> >
> >     VertexContextWrapper is already created in GiraphVertexScenarioWrapper, you don't need to create and set it again here

Done.


> On 11월 13, 2014, 10:51 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java, line 602
> > <https://reviews.apache.org/r/25971/diff/2/?file=749836#file749836line602>
> >
> >     I see this pattern used everywhere in this file, not sure why can't you just do 
> >     fileStatus.getPath().getName()

Done.


> On 11월 13, 2014, 10:51 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java, line 597
> > <https://reviews.apache.org/r/25971/diff/2/?file=749836#file749836line597>
> >
> >     Same thing, you don't need to call format

Done.


> On 11월 13, 2014, 10:51 오후, Sergey Edunov wrote:
> > giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java, line 571
> > <https://reviews.apache.org/r/25971/diff/2/?file=749836#file749836line571>
> >
> >     No need to call format here, it's just a string

Done.


- Jaeho


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/#review61283
-----------------------------------------------------------


On 11월 14, 2014, 1:29 오전, Jaeho Shin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25971/
> -----------------------------------------------------------
> 
> (Updated 11월 14, 2014, 1:29 오전)
> 
> 
> Review request for giraph and Sergey Edunov.
> 
> 
> Bugs: GIRAPH-905
>     https://issues.apache.org/jira/browse/GIRAPH-905
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 68eb416 
>   giraph-core/src/main/java/org/apache/giraph/worker/WorkerAggregatorDelegator.java 916e7a0 
>   giraph-debugger/.gitignore PRE-CREATION 
>   giraph-debugger/README.md PRE-CREATION 
>   giraph-debugger/giraph-debug PRE-CREATION 
>   giraph-debugger/gui PRE-CREATION 
>   giraph-debugger/pom.xml PRE-CREATION 
>   giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphOutputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListLongIDDoubleEdgeWeightInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/Message.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation2FixedLeft.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation3FixedRight.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/bipartitegraph-1.json PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/Message.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/CCFindingMissingReverseEdgeMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsRandomVerticesDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AsyncHDFSWriteService.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/25971/diff/
> 
> 
> Testing
> -------
> 
> Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.
> 
> For launching a buggy example (included under giraph-debugger), used the following command:
> ```
> ../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
> ```
> 
> 
> Thanks,
> 
> Jaeho Shin
> 
>


Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

Posted by Sergey Edunov <ed...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/#review61283
-----------------------------------------------------------



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java
<https://reviews.apache.org/r/25971/#comment102822>

    No need to call format here, it's just a string



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java
<https://reviews.apache.org/r/25971/#comment102823>

    Same thing, you don't need to call format



giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java
<https://reviews.apache.org/r/25971/#comment102824>

    I see this pattern used everywhere in this file, not sure why can't you just do 
    fileStatus.getPath().getName()



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java
<https://reviews.apache.org/r/25971/#comment102826>

    VertexContextWrapper is already created in GiraphVertexScenarioWrapper, you don't need to create and set it again here



giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java
<https://reviews.apache.org/r/25971/#comment102878>

    This is never true, did you mean targetTopClass.getClass().equals(Object.class) ?


- Sergey Edunov


On Nov. 5, 2014, 12:52 a.m., Jaeho Shin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25971/
> -----------------------------------------------------------
> 
> (Updated Nov. 5, 2014, 12:52 a.m.)
> 
> 
> Review request for giraph and Sergey Edunov.
> 
> 
> Bugs: GIRAPH-905
>     https://issues.apache.org/jira/browse/GIRAPH-905
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 68eb416 
>   giraph-core/src/main/java/org/apache/giraph/worker/WorkerAggregatorDelegator.java 916e7a0 
>   giraph-debugger/.gitignore PRE-CREATION 
>   giraph-debugger/README.md PRE-CREATION 
>   giraph-debugger/giraph-debug PRE-CREATION 
>   giraph-debugger/gui PRE-CREATION 
>   giraph-debugger/pom.xml PRE-CREATION 
>   giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphOutputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListLongIDDoubleEdgeWeightInputFormat.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/Message.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation2FixedLeft.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation3FixedRight.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/bipartitegraph-1.json PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/Message.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/CCFindingMissingReverseEdgeMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsRandomVerticesDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/VertexValue.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkMessageConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkVertexValueConstraintDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AsyncHDFSWriteService.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
>   giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
>   giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
>   giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
>   giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
>   giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/25971/diff/
> 
> 
> Testing
> -------
> 
> Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.
> 
> For launching a buggy example (included under giraph-debugger), used the following command:
> ```
> ../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
> ```
> 
> 
> Thanks,
> 
> Jaeho Shin
> 
>


Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk

Posted by Jaeho Shin <Ja...@Gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25971/
-----------------------------------------------------------

(Updated 11월 5, 2014, 12:52 오전)


Review request for giraph and Sergey Edunov.


Changes
-------

This patch resolves @edunov's review comments, improves performance of the instrumented code a lot, and adds a few more (buggy) examples.  It is based on [59eb6af of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/59eb6afafefa52b16d376cf47065d44b4a2b69a1).


Bugs: GIRAPH-905
    https://issues.apache.org/jira/browse/GIRAPH-905


Repository: giraph-git


Description
-------

A rather large patch to include Giraph Debugger (Graft) in Giraph trunk.  Based on [222e5e of semihsalihoglu/graft](https://github.com/semihsalihoglu/graft/commit/222e5e7c86c3c4122c1b88336b17966d4e7728d0).


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/master/MasterCompute.java 68eb416 
  giraph-core/src/main/java/org/apache/giraph/worker/WorkerAggregatorDelegator.java 916e7a0 
  giraph-debugger/.gitignore PRE-CREATION 
  giraph-debugger/README.md PRE-CREATION 
  giraph-debugger/giraph-debug PRE-CREATION 
  giraph-debugger/gui PRE-CREATION 
  giraph-debugger/pom.xml PRE-CREATION 
  giraph-debugger/src/main/assembly/compile.xml PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/CommandLine.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/DebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphInputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/BipartiteGraphOutputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListInputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/TextAdjacencyListLongIDDoubleEdgeWeightInputFormat.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/Message.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation2FixedLeft.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/RandomizedMaximalMatchingComputation3FixedRight.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/VertexValue.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/bipartitegraph-1.json PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/bipartitematching/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/BuggySimpleTriangleClosingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/SimpleTriangleClosingDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/exceptiondebug/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMaster.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringMessageConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/GraphColoringVertexValueConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/Message.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/VertexValue.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/graphcoloring/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggyConnectedComponentsDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleShortestPathsDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/BuggySimpleTriangleClosingDebugComputationModified.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/instrumented/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/BuggyConnectedComponentsComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/CCFindingMissingReverseEdgeMsgIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsMsgIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsRandomVerticesDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/ConnectedComponentsVValueIntegrityDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/integrity/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMMessageConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/MWMVertexValueConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/VertexValue.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/mwm/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/SimplePageRankMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/pagerank/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkMessageConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/RandomWalkVertexValueConstraintDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/randomwalk/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/BuggySimpleShortestPathsComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsDebugConfig.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/SimpleShortestPathsMaster.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/examples/simpledebug/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/Server.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerHttpHandler.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/ServerUtils.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/gui/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/AbstractInterceptingMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/BottomInterceptingMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/CommonVertexMasterInterceptionUtil.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/Intercept.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserComputation.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/UserMasterCompute.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/ComputationComputeTestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/FormatHelper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/MasterComputeTestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/PrefixedClasspathResourceLoader.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/TestGraphGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/VelocityBasedGenerator.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/mock/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/package-info.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatedValueWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AggregatorWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/AsyncHDFSWriteService.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseScenarioAndIntegrityWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/BaseWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/CommonVertexMasterContextWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/DebuggerUtils.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/ExceptionWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphMasterScenarioWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/GiraphVertexScenarioWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/MsgIntegrityViolationWrapper.java PRE-CREATION 
  giraph-debugger/src/main/java/org/apache/giraph/debugger/utils/package-info.java PRE-CREATION 
  giraph-debugger/src/main/protobuf/giraph_aggregator.proto PRE-CREATION 
  giraph-debugger/src/main/protobuf/integrity.proto PRE-CREATION 
  giraph-debugger/src/main/protobuf/scenario.proto PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/app.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/slider/slider.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/css/valpanel.css PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_close.png PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/details_open.png PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/img/preloader.gif PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/index.html PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/debugger.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.core.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/editor.utils.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/slider/bootstrap-slider.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/utils.sampleGraphs.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/gui/js/valpanel.js PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeSetUpFuncTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestFuncTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ComputeTestTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/MasterComputeTestTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromByteArrayTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/ReadWritableFromStringTemplate.vm PRE-CREATION 
  giraph-debugger/src/main/resources/org/apache/giraph/debugger/mock/TestGraphTemplate.vm PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/BaseComputation.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/CommonDebugConfig.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/DerivedComputation.java PRE-CREATION 
  giraph-debugger/src/test/java/org/apache/giraph/debugger/instrumenter/test/basecompute/package-info.java PRE-CREATION 

Diff: https://reviews.apache.org/r/25971/diff/


Testing
-------

Manually followed the steps for debugging shown in the [giraph-debugger/README.md](https://github.com/semihsalihoglu/graft#launching-giraph-jobs-with-graft), and confirmed generated test codes for Computation.compute() and MasterCompute with GUI and CLI reproduces the context.

For launching a buggy example (included under giraph-debugger), used the following command:
```
../giraph-debugger/giraph-debug     ../giraph-debugger/target/giraph-debugger-1.1.0-SNAPSHOT-for-hadoop-1.2.1-jar-with-dependencies.jar org.apache.giraph.GiraphRunner     org.apache.giraph.debugger.examples.simpledebug.BuggySimpleShortestPathsComputation -mc org.apache.giraph.debugger.examples.simpledebug.SimpleShortestPathsMaster     -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat     -vip shortestPathsInputGraph     -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat     -op shortestPathsOutputGraph.$RANDOM     -w 1     -ca giraph.SplitMasterWorker=false     #
```


Thanks,

Jaeho Shin