[
https://issues.apache.org/jira/browse/FLINK-16503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17054800#comment-17054800
]
Roman Leventov commented on FLINK-16503:
----------------------------------------
Another pattern that should be checked in CI static analysis is a "Java - Class
Member" pattern:
{{$Type$ $x$ = $y$;}}
Where the type of {{$Type$}} is {{ExecutorService|Executor}} and the type of
{{$y$}} is {{ScheduledThreadPoolExecutor|ForkJoinPool}}, within type hierarchy.
Currently, this pattern doesn't result in violation findings in production code.
> Don't assign ScheduledExecutorService into variables of ExecutorService or
> Executor types
> -----------------------------------------------------------------------------------------
>
> Key: FLINK-16503
> URL: https://issues.apache.org/jira/browse/FLINK-16503
> Project: Flink
> Issue Type: Improvement
> Reporter: Roman Leventov
> Priority: Minor
>
> There is an unnecessary efficiency cost to assigning ScheduledExecutorService
> (typically, ScheduledThreadPoolExecutor) into variables of ExecutorService or
> Executor types.
> Currently, there is one such occurrence in production code, in
> TaskManagerRunner, and three more in tests.
> They could be found using IntelliJ's Structural search pattern (and
> Structural Search inspection):
> {{$x$ = $y$;}}
> Where the Type of {{$x$}} is set to {{ExecutorService|Executor}} ("within
> type hierarchy" checkbox is off), and the Type of {{$y$}} is set to
> {{ScheduledThreadPoolExecutor|ForkJoinPool}} ("within type hierarchy"
> checkbox is on).
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)