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

Zhu Zhu closed FLINK-14870.
---------------------------
    Resolution: Fixed

> Remove nullable assumption of task slot sharing group
> -----------------------------------------------------
>
>                 Key: FLINK-14870
>                 URL: https://issues.apache.org/jira/browse/FLINK-14870
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Coordination
>    Affects Versions: 1.10.0
>            Reporter: Zhu Zhu
>            Assignee: Zhu Zhu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.12.0
>
>
> In runtime, a null slot sharing group means the vertex should be run in an 
> individual slot which is not shared with other vertices. 
> However, at the moment, there is no way to set the slot sharing group of a 
> vertex to null in production. This is because {{StreamGraphGenerator}} would 
> always assign a non-null slot sharing group to an operator({{StreamNode}}), 
> and that would be the group of the generated {{JobVertex}}. (In the case of 
> {{DataSet}}, all vertices are in the "default" group.)
> Moreover, currently users are already able to force an operator to run in an 
> individual slot by specify a different slot sharing group key to that 
> operator.
> So looks that supporting null slot sharing groups in runtime does not make 
> much sense. And it's making things more complex, with codes like 
> {{@Nullable}} annotations for slot sharing group, task required resources 
> calculations, and single task slot allocation. 
> To make runtime code base and future development simpler, I'd propose to 
> introduce the assumption that task slot sharing group should not be null. 
> The detailed proposal is:
> 1. In {{StreamingJobGraphGenerator}}, we check to ensure the slot sharing 
> group key of a {{StreamNode}} is non-null, so that we always set a non-null 
> {{SlotSharingGroup}} to a JobVertex
> 2. Remove all the {{@Nullable}} annotations for {{SlotSharingGroup}} and 
> {{SlotSharingGroupID}} in several classes
> -3. Always use the slot sharing group resources as the physical slot 
> resources for a task-
> 4. Remove {{SchedulerImp#allocateSingleSlot}} and the related code paths
> cc [~chesnay] [~gjy] [~trohrmann]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to