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

Reply via email to