hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-5348) Create a stable wire format for exceptions
Date Thu, 19 Mar 2009 11:05:50 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-5348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683427#action_12683427

Steve Loughran commented on HADOOP-5348:

Some sample exception classes, mostly soapfault related, that so similarish things

Axis 1.x AxisFault
* lots of complexity related to XML fragments, parsing, namespaces -stuff to avoid.
* automatically adds hostname as one of the elements, very good for tracking down trouble
in a cluster
* Security: the normal Axis servlet strips out the stack before sending the fault over the
wire, unless the machine has a "development box" switch set. 

Axis 2 AxisFault
* lots of SOAP1.2 complexity
* extracts the inner cause of a InvocationTargetException or UndeclaredThrowableException
and discards the wrapper
* Security: has methods used to print the fault in an HTML page, methods that sanitize all
strings by escaping angle brackets

Alpine faulting
* Lots of SOAP1.1/1.2 complexity
* has an interface, {{SoapFaultSource}}, that you can implement in any subclass of Throwable
to say "I'll handle the fault to SOAP conversion".
* does some escaping of all received details, in case a malicious far end decides to send
back malicious html as the fault name
* Can back-convert to an exception, but never tries to do the original (Because of this [www.hpl.hp.com/techreports/2005/HPL-2005-83.pdf]

All of these suffer from the complexity of SOAP stacks, and the SOAP1.2 fault design in particular.
what may be relevant is
# Hostnames are invaluable to retain, to add to new exceptions
# Being able to add name, value data is good, but full XML is far too much. String->string
works well
# It's nice to have a client/server flag
# We may need to think of security, at least the use case of converting an exception into
HTML to display on a report page.

> Create a stable wire format for exceptions
> ------------------------------------------
>                 Key: HADOOP-5348
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5348
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: ipc
>    Affects Versions: 0.20.0, 0.21.0
>            Reporter: Steve Loughran
>         Attachments: ThrowableWritable.java
> HADOOP-5201 and other issues would benefit from a stable representation of exceptions,
one that can be sent over the network, maybe pushed out to web UIs and which we can be 100%
sure that the far end will be able to handle if they have the hadoop-core JAR on their classpath.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message