Are you using ZK-based producer? If so, those watches could be left by the producers if they haven't been restarted. Could you also use zkCli.sh to see if deleted topics are there in ZK?
Thanks, Jun On Fri, Mar 15, 2013 at 2:19 PM, Jason Rosenberg <[email protected]> wrote: > Jun, > > So, I connected to zookeeper just using telnet, and using the 4 letter > commands. > > If I do a dump: > > I do not see anything but valid topics, and valid consumer/owners mappings. > > If I check watches, I see all the 1000's of bogus topics, e.c.: > > wchc: > .... > /brokers/topics/<obsolete-topic> > .... > > or > > wchp > .... > /brokers/topics/<obsolete-topic>. > 0x383d6fe1b83f0008 > 0x383d6fe1b83f0009 > 0x7c3d6f9020d00041 > 0x833d6fe2826e0000 > 0x383d6fe1b83f000a > .... > > The kafka and zookeeper servers, as well as the consumer apps, are rolled > several times a day, automatically. > > I'm not sure how to remove the watches, is that what I need to do? > > Since this is a highly available system, can I bring down each zk server 1 > at a time, and clear the bogus topics (or watches)? How do I do this? > > Jason > > > > On Fri, Mar 15, 2013 at 8:17 AM, Jun Rao <[email protected]> wrote: > > > Could you check if the following path for a deleted topic exists in ZK? > It > > should have no children. > > > > /brokers/topics/[topic] > > > > If this is the case, try manually removing those paths from ZK (when the > > brokers and the consumers are down). > > > > Thanks, > > > > Jun > > > > On Thu, Mar 14, 2013 at 2:03 PM, Jason Rosenberg <[email protected]> > wrote: > > > > > Hi Neha, > > > > > > So I did this, but I still see the full list of topics (most of which > > have > > > been deleted), in the consumer logs, e.g.: > > > > > > consumer.ZookeeperConsumerConnector - > > > samsa-consumer-graphite_alg2.sjc1.square-1363290849309-2816c1cb Topics > to > > > consume = List(<a bazillion topics, most of which have been deleted > > listed > > > here>) > > > > > > I select topics using the white list topic selector (using a wild-card > > > pattern, etc.). > > > > > > Thoughts? > > > > > > Does zookeeper keep separate info for the consumer, that needs to be > > > removed? > > > > > > Jason > > > > > > On Thu, Mar 7, 2013 at 10:20 PM, Neha Narkhede < > [email protected] > > > >wrote: > > > > > > > In Kafka 0.7.2, data log directory delete and then rolling restart > will > > > > work to get rid of the topic completely from zookeeper as well as the > > > > broker. > > > > This is because the broker registers the topics and partitions from > its > > > > data directory into zookeeper on startup. > > > > > > > > Thanks, > > > > Neha > > > > > > > > > > > > On Thu, Mar 7, 2013 at 9:13 PM, Jason Rosenberg <[email protected]> > > > wrote: > > > > > > > > > Thanks Neha, > > > > > > > > > > So are you saying that on 0.7.2, to delete a topic I need only > remove > > > > it's > > > > > data log directory from each broker, and the restart the brokers? > Is > > > it > > > > ok > > > > > if it's a rolling restart? > > > > > > > > > > For some reason I thought I also had to do something on zookeeper > > > servers > > > > > too, to remove the topics. Is that not true? > > > > > > > > > > Jason > > > > > > > > > > On Wed, Mar 6, 2013 at 6:07 PM, Neha Narkhede < > > [email protected] > > > > > >wrote: > > > > > > > > > > > >> The topics get automagically created if they don't exist. > Will > > > > > > that still exist in 0.8? > > > > > > > > > > > > In 0.8, this is controlled by the auto.create.topics.enable > config > > on > > > > the > > > > > > brokers. If this is set to true, topics will be created when a > > topic > > > > > > metadata request is sent for a new topic. This feature is > provided > > to > > > > aid > > > > > > with the 0.7->0.8 migration tool and the mirror maker tools. > These > > > > tools > > > > > > copy data for almost all topics from one cluster to the other, so > > > auto > > > > > > creating topics makes it much easier to migrate data between > > > clusters. > > > > > > > > > > > > >> What's the procedure for deleting topics in kafka 0.7.2? > > > > > > > > > > > > There is no official way to delete a topic. You have to delete > the > > > data > > > > > > directory and bounce the brokers to take note of that. > > > > > > > > > > > > Thanks, > > > > > > Neha > > > > > > > > > > > > > > > > > > On Wed, Mar 6, 2013 at 4:20 PM, Jason Rosenberg < > [email protected]> > > > > > wrote: > > > > > > > > > > > > > Thanks Neha, > > > > > > > > > > > > > > I added a comment to that ticket. > > > > > > > > > > > > > > Another question, I'm not sure if the behavior is different in > > 0.8 > > > > from > > > > > > > 0.7. But currently, I'm not predeclaring topics, before > sending > > > > > messages > > > > > > > to topics. The topics get automagically created if they don't > > > exist. > > > > > > Will > > > > > > > that still exist in 0.8? If so, it should also be automatic > > > (using a > > > > > > > default expiration for all such topics), that they > automagically > > go > > > > > away > > > > > > > after no longer being in use. > > > > > > > > > > > > > > What's the procedure for deleting topics in kafka 0.7.2? > > > > > > > > > > > > > > Jason > > > > > > > > > > > > > > On Wed, Mar 6, 2013 at 3:38 PM, Neha Narkhede < > > > > [email protected] > > > > > > > >wrote: > > > > > > > > > > > > > > > We plan to include support for deleting topics before the > > > official > > > > > > > release. > > > > > > > > The JIRA tracking this feature is > > > > > > > > https://issues.apache.org/jira/browse/KAFKA-330 > > > > > > > > > > > > > > > > This is mainly an admin tool and is proposed to be run > > manually. > > > I > > > > > > think > > > > > > > > your suggestion is to set some sort of expiration time on > > topics > > > so > > > > > > when > > > > > > > > all data gets garbage collected and the expiration time > lapses, > > > the > > > > > > topic > > > > > > > > is automatically deleted. > > > > > > > > > > > > > > > > For this expiration to work, we need some mechanism of > knowing > > > the > > > > > size > > > > > > > of > > > > > > > > the data logs for that topic on all brokers. And only when > its > > > > empty > > > > > > for > > > > > > > > all partitions of that topic, we delete it. This requires > some > > > API > > > > > that > > > > > > > > will expose the data size of a topic on a broker, which we > > don't > > > > have > > > > > > > right > > > > > > > > now. It might be worth thinking about it. Do you mind posting > > > your > > > > > > > > suggestions for this tool on that JIRA ? > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Neha > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Mar 6, 2013 at 3:15 PM, Jason Rosenberg < > > > [email protected]> > > > > > > > wrote: > > > > > > > > > > > > > > > > > I suspect this is not currently supported, but it seems to > be > > > for > > > > > us > > > > > > a > > > > > > > > real > > > > > > > > > use case. > > > > > > > > > > > > > > > > > > If we have a topic that is no longer receiving messages, > and > > > all > > > > > > > messages > > > > > > > > > have been removed from the brokers, after the > > > log_retention_hours > > > > > has > > > > > > > > > expired, I'd love to have it then automatically remove the > > > topic > > > > > from > > > > > > > > > kafka. > > > > > > > > > > > > > > > > > > If subsequently a new message arrives for that topic, it > > could > > > > just > > > > > > > > > recreate the topic as originally, and continue on. > > > > > > > > > > > > > > > > > > Is this easy to implement? > > > > > > > > > Has it been requested? > > > > > > > > > Does it make sense? > > > > > > > > > Should I file a jira? > > > > > > > > > > > > > > > > > > Currently, we had a test client that inadvertently created > > > 1000's > > > > > of > > > > > > > > > topics. The job of deleting all these appears to not be a > > > > > cumbersome > > > > > > > > > manual process (are there any quick links to the > recommended > > > way > > > > > for > > > > > > > > doing > > > > > > > > > this?). > > > > > > > > > > > > > > > > > > I am using 0.7.2, but will eventually upgrade to 0.8, once > > it's > > > > > > > released > > > > > > > > to > > > > > > > > > beta.... > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > Jason > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
