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