[
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)