[ 
https://issues.apache.org/jira/browse/YARN-3648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sidharta Seethana updated YARN-3648:
------------------------------------
    Description: 
The ContainerExecutor interface today does not encapsulate method arguments in 
any way - this makes it brittle when executor implementations need additional 
arguments in order to implement certain functionality. A couple of example 
methods where this is a problem : startLocalizer , launchContainer - additional 
arguments would break the existing interface and would require changes to all 
executor implementations in YARN. In order to make this interface less brittle 
in the future, it would make sense to encapsulate arguments in some kind of a 
‘context’ object which could be modified/extended without breaking the 
ContainerExecutor interface in the future.

Edit as per comment below : Along with this, we should also cleanup the 
abstraction to look more like an abstraction instead of a 
bolt-on--and-add-what-you-want kind of interface.

  was:
The ContainerExecutor interface today does not encapsulate method arguments in 
any way - this makes it brittle when executor implementations need additional 
arguments in order to implement certain functionality. A couple of example 
methods where this is a problem : startLocalizer , launchContainer - additional 
arguments would break the existing interface and would require changes to all 
executor implementations in YARN. In order to make this interface less brittle 
in the future, it would make sense to encapsulate arguments in some kind of a 
‘context’ object which could be modified/extended without breaking the 
ContainerExecutor interface in the future.

Edit as per comment below : 


> ContainerExecutor interface methods are too brittle
> ---------------------------------------------------
>
>                 Key: YARN-3648
>                 URL: https://issues.apache.org/jira/browse/YARN-3648
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Sidharta Seethana
>            Assignee: Sidharta Seethana
>
> The ContainerExecutor interface today does not encapsulate method arguments 
> in any way - this makes it brittle when executor implementations need 
> additional arguments in order to implement certain functionality. A couple of 
> example methods where this is a problem : startLocalizer , launchContainer - 
> additional arguments would break the existing interface and would require 
> changes to all executor implementations in YARN. In order to make this 
> interface less brittle in the future, it would make sense to encapsulate 
> arguments in some kind of a ‘context’ object which could be modified/extended 
> without breaking the ContainerExecutor interface in the future.
> Edit as per comment below : Along with this, we should also cleanup the 
> abstraction to look more like an abstraction instead of a 
> bolt-on--and-add-what-you-want kind of interface.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to