Class RemoteProcedureException

All Implemented Interfaces:
Serializable

@Private @Evolving public class RemoteProcedureException extends ProcedureException
A RemoteProcedureException is an exception from another thread or process.

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

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

See Also:
  • Field Details

    • source

      private final String source
      Name of the throwable's source such as a host or thread name. Must be non-null.
  • Constructor Details

    • RemoteProcedureException

      public RemoteProcedureException(String source, Throwable cause)
      Create a new RemoteProcedureException that can be serialized. It is assumed that this came form a local source.
      Parameters:
      source - the host or thread name of the source
      cause - the actual cause of the exception
  • Method Details