FWIW, since this is the second time I saw this come up, I've opened
https://issues.apache.org/jira/browse/HADOOP-7696 as a trivial JIRA to
address it and avoid confusion :)

The usefulness of that statement is that it will tell you, during
debug logging, what piece of code instantiated Configuration objects,
and when / at what point.

On Thu, Sep 29, 2011 at 10:17 AM, Harsh J <ha...@cloudera.com> wrote:
> 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 <ruby...@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 <
>> mahesw...@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 <ruby...@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
>



-- 
Harsh J

Reply via email to