You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Evgeny Veretennikov (JIRA)" <ji...@apache.org> on 2017/07/05 13:02:00 UTC
[jira] [Commented] (KAFKA-5503) Idempotent producer ignores
shutdown while fetching ProducerId
[ https://issues.apache.org/jira/browse/KAFKA-5503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16074714#comment-16074714 ]
Evgeny Veretennikov commented on KAFKA-5503:
--------------------------------------------
[~hachikuji], part of call stack for blocking idempotent producer is:
{noformat}
Selector.poll(long): L321
NetworkClient.poll(long, long): L433
NetworkClientUtils.sendAndReceive(KafkaClient, ClientRequest, Time): L89
Sender.sendAndAwaitInitProducerIdRequest(): L405
Sender.maybeWaitForProducerId(): L419
Sender.run(long): L204
{noformat}
So, selector blocks thread. While we invoke {{initiateClose()}} method, part of call stack is:
{noformat}
Selector.wakeUp(): 240
NetworkClient.wakeUp(): L498
Sender.wakeup(): L675
Sender.initiateClose(): L390
{noformat}
So, that seems, that blocking selector will actually be waken up and thus sender thread won't be blocked right after concurrent {{initiateClose()}} call.
So, is this issue still relevant? Do I miss something?
> Idempotent producer ignores shutdown while fetching ProducerId
> --------------------------------------------------------------
>
> Key: KAFKA-5503
> URL: https://issues.apache.org/jira/browse/KAFKA-5503
> Project: Kafka
> Issue Type: Sub-task
> Components: clients, core, producer
> Affects Versions: 0.11.0.0
> Reporter: Jason Gustafson
> Assignee: Evgeny Veretennikov
> Fix For: 0.11.0.1
>
>
> When using the idempotent producer, we initially block the sender thread while we attempt to get the ProducerId. During this time, a concurrent call to close() will be ignored.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)