hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantinos Karanasos (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-6593) [API] Introduce Placement Constraint object
Date Tue, 23 May 2017 17:49:04 GMT

    [ https://issues.apache.org/jira/browse/YARN-6593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16021533#comment-16021533
] 

Konstantinos Karanasos commented on YARN-6593:
----------------------------------------------

Thanks, [~leftnoteasy].
What I realized is that we are trying to define at the same time the internal representation
that will be used by the scheduler and the one that will be user-friendly.
I think we should split the two. I suggest to keep the java classes implementing the PBImpls
to be in sync with them, and then add a utility class that allows users to create constraints
in a more intuitive way. The utility class can expose all the constraint creation methods
and hide all the protobuf details (e.g., the fact that we have a PlacementConstraint class
internally). 
This will allow us to evolve separately the way users specify constraints without needing
to change the PBImpl classes or their subclasses etc.
Moreover, we can create a string utility method that can parse a string representation of
the constraints and create PBImpl objects, which I think will be really useful too.

Let me know what you guys think.

BTW, the reason I have not created separate classes for target and cardinality constraints
is that I we also have the more general constraint (the one we mention as "cluster operator
constraint" in the document, such as "don't allow more than 5 ZooKeeper containers per rack")
that includes all three. So I don't see the use of adding three different classes for this.
Especially if we have the utility class I mentioned above.

PS: I forgot to reply to [~pg1712@imperial.ac.uk], since we chatted offline, but I am adding
it here for completeness. Unfortunately protobuf 2.5, which is still the required version
in Hadoop, does not support the {{extends}} construct to define sub/superclasses in the protobufs.

> [API] Introduce Placement Constraint object
> -------------------------------------------
>
>                 Key: YARN-6593
>                 URL: https://issues.apache.org/jira/browse/YARN-6593
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Konstantinos Karanasos
>            Assignee: Konstantinos Karanasos
>         Attachments: YARN-6593.001.patch, YARN-6593.002.patch
>
>
> This JIRA introduces an object for defining placement constraints.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org


Mime
View raw message