[
https://issues.apache.org/jira/browse/FLINK-6998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089358#comment-16089358
]
ASF GitHub Bot commented on FLINK-6998:
---------------------------------------
Github user tzulitai commented on a diff in the pull request:
https://github.com/apache/flink/pull/4187#discussion_r127636725
--- Diff:
flink-connectors/flink-connector-kafka-base/src/main/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaConsumerBase.java
---
@@ -505,6 +519,21 @@ public void run(SourceContext<T> sourceContext) throws
Exception {
throw new Exception("The partitions were not set for
the consumer");
}
+ // initialize commit metrics and default offset callback method
+ this.successfulCommits =
this.getRuntimeContext().getMetricGroup().counter("commitsSucceeded");
+ this.failedCommits =
this.getRuntimeContext().getMetricGroup().counter("commitsFailed");
+
+ this.offsetCommitCallback = new KafkaCommitCallback() {
+ @Override
+ public void onComplete(Exception exception) {
+ if (exception == null) {
+ successfulCommits.inc();
--- End diff --
I would also like to raise a thread-safety issue here.
Currently, since there's always only one pending offset commit in Kafka
09+, and Kafka08 commits in a blocking call, there will be no race condition in
incrementing the counters. However, changing these implementations in
subclasses (perhaps in the future) can easily introduce race conditions here.
At the very least, we probably should add a notice about thread-safety
contract in the Javadoc of `commitInternalOffsetsToKafka`.
> Kafka connector needs to expose metrics for failed/successful offset commits
> in the Kafka Consumer callback
> -----------------------------------------------------------------------------------------------------------
>
> Key: FLINK-6998
> URL: https://issues.apache.org/jira/browse/FLINK-6998
> Project: Flink
> Issue Type: Improvement
> Components: Kafka Connector
> Reporter: Zhenzhong Xu
> Assignee: Zhenzhong Xu
>
> Propose to add "kafkaCommitsSucceeded" and "kafkaCommitsFailed" metrics in
> KafkaConsumerThread class.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)