You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2015/07/07 06:31:05 UTC

[jira] [Updated] (KAFKA-2129) Consumer could make multiple concurrent metadata requests

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

Guozhang Wang updated KAFKA-2129:
---------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

> Consumer could make multiple concurrent metadata requests
> ---------------------------------------------------------
>
>                 Key: KAFKA-2129
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2129
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients
>            Reporter: Tim Brooks
>            Assignee: Tim Brooks
>         Attachments: KAFKA-2129.patch
>
>
> The NetworkClient's metadataFetchInProgress is neither volatile nor atomic. This protects against multiple metadata requests being made and is read on poll() on the NetworkClient. It is written to when a request is initiated.
> This is fine for the producer. Which seems to have one thread writing. The KafkaConsumer's poll()  method is synchronized, so there will not be more than one writer entering from there. However, the NetworkClient's poll() method is also accessed on the Consumer's partitionsFor() method. Which could be access by a separate thread.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)