[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-18 Thread Nicolae Marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14066307#comment-14066307
 ] 

Nicolae Marasoiu commented on KAFKA-1535:
-

awesome, I see you applied the patch and commited into trunk:)

I see there are also pull requests: I think that for the bigger features, to 
enable a granular and pointed discussions, only than pull requests are 
practiced?

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
Assignee: Jay Kreps
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-18 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14066439#comment-14066439
 ] 

Jay Kreps commented on KAFKA-1535:
--

To date we have not really used pull requests. Apache has something about JIRA 
being a way to manage copyright assignment. I think recently they may have 
started supporting pull requests, so we should probably document and better 
understand that workflow. But at the moment I think we are still just doing 
patches and JIRA like it is the last century. :-)

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
Assignee: Jay Kreps
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-18 Thread nicu marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14066538#comment-14066538
 ] 

nicu marasoiu commented on KAFKA-1535:
--

Sure do want:) Yes, that was my suggestion as well, cache the current list, 
replacing it. Not sure which structure will remain the best in this scenario: 
currently mutable Map but perhaps directly immutable list or map being replaced 
is more functional/pure and performance friendly as well, will check it up:)

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
Assignee: nicu marasoiu
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-18 Thread nicu marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14066791#comment-14066791
 ] 

nicu marasoiu commented on KAFKA-1535:
--

created KAFKA-1549 with Major priority.
I also have KAFKA-1282 (which I like most and I would start first), KAFKA-1510, 
both Major priority.

What should be the order of doing them (I think they are all major right now) ?
I would tackle 1282, 1549 then 1510.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
Assignee: nicu marasoiu
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-18 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14067074#comment-14067074
 ] 

Jay Kreps commented on KAFKA-1535:
--

[~nmarasoi] Totally up to you.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
Assignee: nicu marasoiu
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-17 Thread nicu marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14065424#comment-14065424
 ] 

nicu marasoiu commented on KAFKA-1535:
--

updated patch, tests fine,

one question though, I have not find where is the topicMetadataResponse.brokers 
read in producers (or anywhere in the non-test code)!

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-17 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14065646#comment-14065646
 ] 

Jay Kreps commented on KAFKA-1535:
--

Our current model of nodes is that they are permanent. That is if there is a 
node 1, if it dies, it will come back or be replaced. It need not literally be 
the same machine, just that if a node dies you will eventually add a new node 
with id 1 which will take over the work 1 used to do.

The metadata response is read by the producer and consumer clients. For example 
in the new java code it is in 
clients/src/main/java/org/apache/kafka/common/requests/MetadataResponse.java.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse_.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-16 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14064186#comment-14064186
 ] 

Jay Kreps commented on KAFKA-1535:
--

Hey Nicu, this looks good to me. Did you do any testing on this?

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse1.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-16 Thread nicu marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14064211#comment-14064211
 ] 

nicu marasoiu commented on KAFKA-1535:
--

Hi Jay, 

Great:) 

For the tests, I just run the test but now, with testAll I have 
kafka.api.RequestResponseSerializationTest failing.

Will fix it, update the patch here and start the pull request process (after 
applying any advice in the kafka dev guide, if any).

Thanks again for your feedback!:)

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie
 Attachments: 
 KAFKA-1535__return_all_live_brokers_in_TopicMetadataResponse1.patch


 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-15 Thread Nicolae Marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061766#comment-14061766
 ] 

Nicolae Marasoiu commented on KAFKA-1535:
-

Which branch should this be done on? trunk?

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-15 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14062214#comment-14062214
 ] 

Jay Kreps commented on KAFKA-1535:
--

Yeah we do all development on trunk and just cut branches as a stable point for 
critical point fixes needed after the release.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-11 Thread Jun Rao (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14058949#comment-14058949
 ] 

Jun Rao commented on KAFKA-1535:


A solution is to return all live brokers (in metadata cache) in 
TopicMetadataResponse. This doesn't change the wire protocol, just the list of 
brokers returned.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-11 Thread nicu marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14059188#comment-14059188
 ] 

nicu marasoiu commented on KAFKA-1535:
--

Hi,

I am a 11 years java developer and graduated Scala  Reactive programming 
Coursera courses, and I would like to start making small kafka contributions to 
revitalize some of the scala.

How can I assign myself this task?

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-11 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14059200#comment-14059200
 ] 

Jay Kreps commented on KAFKA-1535:
--

Cool, go for it. Just attach a patch to this issue and we will review and apply 
it.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-11 Thread nicu marasoiu (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14059203#comment-14059203
 ] 

nicu marasoiu commented on KAFKA-1535:
--

So what I understand from the issue: the topic metadata responded includes only 
the brokers holding active or passive replicas of some partitions from the 
topic.

The task want to list all the available brokers, just in case other brokers get 
assigned partitions / shards from the topic. 

This would be a safety measure (if all the currently assigned brokers go down), 
as well as a performance measure (client to pick up quickly new assigns without 
stressing too much the current brokers assignees).

Sorry if I am innacurrate, I am not brushed up with kafka yet.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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


[jira] [Commented] (KAFKA-1535) return all live brokers in TopicMetadataResponse

2014-07-11 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14059287#comment-14059287
 ] 

Jay Kreps commented on KAFKA-1535:
--

Yes I think that is correct. The current behavior is basically an optimization 
to avoid sending all the nodes. However this means if you are only sending to a 
single partition you may only have the host/port info for one machine, if that 
machine goes down you don't have another broker to go to. Since there shouldn't 
be more than a few hundred brokers, sending the full host/port for all of them 
should be okay and fixes this scenario.

 return all live brokers in TopicMetadataResponse
 

 Key: KAFKA-1535
 URL: https://issues.apache.org/jira/browse/KAFKA-1535
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 0.8.2
Reporter: Jun Rao
  Labels: newbie

 Currently, we only return the brokers that have assigned replicas for a topic 
 in TopicMetadataResponse. The new producer will use those brokers for 
 refreshing metadata. Now suppose that we stop all those brokers, copy all 
 local data to some new hosts and then restart those hosts (with the original 
 broker id). There is no way for the new producer to automatically get the 
 information about the new brokers since all old brokers are gone.



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