The problem with "SubGraph"/"SubDAG" and "CompositeOperator" names is
that they give priority to Graph/DAG or Operator behavior. Module is
something in between as it exposes both operator properties and DAG
properties and a name should reflect that or be neutral.
Thank you,
Vlad
On 5/3/16 12:40, Chandni Singh wrote:
I agree with David that a Module is too abstract and within Apex doesn't
describe the concept it is used for.
If we have consensus to change this name then Ilya's suggestion of calling
it a "SubGraph" IMO is quite good.
It is a short name and relevant to the concept.
On Tue, May 3, 2016 at 11:52 AM, Munagala Ramanath <[email protected]>
wrote:
I vote we stay with Module -- there are bigger fish to fry.
The word means "modular unit" and is a valid candidate for use in any
context where that meaning fits.
The word Operator itself is overloaded in numerous contexts, both in
computing and in other fields.
The word Class is a common one for OO languages and the fact that it is
used by many languages
should not be a deterrent to new languages also using it. Similarly for
"plugin".
Ram
On Tue, May 3, 2016 at 11:38 AM, Pramod Immaneni <[email protected]>
wrote:
While you are right about "Evolving" state and having the ability to
change
it, I think we should pause and consider backwards compatibility when
changing a major component like this one. I guess one factor that works
in
your favor is that even though we do have code in our own Malhar repo
using
this, it has not been in an official release yet.
While I think Module is probably not an appropriate name as it is
commonly
used for other things, choosing a functional name like CompositeOperator
and not giving it a specific name is a step backward.
Thanks
On Tue, May 3, 2016 at 9:12 AM, David Yan <[email protected]> wrote:
Hi Pramod,
The existing Module class is marked "InterfaceStability.Evolving" and
therefore we don't guarantee backward compatibility. Also there are
probably very very few users, if any, who use any class derived from
the
current Module because of the recent introduction of the concept.
I think at this point if we decide to go forward with the change,
deprecating "Module" for backward compatibility is an overkill.
David
On Mon, May 2, 2016 at 10:55 PM, Pramod Immaneni <
[email protected]
wrote:
I don't think we should rename Module to CompositeOperator as it will
break
backwards compatibility. If this is something we want to go forward
with
then we should think about depreacting Module.
Thanks
On Mon, May 2, 2016 at 10:46 PM, Tushar Gosavi <
[email protected]
wrote:
+1
I have a pull request #313 opened for Module related work. I will
do
following changes to incorporate this suggestion.
- Rename Module to CompositeOperator
- Rename Vertex in DAG to GenerticOperator
Do we also need to change the rest API to reflex the name change?
The
only
change required is in logicalPlan with includeModules parameter. It
includes a "modules" field
in the json. this field can be changed to "compositeOperators". Let
me
know
your
thought on this?
Regards,
-Tushar.
On Tue, May 3, 2016 at 10:35 AM, Amol Kekre <[email protected]>
wrote:
The packaging has been taken up by other names, module is now a
java
only
construct.
Thks,
Amol
On Mon, May 2, 2016 at 8:15 PM, Sandesh Hegde <
[email protected]
wrote:
Earlier the vision was, module can contain widgets/UI along
with
the
operators. So it made sense to have that name.
If that is not the case then +1 for CompositeOperator
On Mon, May 2, 2016 at 7:53 PM Amol Kekre <
[email protected]>
wrote:
Good point. +1
Thks
Amol
On Mon, May 2, 2016 at 6:17 PM, Sasha Parfenov <
[email protected]>
wrote:
+1.
Everybody is already familiar with concept of an Operators
in
Apex.
It
is
best to keep that terminology, and use CompositeOperator to
indicate
they
related to Operators, rather than introduce a new concept
of
Modules.
This will also have a significant impact on documentation,
where
word
Operator can continue to serve interchangeably for Operator
or
CompositeOperator, instead of always having to say
"Operators
and
Modules".
Thanks,
Sasha
On Mon, May 2, 2016 at 4:10 PM, David Yan <
[email protected]
wrote:
Hi all,
From the javadoc of com.datatorrent.api.Module in Apex
Core:
A Module is a component which can be added to the DAG
similar
to
the
operator, using addModule API. The module should
implement
populateDAG
method, which will be called by the platform, and DAG
populated
by
the
module will be replaced in place of the module.
However, the word "module" is very overloaded, and it is
too
abstract
and
general to describe the concept. The same term is also
used
by
maven
for
example.
Since the interface is marked "Evolving" and because of
the
recent
introduction, there are very few users using it if any, I
would
like
to
propose that we change the name "Module" to
"CompositeOperator".
Please share your opinion. Thanks!
David