You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by Brock Noland <br...@cloudera.com> on 2012/02/13 04:04:09 UTC

Flume NG Source/Sink errors in .start()

Hi,

I am looking at Flume NG source and sink implementations. I have
noticed a common pattern, one of a few specific examples is:

https://reviews.apache.org/r/3741

In the start method, if we get an IOException in the start method, we
log the error. However, when the process method is called a NPE will
be throw because Htable is still null. Is there a reason we don't wrap
the error in a runtime exception and throw it up? Another example is:

https://reviews.apache.org/r/3831/

I am just curious if there is a reason we do log the error as opposed
to throwing it as a RuntimeException.

Cheers
Brock

-- 
Apache MRUnit - Unit testing MapReduce - http://incubator.apache.org/mrunit/

Re: Flume NG Source/Sink errors in .start()

Posted by Arvind Prabhakar <ar...@apache.org>.
Hi Brock,

The current implementation is half-baked when it comes to error handling
during initialization. The main issue stopping this implementation is that
we are yet to migrate fully to Guava Service implementation for lifecycle
management of the various components. Once we do migrate, we will have to
implement initialization time error handling so that the components can be
disabled gracefully while others continue to work.

Thanks for bringing this up. I have filed the following issue to track this
work:
https://issues.apache.org/jira/browse/FLUME-966

Thanks,
Arvind

On Sun, Feb 12, 2012 at 7:04 PM, Brock Noland <br...@cloudera.com> wrote:

> Hi,
>
> I am looking at Flume NG source and sink implementations. I have
> noticed a common pattern, one of a few specific examples is:
>
> https://reviews.apache.org/r/3741
>
> In the start method, if we get an IOException in the start method, we
> log the error. However, when the process method is called a NPE will
> be throw because Htable is still null. Is there a reason we don't wrap
> the error in a runtime exception and throw it up? Another example is:
>
> https://reviews.apache.org/r/3831/
>
> I am just curious if there is a reason we do log the error as opposed
> to throwing it as a RuntimeException.
>
> Cheers
> Brock
>
> --
> Apache MRUnit - Unit testing MapReduce -
> http://incubator.apache.org/mrunit/
>