You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Varun Saxena (JIRA)" <ji...@apache.org> on 2015/07/28 11:10:04 UTC

[jira] [Updated] (YARN-3986) getTransferredContainers in AbstractYarnScheduler should be present in YarnScheduler interface instead

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

Varun Saxena updated YARN-3986:
-------------------------------
    Description: 
Currently getTransferredContainers is present in {{AbstractYarnScheduler}}.
*But in ApplicationMasterService, while registering AM, we are calling this method by typecasting it to AbstractYarnScheduler, which is incorrect.*

This method should be moved to YarnScheduler.

Because if a custom scheduler is to be added, it will implement YarnScheduler, not AbstractYarnScheduler.
As ApplicationMasterService is calling getTransferredContainers by typecasting it to AbstractYarnScheduler, it is imposing an indirect dependency on AbstractYarnScheduler for any pluggable custom scheduler.

We can move the method to YarnScheduler and leave the definition in AbstractYarnScheduler as it is.

  was:
Currently getTransferredContainers is present in {{AbstractYarnScheduler}}.
But in ApplicationMasterService, while registering AM, we are calling this method by typecasting it to AbstractYarnScheduler, which is incorrect.

This method should be moved to YarnScheduler.

Because if a custom scheduler is to be added, it will implement YarnScheduler, not AbstractYarnScheduler.
As ApplicationMasterService is calling getTransferredContainers by typecasting it to AbstractYarnScheduler, it is imposing an indirect dependency on AbstractYarnScheduler for any pluggable custom scheduler.

We can move the method to YarnScheduler and leave the definition in AbstractYarnScheduler as it is.


> getTransferredContainers in AbstractYarnScheduler should be present in YarnScheduler interface instead
> ------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-3986
>                 URL: https://issues.apache.org/jira/browse/YARN-3986
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: scheduler
>    Affects Versions: 2.7.0
>            Reporter: Varun Saxena
>            Assignee: Varun Saxena
>
> Currently getTransferredContainers is present in {{AbstractYarnScheduler}}.
> *But in ApplicationMasterService, while registering AM, we are calling this method by typecasting it to AbstractYarnScheduler, which is incorrect.*
> This method should be moved to YarnScheduler.
> Because if a custom scheduler is to be added, it will implement YarnScheduler, not AbstractYarnScheduler.
> As ApplicationMasterService is calling getTransferredContainers by typecasting it to AbstractYarnScheduler, it is imposing an indirect dependency on AbstractYarnScheduler for any pluggable custom scheduler.
> We can move the method to YarnScheduler and leave the definition in AbstractYarnScheduler as it is.



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