[ 
https://issues.apache.org/jira/browse/KAFKA-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14068165#comment-14068165
 ] 

Jun Rao commented on KAFKA-1549:
--------------------------------

Thanks for the patch. A couple of comments.

1. inReadLock seems like a generally useful util. We probably can add the 
following to the Utils file where inLock lives, and change all existing usage 
of readWriteLock to use those utils.
  def inReadLock[T](lock: ReadWriteLock)(fun: => T): T = {
  def inWriteLock[T](lock: ReadWriteLock)(fun: => T): T = {

2. Not sure what the purpose of the change in KafkaApis is. Is that to avoid 
the overhead of an extra readLock? It's better to limit the usage of the lock 
inside the MetadataCache.


> dead brokers coming in the TopicMetadataResponse
> ------------------------------------------------
>
>                 Key: KAFKA-1549
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1549
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.8.2
>         Environment: trunk
>            Reporter: nicu marasoiu
>            Assignee: Jun Rao
>         Attachments: 
> KAFKA-1549__dead_brokers_coming_in_the_TopicMetadataResponse_.patch
>
>
> JunRao confirming my observation that brokers are only added to the 
> metadataCache, never removed: "The way that we update liveBrokers in 
> MetadataCache.updateCache() doesn't seem right. We only add newly received 
> live brokers to the list. However, there could be existing brokers in that 
> list that are now dead. Those dead brokers shouldn't be returned to the 
> clients. We should probably just take the new live broker list and cache it."



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to