[ https://issues.apache.org/jira/browse/FLINK-17390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Till Rohrmann reassigned FLINK-17390: ------------------------------------- Assignee: Xintong Song > Container resource cannot be mapped on Hadoop 2.10+ > --------------------------------------------------- > > Key: FLINK-17390 > URL: https://issues.apache.org/jira/browse/FLINK-17390 > Project: Flink > Issue Type: Bug > Components: Deployment / YARN > Affects Versions: 1.11.0 > Reporter: Xintong Song > Assignee: Xintong Song > Priority: Blocker > Labels: pull-request-available > Fix For: 1.11.0 > > > In FLINK-16438, we introduced {{WorkerSpecContainerResourceAdapter}} for > mapping Yarn container {{Resource}} with Flink {{WorkerResourceSpec}}. Inside > this class, we use {{Resource}} for hash map keys and set elements, assuming > that {{Resource}} instances that describes the same set of resources have the > same hash code. > This assumption is not always true. {{Resource}} is an abstract class and may > have different implementations. In Hadoop 2.10+, {{LightWeightResource}}, a > new implementation of {{Resource}}, is introduced for {{Resource}} generated > by {{Resource.newInstance}} on the AM side, which overrides the {{hashCode}} > method. That means, a {{Resource}} generated on AM may have a different hash > code compared to an equal {{Resource}} returned from Yarn. > To solve this problem, we may introduce an {{InternalResource}} as an inner > class of {{WorkerSpecContainerResourceAdapter}}, with {{hashCode}} method > depends only on the fields needed by Flink (ATM memroy and vcores). > {{WorkerSpecContainerResourceAdapter}} should only use {{InternalResource}} > for internal state management, and do conversions for {{Resource}} passed > into and returned from it. -- This message was sent by Atlassian Jira (v8.3.4#803005)