[ https://issues.apache.org/jira/browse/KAFKA-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699819#comment-13699819 ]
Swapnil Ghike commented on KAFKA-559: ------------------------------------- Some feedback: 1. Passing a groupId for cleanup will make the cleanup job tedious since we tend to have hundreds of console-consumer group ids in ZK that are stale. Running the tool for a particular topic or all topics probably makes more sense. 2. I would suggest accepting a date param "mm-dd-yyyy hh:mm:ss,SSS" as a String instead of accepting a timestamp value, and deleting the group only if it has had no updates to its offsets since that date, as described above. 3. It's dangerous to delete the entire group if the date/"since" is not provided. It's very easy for user to specify only two arguments (topic and zkconnect) and not specify the date. Let's also make sure that the user always specifies a date. 4. "dry-run" does not need to accept any value. You can simply use parser.accepts("dry-run", "....") and then use if (options.has(dryRunOpt)) { yeay } else { nay }. 5. We can inline exitIfNoPathExists, the implementation is small and clear enough. 6. We should have an info statement when the group ids are deleted in the non dry-run mode. 7. info("Removal has successfully completed.") can probably be refactored to something more specific to this tool. 8. Instead of writing a different info statement for dry-run mode, I think you should be able to set logIdent of Logging to "[dry-run]" or "" depending on which mode the tool is working in. This will let you have a single info statement for both modes. Minor stuff: 1. I think we tend to use camelCase in variable names instead of underscores. 2. Whitespaces can be made more consistent. > Garbage collect old consumer metadata entries > --------------------------------------------- > > Key: KAFKA-559 > URL: https://issues.apache.org/jira/browse/KAFKA-559 > Project: Kafka > Issue Type: New Feature > Reporter: Jay Kreps > Assignee: Tejas Patil > Labels: project > Attachments: KAFKA-559.v1.patch > > > Many use cases involve tranient consumers. These consumers create entries > under their consumer group in zk and maintain offsets there as well. There is > currently no way to delete these entries. It would be good to have a tool > that did something like > bin/delete-obsolete-consumer-groups.sh [--topic t1] --since [date] > --zookeeper [zk_connect] > This would scan through consumer group entries and delete any that had no > offset update since the given date. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira