chia7712 commented on code in PR #15853: URL: https://github.com/apache/kafka/pull/15853#discussion_r1589913151
########## clients/src/main/java/org/apache/kafka/clients/consumer/internals/AsyncKafkaConsumer.java: ########## @@ -1703,7 +1704,9 @@ private boolean initWithCommittedOffsetsIfNeeded(Timer timer) { new FetchCommittedOffsetsEvent( initializingPartitions, timer); + wakeupTrigger.setActiveTask(event.future()); final Map<TopicPartition, OffsetAndMetadata> offsets = applicationEventHandler.addAndGet(event, timer); + wakeupTrigger.clearTask(); Review Comment: Please use try-finally ########## core/src/test/scala/integration/kafka/api/PlaintextConsumerTest.scala: ########## @@ -872,4 +873,38 @@ class PlaintextConsumerTest extends BaseConsumerTest { // local metadata. However, it should give up after the user-supplied timeout has past. assertThrows(classOf[TimeoutException], () => consumer.position(topicPartition, Duration.ofSeconds(3))) } + + @ParameterizedTest(name = TestInfoUtils.TestWithParameterizedQuorumAndGroupProtocolNames) + @MethodSource(Array("getTestQuorumAndGroupProtocolParametersAll")) + @Timeout(15) + def testPositionRespectsWakeup(quorum: String, groupProtocol: String): Unit = { + val topicPartition = new TopicPartition(topic, 15) + val consumer = createConsumer() + consumer.assign(List(topicPartition).asJava) + + CompletableFuture.runAsync { () => + TimeUnit.SECONDS.sleep(1) + consumer.wakeup() + } + + assertThrows(classOf[WakeupException], () => consumer.position(topicPartition, Duration.ofSeconds(3))) + } + + @ParameterizedTest(name = TestInfoUtils.TestWithParameterizedQuorumAndGroupProtocolNames) + @MethodSource(Array("getTestQuorumAndGroupProtocolParametersAll")) + @Timeout(15) + def testPositionWithErrorConnectionRespectsWakeup(quorum: String, groupProtocol: String): Unit = { + val topicPartition = new TopicPartition(topic, 15) + val properties = new Properties() + properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:12345") Review Comment: Please add comments to say this connection in un-connectable. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org