flink-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasia Kalavri (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLINK-1694) Change the split between create/run of a vertex-centric iteration
Date Thu, 12 Mar 2015 11:38:41 GMT
Vasia Kalavri created FLINK-1694:
------------------------------------

             Summary: 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: Task
          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)

Mime
View raw message