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/11/05 01:53:02 UTC

Re: 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/
-----------------------------------------------------------

(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


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