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