hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harsh J <ha...@cloudera.com>
Subject Re: The configuration loading behavior
Date Thu, 29 Sep 2011 04:47:43 GMT
Ruby,

Uma has already explained it isn't.

Its just a 'technique' to print out a stack trace during DEBUG logging.

It isn't an exception, and it isn't 'thrown' either - as you notice in
the code. Creating an Exception instance doesn't 'throw' it.

The line you see in logs is a proper, DEBUG-only statement. DEBUG log
level _will_ be noisy in this way. Proper exceptions, that are to be
worried about, are either thrown out explicitly, or are wrapped into
WARN, ERROR or FATAL statements.

So, coming to a question, what's your specific issue when using the
Configuration class in Hadoop?

On Thu, Sep 29, 2011 at 7:10 AM, Ruby Stevenson <ruby185@gmail.com> wrote:
> hmm ... I tried a small test program, if I put log4j configuration in the
> classpath and turn on debug level, I am actually seeing the exception
> thrown. The seemingly silly issue I had have been bugging me for a while.
>
>
> DEBUG hadoop.conf.Configuration - java.io.IOException: config()
>    at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:226)
>    at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:213)
>
>
> On Wed, Sep 28, 2011 at 8:50 PM, Uma Maheswara Rao G 72686 <
> maheswara@huawei.com> wrote:
>
>> Hello Ruby,
>>
>> It is just logging the trace of configuration object invocations.
>> It will not throw exception.
>>
>> Regards,
>> Uma
>>
>>
>> ----- Original Message -----
>> From: Ruby Stevenson <ruby185@gmail.com>
>> Date: Thursday, September 29, 2011 6:15 am
>> Subject: The configuration loading behavior
>> To: common-dev@hadoop.apache.org
>>
>> > All -
>> >
>> > Can someone please help me to understand this
>> > (org.apache.hadoop.conf.Configuration, 20.204).
>> >
>> > The following code reads like an exception will be thrown if debug
>> > is on, no
>> > matter what, why?
>> >
>> >
>> > /** A new configuration where the behavior of reading from the
>> > default  * resources can be turned off.
>> >  *
>> >  * If the parameter {@code loadDefaults} is false, the new instance
>> >  * will not load resources from the default files.
>> >  * @param loadDefaults specifies whether to load from the default
>> > files  */
>> > public Configuration(boolean loadDefaults) {
>> >   this.loadDefaults = loadDefaults;
>> > *   if (LOG.isDebugEnabled()) {
>> >     LOG.debug(StringUtils.stringifyException(new
>> > IOException("config()")));   }*
>> >   synchronized(Configuration.class) {
>> >     REGISTRY.put(this, null);
>> >   }
>> >   this.storeResource = false;
>> > }
>> >
>> > Thanks
>> >
>> > Ruby
>> >
>>
>



-- 
Harsh J

Mime
View raw message