[ https://issues.apache.org/jira/browse/FLINK-1694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14379694#comment-14379694 ]
Vasia Kalavri commented on FLINK-1694: -------------------------------------- Any more opinions on this? I know it's a trivial change, but I'd like to change it once and for all and not make a mistake. So, I would very much appreciate your input :-) Thanks! > Change the split between create/run of a vertex-centric iteration > ----------------------------------------------------------------- > > Key: FLINK-1694 > URL: https://issues.apache.org/jira/browse/FLINK-1694 > Project: Flink > Issue Type: Improvement > Components: Gelly > Reporter: Vasia Kalavri > > Currently, the vertex-centric API in Gelly looks like this: > {code:java} > Graph inputGaph = ... //create graph > VertexCentricIteration iteration = inputGraph.createVertexCentricIteration(); > ... // configure the iteration > Graph newGraph = inputGaph.runVertexCentricIteration(iteration); > {code} > We have this create/run split, in order to expose the iteration object and be > able to call the public methods of VertexCentricIteration. > However, this is not very nice and might lead to errors, if create and run > are mistakenly called on different graph objects. > One suggestion is to change this to the following: > {code:java} > VertexCentricIteration iteration = inputGraph.createVertexCentricIteration(); > ... // configure the iteration > Graph newGraph = iteration.result(); > {code} > or to go with a single run call, where we add an IterationConfiguration > object as a parameter and we don't expose the iteration object to the user at > all: > {code:java} > IterationConfiguration parameters = ... > Graph newGraph = inputGraph.runVertexCentricIteration(parameters); > {code} > and we can also have a simplified method where no configuration is passed. > What do you think? > Personally, I like the second option a bit more. > -Vasia. -- This message was sent by Atlassian JIRA (v6.3.4#6332)