[ 
https://issues.apache.org/jira/browse/FLINK-21728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17302442#comment-17302442
 ] 

Kezhu Wang commented on FLINK-21728:
------------------------------------

I guess so.

There are actually two cases:
 1. Concurrency between {{Task}} and threads from {{BatchTask}}.
 2. Concurrency between {{Task}} and {{AbstractInvokable}} and {{TaskCanceler}}.

For #1, if code flow falls in {{Task}} not {{BatchTask}}(either before or after 
{{invoke}}), then there should be no activities in {{BatchTask}} side. So the 
hijack should be safe. The short-circuit closed checking in 
{{ExternalSorter.close}} breaks this.

For #2, I think it is {{BatchTask.cancel}}'s fault. As asynchronous 
cancellation method, it should do only flag things.

It is same for {{StreamTask.cancel}}, I think it should not call 
{{cancelables.close()}} which is not thread-safe also.

Both {{BatchTask}} and {{StreamTask}} are {{AbstractInvokable}}. They should 
respect identical contract with {{Task}}.

> DegreesWithExceptionITCase crash
> --------------------------------
>
>                 Key: FLINK-21728
>                 URL: https://issues.apache.org/jira/browse/FLINK-21728
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Library / Graph Processing (Gelly)
>    Affects Versions: 1.13.0
>            Reporter: Guowei Ma
>            Priority: Blocker
>              Labels: pull-request-available, test-stability
>             Fix For: 1.13.0
>
>
> https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=14422&view=logs&j=ce8f3cc3-c1ea-5281-f5eb-df9ebd24947f&t=f266c805-9429-58ed-2f9e-482e7b82f58b



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

Reply via email to