[
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.