You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Chesnay Schepler (JIRA)" <ji...@apache.org> on 2017/12/06 14:25:00 UTC
[jira] [Created] (FLINK-8213) Prevent potential metric-related
ClassCastExceptions
Chesnay Schepler created FLINK-8213:
---------------------------------------
Summary: Prevent potential metric-related ClassCastExceptions
Key: FLINK-8213
URL: https://issues.apache.org/jira/browse/FLINK-8213
Project: Flink
Issue Type: Bug
Components: Metrics, Streaming
Affects Versions: 1.5.0
Reporter: Chesnay Schepler
Assignee: Chesnay Schepler
Priority: Minor
There are a few places, in particular revolving around the {{StreamOperator}}, that may run into ClassCastExceptions.
For example, in the {{DataSinkTask}} you can find this line:
{{final Counter numRecordsIn = ((OperatorMetricGroup) ctx.getMetricGroup()).getIOMetricGroup().getNumRecordsInCounter();}}
The cast here is necessary since the {{AbstractStreamOperator}} exposes the {{OperatorMetricGroup}} as a plain {{MetricGroup}} since it is an internal class. However there is obviously no guarantee that {{StreamOperator#getMetricGroup()}} returns an actual {{OperatorMetricGroup}}. In fact, a fall-back case in {{AbstractStreamOperator#setup}} causes exactly this assumption to be violated.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)