Ismael Juma commented on KAFKA-5289:

[~xuzq_zander], because we don't to delay the response while the idle threads 
are being shutdown.

[~markTC], both questions are important, actually. Yes, `KafkaApis` should 
protect itself against exceptions if it performs an operation after the 
response is sent, but there could also have been a bug in 
`shutdownIdleFetcherThreads()` (and hence the question).

> One StopReplicaRequest will caused two Responses
> ------------------------------------------------
>                 Key: KAFKA-5289
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5289
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions:
>            Reporter: xuzq
>            Assignee: Ismael Juma
>            Priority: Critical
>             Fix For:
>         Attachments: handleStopReplicaRequest.png
> After discussed with my friend markTC´╝îwe find a bug.
> One StopReplicaRequest will caused two Responses.
> At core/src/main/scala/kafka/server/KafkaApi.class 175 and 176 lines.
> When an exception caused at 
> 'replicaManager.replicaFetcherManager.shutdownIdleFetcherThreads()', 
> will also return two responses.
> one is at 175 lines 'requestChannel.sendResponse(new 
> RequestChannel.Response(request, new ResponseSend(request.connectionId, 
> responseHeader, response)))' and another at 111 lines 
> 'requestChannel.sendResponse(new Response(request, new 
> ResponseSend(request.connectionId, respHeader, response)))'.

This message was sent by Atlassian JIRA

Reply via email to