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
http://svn.apache.org/viewvc/webservices/axis/trunk/java/src/org/apache/axis/AxisFault.java?view=markup
* 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
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/AxisFault.java?view=markup
* 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
http://smartfrog.svn.sourceforge.net/viewvc/smartfrog/trunk/projects/alpine/prototype/M32/src/java/org/smartfrog/projects/alpine/faults/
* 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.


Mime
View raw message