[ 
https://issues.apache.org/jira/browse/KAFKA-9686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17056178#comment-17056178
 ] 

Konstantine Karantasis commented on KAFKA-9686:
-----------------------------------------------

As a summary here, the PR that was merged for this issue, mainly addressed a 
bug in a refactoring that was part of 
[https://github.com/apache/kafka/pull/8220] and was included as additional 
cleanup for https://issues.apache.org/jira/browse/KAFKA-9645 but was not 
strictly required by  https://issues.apache.org/jira/browse/KAFKA-9645

 

The fix ended up being a simplification of {{MockConsumer#updateEndOffsets}} 
and the member variable {{MockConsumer#endOffsets}}. The method 
{{updateEndOffsets}} now always overwrites any existing end offsets with the 
ones supplied to this method. 

The fix for this Jira ticket here is also a fix for 
https://issues.apache.org/jira/browse/KAFKA-9682 that corresponds to the test 
that broke from the initial refactoring. 

> MockConsumer#endOffsets should be idempotent
> --------------------------------------------
>
>                 Key: KAFKA-9686
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9686
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Major
>
> {code:java}
>     private Long getEndOffset(List<Long> offsets) {
>         if (offsets == null || offsets.isEmpty()) {
>             return null;
>         }
>         return offsets.size() > 1 ? offsets.remove(0) : offsets.get(0);
>     }
> {code}
> The above code has two issues.
> 1. It does not return the latest offset since the latest offset is at the end 
> of offsets
> 1. It removes the element from offsets so MockConsumer#endOffsets gets 
> non-idempotent



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to