[ https://issues.apache.org/jira/browse/FLINK-16180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhu Zhu updated FLINK-16180: ---------------------------- Description: {{ScheduledUnit#vertexExecution}} is nullable but {{ProgrammedSlotProvider}} requires it to be non-null to work. This makes {{ProgrammedSlotProvider}} not able to be used by new scheduler tests since {{vertexExecution}} is never set in the new scheduler code path. It blocks us from reworking tests which are based legacy scheduling to base on the new scheduler. Besides that, there are 2 other problems caused by the nullable vertexExecution: 1. The log printed in SchedulerImpl#allocateSlotInternal(...) may contain no useful info since the vertexExecution can be null. 2. NPE issue reported in FLINK-16145. Thus I would propose to replace the nullable vertexExecution with a non-null executionVertexID. was: {{ScheduledUnit#vertexExecution}} is nullable but {{ProgrammedSlotProvider}} requires it to be non-null to work. This makes {{ProgrammedSlotProvider}} not able to be used by new scheduler tests since {{vertexExecution}} is never set in the new scheduler code path. It blocks us from reworking tests which are based legacy scheduling to base on the new scheduler. I would propose to replace the nullable vertexExecution with a non-null executionVertexID. This change would not break anything since {{vertexExecution}} is mainly used by {{ProgrammedSlotProvider}} for testing. {{ProgrammedSlotProvider}} uses it to retrieve the JobVertexID and subtaskIndex. The only other place where {{ScheduledUnit#vertexExecution}} is used is to log the involved task for slot allocation in {{SchedulerImpl#allocateSlotInternal(...)}}. The log is problematic at the moment with the new scheduler since the vertexExecution is null. This change can fix the problematic log. This change would also fix a NPE issue reported in FLINK-16145. > Replacing vertexExecution in ScheduledUnit with executionVertexID > ----------------------------------------------------------------- > > Key: FLINK-16180 > URL: https://issues.apache.org/jira/browse/FLINK-16180 > Project: Flink > Issue Type: Sub-task > Components: Runtime / Coordination > Affects Versions: 1.11.0 > Reporter: Zhu Zhu > Assignee: Zhu Zhu > Priority: Major > Labels: pull-request-available > Fix For: 1.11.0 > > Time Spent: 10m > Remaining Estimate: 0h > > {{ScheduledUnit#vertexExecution}} is nullable but {{ProgrammedSlotProvider}} > requires it to be non-null to work. This makes {{ProgrammedSlotProvider}} not > able to be used by new scheduler tests since {{vertexExecution}} is never set > in the new scheduler code path. It blocks us from reworking tests which are > based legacy scheduling to base on the new scheduler. > Besides that, there are 2 other problems caused by the nullable > vertexExecution: > 1. The log printed in SchedulerImpl#allocateSlotInternal(...) may contain no > useful info since the vertexExecution can be null. > 2. NPE issue reported in FLINK-16145. > Thus I would propose to replace the nullable vertexExecution with a non-null > executionVertexID. -- This message was sent by Atlassian Jira (v8.3.4#803005)