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