Return-Path: X-Original-To: apmail-giraph-dev-archive@www.apache.org Delivered-To: apmail-giraph-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6217D106D1 for ; Fri, 14 Nov 2014 01:30:14 +0000 (UTC) Received: (qmail 13892 invoked by uid 500); 14 Nov 2014 01:30:14 -0000 Delivered-To: apmail-giraph-dev-archive@giraph.apache.org Received: (qmail 13835 invoked by uid 500); 14 Nov 2014 01:30:14 -0000 Mailing-List: contact dev-help@giraph.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@giraph.apache.org Delivered-To: mailing list dev@giraph.apache.org Received: (qmail 13814 invoked by uid 99); 14 Nov 2014 01:30:13 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Nov 2014 01:30:13 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id D57E01FB630; Fri, 14 Nov 2014 01:30:16 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============5561176001868913937==" MIME-Version: 1.0 Subject: Re: Review Request 25971: Adds Giraph Debugger (Graft) to Giraph trunk From: "Jaeho Shin" To: "Sergey Edunov" Cc: "giraph" , "Jaeho Shin" Date: Fri, 14 Nov 2014 01:30:16 -0000 Message-ID: <20141114013016.9703.90474@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org Auto-Submitted: auto-generated Sender: "Jaeho Shin" X-ReviewGroup: giraph X-ReviewRequest-URL: https://reviews.apache.org/r/25971/ X-Sender: "Jaeho Shin" References: <20141113225151.11644.89435@reviews.apache.org> In-Reply-To: <20141113225151.11644.89435@reviews.apache.org> Reply-To: "Jaeho Shin" X-ReviewRequest-Repository: giraph-git --===============5561176001868913937== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit > On 11월 13, 2014, 10:51 오후, Sergey Edunov wrote: > > giraph-debugger/src/main/java/org/apache/giraph/debugger/instrumenter/InstrumentGiraphClasses.java, line 301 > > > > > > 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 > > > > > > 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 > > > > > > 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 > > > > > > 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 > > > > > > 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 > > --===============5561176001868913937==--