hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@apache.org>
Subject Design Q: logging/nesting of exceptions
Date Thu, 08 May 2008 12:14:21 GMT


I have a design question, not a jira issue, so I'm asking as a normal email

1. Why do exceptions tend to stringify nested exceptions

  public InconsistentFSStateException(File dir, String descr, Throwable 
ex) {
     this(dir, descr + "\n" + StringUtils.stringifyException(ex));
   }

rather than retain the existing stack trace as a separate exception?

  public InconsistentFSStateException(File dir, String descr, Throwable 
ex) {
     this(dir, descr + "\n" + StringUtils.stringifyException(ex));
     initCause(ex);
   }

2. why do exceptions tend to get stringified before logging, instead of 
leaving the logging framework to handle it (e.g here in DataNode)

LOG.error(dnRegistration + ":DataXceiver: " + 
StringUtils.stringifyException(t));

rather than

LOG.error(dnRegistration + ":DataXceiver: "+t.getMessage(),t);

I ask as I do personally like to keep all those many stack traces around 
in a machine readable format right up into the XML test reports, and 
both actions run a risk of converting them to text too early. Is this 
all a deliberate decision, or just a accidental  policy that can be 
changed if someone is prepared to go through the code and make the changes?

-steve

Mime
View raw message