You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Till Rohrmann (JIRA)" <ji...@apache.org> on 2019/01/31 14:52:00 UTC
[jira] [Resolved] (FLINK-11389) Incorrectly use job information
when call getSerializedTaskInformation in class TaskDeploymentDescriptor
[ https://issues.apache.org/jira/browse/FLINK-11389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Till Rohrmann resolved FLINK-11389.
-----------------------------------
Resolution: Fixed
Fixed via
1.8.0:
446145f5ca0cd92c64a6944c19ca1ab53104030f
acf228cc5c88872428ccb10296aa1646837c16c2
1.7.2:
a5c6102bf642a0bfeff4438921aad3ab8d16cf1c
c39192a21098882338f0dcd9636f9241814099ce
1.6.4:
941ed4d816489990cd1a420d90b88f167a89db1a
ea90666b4415d1a7f510053b35101880438eab40
> Incorrectly use job information when call getSerializedTaskInformation in class TaskDeploymentDescriptor
> --------------------------------------------------------------------------------------------------------
>
> Key: FLINK-11389
> URL: https://issues.apache.org/jira/browse/FLINK-11389
> Project: Flink
> Issue Type: Bug
> Components: Distributed Coordination
> Affects Versions: 1.6.3, 1.7.1, 1.8.0
> Reporter: yuqi
> Assignee: yuqi
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.6.4, 1.7.2, 1.8.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> See TaskDeploymentDescriptor
> {code:java}
> @Nullable
> public SerializedValue<TaskInformation> getSerializedTaskInformation() {
> if (serializedJobInformation instanceof NonOffloaded) {
> NonOffloaded<TaskInformation> jobInformation =
> (NonOffloaded<TaskInformation>) serializedTaskInformation;
> return jobInformation.serializedValue;
> } else {
> throw new IllegalStateException(
> "Trying to work with offloaded serialized job information.");
> }
> }
> {code}
> the condition serializedJobInformation instanceof NonOffloaded is not correctly,
> as serializedJobInformation and serializedTaskInformation are passed from ExecutionVertex#createDeploymentDescriptor
> {code:java}
> if (jobInformationOrBlobKey.isLeft()) {
> serializedJobInformation = new TaskDeploymentDescriptor.NonOffloaded<>(jobInformationOrBlobKey.left());
> } else {
> serializedJobInformation = new TaskDeploymentDescriptor.Offloaded<>(jobInformationOrBlobKey.right());
> }
> final Either<SerializedValue<TaskInformation>, PermanentBlobKey> taskInformationOrBlobKey;
> try {
> taskInformationOrBlobKey = jobVertex.getTaskInformationOrBlobKey();
> } catch (IOException e) {
> throw new ExecutionGraphException(
> "Could not create a serialized JobVertexInformation for " +
> jobVertex.getJobVertexId(), e);
> }
> final TaskDeploymentDescriptor.MaybeOffloaded<TaskInformation> serializedTaskInformation;
> if (taskInformationOrBlobKey.isLeft()) {
> serializedTaskInformation = new TaskDeploymentDescriptor.NonOffloaded<>(taskInformationOrBlobKey.left());
> } else {
> serializedTaskInformation = new TaskDeploymentDescriptor.Offloaded<>(taskInformationOrBlobKey.right());
> }
> {code}
> serializedJobInformation and serializedTaskInformation are not necessarily shared the class NonOffloaded or Offloaded
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)