[ 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