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

Xintong Song updated YARN-8528:
-------------------------------
    Description: 
ContainerAllocation.LOCALITY_SKIPPED is final static, and its .state should 
always be AllocationState.LOCALITY_SKIPPED. However, this variable is public 
and is accidentally changed to AllocationState.APP_SKIPPED in 
RegularContainerAllocator under certain conditions. Once that happens, all 
following LOCALITY_SKIPPED situations will be treated as APP_SKIPPED.

Similar risks exist for 
ContainerAllocation.PRIORITY_SKIPPED/APP_SKIPPED/QUEUE_SKIPPED. 

ContainerAllocation.state should be private and should not be changed. If 
changes are needed, a new ContainerAllocation should be created.

  was:
ContainerAllocation.LOCALITY_SKIPPED is final static, and its .state should 
always be AllocationState.LOCALITY_SKIPPED. However, this variable is public 
and is accidentally changed to AllocationState.APP_SKIPPED in 
RegularContainerAllocator. The consequences are codes using 
ContainerAllocation.LOCALITY_SKIPPED and expecting 
AllocationState.LOCALITY_SKIPPED are actually getting 
AllocationState.APP_SKIPPED.

Similar risks exist for 
ContainerAllocation.PRIORITY_SKIPPED/APP_SKIPPED/QUEUE_SKIPPED. 

ContainerAllocation.state should be private and should not be changed. If 
changes are needed, a new ContainerAllocation should be created.


> ContainerAllocation.state should be private and unchangeable
> ------------------------------------------------------------
>
>                 Key: YARN-8528
>                 URL: https://issues.apache.org/jira/browse/YARN-8528
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacity scheduler
>            Reporter: Xintong Song
>            Priority: Major
>
> ContainerAllocation.LOCALITY_SKIPPED is final static, and its .state should 
> always be AllocationState.LOCALITY_SKIPPED. However, this variable is public 
> and is accidentally changed to AllocationState.APP_SKIPPED in 
> RegularContainerAllocator under certain conditions. Once that happens, all 
> following LOCALITY_SKIPPED situations will be treated as APP_SKIPPED.
> Similar risks exist for 
> ContainerAllocation.PRIORITY_SKIPPED/APP_SKIPPED/QUEUE_SKIPPED. 
> ContainerAllocation.state should be private and should not be changed. If 
> changes are needed, a new ContainerAllocation should be created.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to