> On Jan. 13, 2015, 5:36 a.m., Neha Narkhede wrote:
> > core/src/main/scala/kafka/admin/ConsumerGroupCommand.scala, line 46
> > <https://reviews.apache.org/r/29831/diff/3/?file=818442#file818442line46>
> >
> >     --delete is sufficient. Same for the name of the corresponding variable 
> > in opts.
> 
> Onur Karaman wrote:
>     My only concern with --delete is that it doesn't indicate that this is 
> deleting information for multiple groups.
> 
> Neha Narkhede wrote:
>     My understanding is that --delete will delete whatever groups are 
> specified through --group. User should be able to specify multiple groups 
> like this -
>     
>     --group <group1> --group <group2> --delete
> 
> Onur Karaman wrote:
>     The following is what this script currently supports:
>     
>     bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --list
>     bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --describe 
> --group foo
>     bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --describe 
> --group foo --config channelSocketTimeoutMs=400 --config 
> channelRetryBackoffMsOpt=200
>     bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 
> --delete-all-consumer-group-info-for-topic --topic topic1
>     bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 
> --delete-all-consumer-group-info-for-topic --topic topic1 --force-delete
>     
>     Maybe before proceeding, it would be best to iron out exactly what this 
> script should support.
> 
> Neha Narkhede wrote:
>     List and describe make sense, though for those, as I said earlier, it 
> will be great to see sample output so we can review the format. 
>     
>     For delete, there are 2 use cases -
>     1. Delete all consumer group information for the specified consumer groups
>     2. Delete consumer group information for the specified consumer groups 
> for the specified topics only
>     3. It seems that you have a third option which is delete consumer group 
> information for all consumer groups that have subscribed to a particular 
> topic. I'm guessing the reason for including this option is to address 
> deleted topics. Is that correct? 
>     
>     For all delete options, would it be useful to also include a --dry-run 
> option that outputs the information that the tool will delete if the 
> --dry-run flag is removed?
>     
>     Going forward, this tool should also support offset updates, though we 
> can do that in a separate JIRA.

Thanks for the feedback. I avoided providing sample output earlier because the 
commands aren't fully solidified yet. The three use cases seem reasonable, and 
yes that was the intent for (3).

The following is my plan for what gets deleted in each of the three use cases:
1. For each group g provided: Delete the entire /consumers/g directory.
2. Let's say we provide --topic t. For each group g provided:
  If the consumer group only consumes from topic t, wipe all of /consumers/g.
  Else only wipe /consumers/g/offsets/t and /consumers/g/owners/t.
3. Apply the same logic from 2 individually for each group associated with the 
given topic.

Here's my proposal for what the updated script would support:
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --list
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --describe --group 
foo
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --describe --group 
foo --config channelSocketTimeoutMs=400 --config channelRetryBackoffMsOpt=200
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --delete --group 
group1 --group group2
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 --delete-for-topic 
--group group1 --group group2 --topic topic1
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 
--delete-all-for-topic --topic topic1
bin/kafka-consumer-groups.sh --zookeeper 192.168.50.11:2181 
--delete-all-for-topic --topic topic1 --force-delete

--dry-run might also be useful. What kind of information do you think it should 
show? Maybe just list the directories that would be deleted?


- Onur


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/29831/#review67789
-----------------------------------------------------------


On Jan. 13, 2015, 6:36 p.m., Onur Karaman wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/29831/
> -----------------------------------------------------------
> 
> (Updated Jan. 13, 2015, 6:36 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1476
>     https://issues.apache.org/jira/browse/KAFKA-1476
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Merged in work for KAFKA-1476 and sub-task KAFKA-1826
> 
> 
> Diffs
> -----
> 
>   bin/kafka-consumer-groups.sh PRE-CREATION 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 
> 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/ConsumerGroupCommand.scala PRE-CREATION 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 
> c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   
> core/src/test/scala/unit/kafka/admin/DeleteAllConsumerGroupInfoForTopicInZKTest.scala
>  PRE-CREATION 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 
> ac15d34425795d5be20c51b01fa1108bdcd66583 
> 
> Diff: https://reviews.apache.org/r/29831/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Onur Karaman
> 
>

Reply via email to