|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Throwable
java.lang.Exception
java.io.IOException
org.apache.hadoop.hbase.errorhandling.ForeignException
@InterfaceAudience.Public @InterfaceStability.Evolving public class ForeignException
A ForeignException is an exception from another thread or process.
ForeignExceptions are sent to 'remote' peers to signal an abort in the face of failures. When serialized for transmission we encode using Protobufs to ensure version compatibility.
Foreign exceptions contain a Throwable as its cause. This can be a "regular" exception
generated locally or a ProxyThrowable that is a representation of the original exception
created on original 'remote' source. These ProxyThrowables have their their stacks traces and
messages overridden to reflect the original 'remote' exception. The only way these
ProxyThrowables are generated are by this class's deserialize(byte[])
method.
Constructor Summary | |
---|---|
ForeignException(String source,
String msg)
Create a new ForeignException that can be serialized. |
|
ForeignException(String source,
Throwable cause)
Create a new ForeignException that can be serialized. |
Method Summary | |
---|---|
static ForeignException |
deserialize(byte[] bytes)
Takes a series of bytes and tries to generate an ForeignException instance for it. |
String |
getSource()
|
boolean |
isRemote()
The cause of a ForeignException can be an exception that was generated on a local in process thread, or a thread from a 'remote' separate process. |
static byte[] |
serialize(String source,
Throwable t)
Converts a ForeignException to an array of bytes. |
String |
toString()
|
Methods inherited from class java.lang.Throwable |
---|
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ForeignException(String source, Throwable cause)
source
- cause
- public ForeignException(String source, String msg)
source
- msg
- Method Detail |
---|
public String getSource()
public boolean isRemote()
public String toString()
toString
in class Throwable
public static byte[] serialize(String source, Throwable t)
source
- the name of the external exception sourcet
- the "local" external exception (local)
public static ForeignException deserialize(byte[] bytes) throws com.google.protobuf.InvalidProtocolBufferException
bytes
-
com.google.protobuf.InvalidProtocolBufferException
- if there was deserialization problem this is thrown.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |