Are you embedding a ZK server too? If so, make sure you shutdown the broker
before ZK.

Jun

On Wed, May 9, 2012 at 2:47 PM, Ken Krugler <kkrugler_li...@transpac.com>wrote:

>
> On May 9, 2012, at 2:03pm, Jun Rao wrote:
>
> > Are you starting an embedded broker in your unit test?
>
> That's what I'm trying to do, yes.
>
> > If so, you need to
> > call shutdown() on the broker.
>
> I think I do - here's the code from the run() method of my KafakRunnable
> that I use to run the Kafka broker in my unit test:
>
>        public void run() {
>            LOGGER.info("Starting KafkaRunnable...");
>
>            KafkaServerStartable kafkaServerStartable = new
> KafkaServerStartable(_serverConfig);
>            kafkaServerStartable.startup();
>            _alive = true;
>
>            while (!Thread.interrupted()) {
>                try {
>                    Thread.sleep(100);
>                } catch (InterruptedException e) {
>                    Thread.currentThread().interrupt();
>                }
>            }
>
>            LOGGER.info("Stopping KafkaRunnable");
>
>            kafkaServerStartable.shutdown();
>            _alive = false;
>
>            LOGGER.info("Exiting KafkaRunnable");
>        }
>
> -- Ken
>
>
> > On Wed, May 9, 2012 at 12:01 PM, Ken Krugler <
> kkrugler_li...@transpac.com>wrote:
> >
> >> Hi Jun,
> >>
> >> On May 8, 2012, at 5:40pm, Jun Rao wrote:
> >>
> >>> The problem is probably that you didn't shut down the broker cleanly
> (use
> >>> kill -15 instead of kill -9).
> >>
> >> Thanks - though this is for unit tests. So it needs to be something I
> can
> >> do via standard Java code.
> >>
> >> Is that possible, or does ZK require the Heavy Hammer to get it to
> >> terminate?
> >>
> >> Thanks,
> >>
> >> -- Ken
> >>
> >>> On Tue, May 8, 2012 at 5:34 PM, Ken Krugler <
> kkrugler_li...@transpac.com
> >>> wrote:
> >>>
> >>>>
> >>>> On May 7, 2012, at 11:10am, Jun Rao wrote:
> >>>>
> >>>>> Ken,
> >>>>>
> >>>>> Yes, you need to call ConsumerConnector#shutdown to cleanly shutdown
> >> the
> >>>>> consumer.
> >>>>
> >>>> Thanks for the confirmation.
> >>>>
> >>>>> Clearing ZK data and kafka log should be enough if you want to
> >>>>> start from clean. The ZK NoNode exceptions that you saw can happen
> when
> >>>>> some of the ZK paths are created for the very first time. They should
> >>>> only
> >>>>> show up once though.
> >>>>
> >>>> But if I delete ZK data at the start of my unit test (to avoid getting
> >>>> "broker already registered" errors), then the ZK paths are gone,
> right?
> >>>>
> >>>> So these exception would show up every time my test runs, in that
> case.
> >>>>
> >>>> Is there a way to avoid the "broker already registered" error and
> these
> >>>> exceptions?
> >>>>
> >>>> Thanks,
> >>>>
> >>>> -- Ken
> >>>>
> >>>>
> >>>>> On Sun, May 6, 2012 at 9:53 AM, Ken Krugler <
> >> kkrugler_li...@transpac.com
> >>>>> wrote:
> >>>>>
> >>>>>> I may have answered my own question…
> >>>>>>
> >>>>>> Looks like if I call ConsumerConnector#shutdown before interrupting
> my
> >>>>>> consumer Runnable, it works because then
> >>>>>> KafkaMessageStream#iterator#hasNext will return false, rather than
> >>>> blocking.
> >>>>>>
> >>>>>> I'm still interested in any examples for the right way to set
> up/tear
> >>>> down
> >>>>>> a very temporary Kafka setup for testing.
> >>>>>>
> >>>>>> For example, I clear out the ZooKeeper data & log dirs before
> starting
> >>>> it
> >>>>>> up, in an attempt to avoid occasional errors with "broker already
> >>>>>> registered".
> >>>>>>
> >>>>>> But that in turn seems to trigger Kafka logging about not finding ZK
> >>>> nodes
> >>>>>> for sessions:
> >>>>>>
> >>>>>> 12/05/06 09:35:51 INFO server.PrepRequestProcessor: Got user-level
> >>>>>> KeeperException when processing sessionid:0x1372301d2120001
> >> type:create
> >>>>>> cxid:0x1 zxid:0xfffffffffffffffe txntype:unknown reqpath:n/a Error
> >>>>>> Path:/consumers/bixo-storm/ids Error:KeeperErrorCode = NoNode for
> >>>>>> /consumers/bixo-storm/ids
> >>>>>>
> >>>>>> So I assume there's also Kafka state I should be clearing out before
> >>>> each
> >>>>>> run, right?
> >>>>>>
> >>>>>> Thanks,
> >>>>>>
> >>>>>> -- Ken
> >>>>>>
> >>>>>> On May 6, 2012, at 8:21am, Ken Krugler wrote:
> >>>>>>
> >>>>>>> Hi all,
> >>>>>>>
> >>>>>>> I'm trying to run Kakfa in a minimal local test environment, but
> >> having
> >>>>>> issues gracefully shutting down.
> >>>>>>>
> >>>>>>> I can start up ZooKeeper/Kafka, and it's running fine.
> >>>>>>>
> >>>>>>> But when I try to shut it all down, I'm having trouble cleanly
> >>>>>> terminating the consumers.
> >>>>>>>
> >>>>>>> I think the issue is that they're blocking on
> >>>>>> ConsumerIterator.makeNext(), which doesn't seem to be paying
> attention
> >>>> to
> >>>>>> being interrupted.
> >>>>>>>
> >>>>>>> So then I proceed with cleaning up everything else, and shutting
> down
> >>>>>> the Kafka broker.
> >>>>>>>
> >>>>>>> Which in turn triggers a kafka.consumer.ConsumerTimeoutException
> from
> >>>>>> the pending hasNext() call in my consumer Runnable.
> >>>>>>>
> >>>>>>> What's the clean way to set up/tear down a ZooKeeper/Kafka setup
> >> that's
> >>>>>> being used indirectly by the test of another project?
> >>>>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>> -- Ken
> >>>>>>>
> >>>>>>> --------------------------
> >>>>>>> Ken Krugler
> >>>>>>> http://www.scaleunlimited.com
> >>>>>>> custom big data solutions & training
> >>>>>>> Hadoop, Cascading, Mahout & Solr
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> --------------------------
> >>>>>> Ken Krugler
> >>>>>> +1 530-210-6378
> >>>>>> http://www.scaleunlimited.com
> >>>>>> custom big data solutions & training
> >>>>>> Hadoop, Cascading, Mahout & Solr
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --------------------------
> >>>>>> Ken Krugler
> >>>>>> http://www.scaleunlimited.com
> >>>>>> custom big data solutions & training
> >>>>>> Hadoop, Cascading, Mahout & Solr
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>
> >>>> --------------------------
> >>>> Ken Krugler
> >>>> http://www.scaleunlimited.com
> >>>> custom big data solutions & training
> >>>> Hadoop, Cascading, Mahout & Solr
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>
> >> --------------------------
> >> Ken Krugler
> >> http://www.scaleunlimited.com
> >> custom big data solutions & training
> >> Hadoop, Cascading, Mahout & Solr
> >>
> >>
> >>
> >>
> >>
>
> --------------------------------------------
> http://about.me/kkrugler
> +1 530-210-6378
>
>
>
>
> --------------------------
> Ken Krugler
> http://www.scaleunlimited.com
> custom big data solutions & training
> Hadoop, Cascading, Mahout & Solr
>
>
>
>
>

Reply via email to