[
https://issues.apache.org/jira/browse/KAFKA-7258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ansel Zandegran updated KAFKA-7258:
-----------------------------------
Affects Version/s: 2.0.0
> Different offset numbers in Windows and Linux
> ---------------------------------------------
>
> Key: KAFKA-7258
> URL: https://issues.apache.org/jira/browse/KAFKA-7258
> Project: Kafka
> Issue Type: Bug
> Components: clients
> Affects Versions: 1.0.1, 2.0.0
> Environment: windows10, Cent OS, Java8
> Reporter: Ansel Zandegran
> Priority: Major
>
> We are building a metrics reporter and one of the tests find different offset
> (6) in Linux. The following tests pass in Windows
> {code:java}
> createTopic(TOPIC1, 1, 1); // 1 partition 1 replication
> runConsumer(TOPIC1);
> runProducer(TOPIC1, "key", "value", 5); // 5 messages
> zkMetricsReporter.sendConsumerLagMetrics(Clock.defaultClock().time() /
> 1000);
> PartionOffsets partionOffsets = getPartionOffset(); // For topic1-0
> assertEquals(5, partionOffsets.getCurrentOffset());
> assertEquals(5, partionOffsets.getEndOffset());
> {code}
> and this is how we get offsets
> {code:java}
> Map<TopicPartition, Long> logEndOffset = getLogEndOffset(topic, host);
> KafkaConsumer<?, ?> consumer = createNewConsumer(groupId, host);
> BinaryOperator<PartionOffsets> mergeFunction = (a, b) -> {
> throw new IllegalStateException();
> };
> Map<TopicPartition, PartionOffsets> result =
> logEndOffset.entrySet()
> .stream()
> .collect(Collectors.toMap(entry -> (entry.getKey()),
> entry -> {
> OffsetAndMetadata committed =
> consumer.committed(entry.getKey());
> return new PartionOffsets(entry.getValue(),
> committed.offset(),
> entry.getKey()
> .partition(),
> topic);
> },
> mergeFunction));
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)