[ 
https://issues.apache.org/jira/browse/KAFKA-9686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chia-Ping Tsai updated KAFKA-9686:
----------------------------------
    Description: 

{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


  was:
```scala
    private Long getEndOffset(List<Long> offsets) {
        if (offsets == null || offsets.isEmpty()) {
            return null;
        }
        return offsets.size() > 1 ? offsets.remove(0) : offsets.get(0);
    }
```

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



> 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