public override SerializedException GetCause() { YarnProtos.SerializedExceptionProtoOrBuilder p = viaProto ? proto : builder; if (p.HasCause()) { return(new Org.Apache.Hadoop.Yarn.Api.Records.Impl.PB.SerializedExceptionPBImpl(p .GetCause())); } else { return(null); } }
public override Exception DeSerialize() { SerializedException cause = GetCause(); YarnProtos.SerializedExceptionProtoOrBuilder p = viaProto ? proto : builder; Type realClass = null; try { realClass = Sharpen.Runtime.GetType(p.GetClassName()); } catch (TypeLoadException e) { throw new YarnRuntimeException(e); } Type classType = null; if (typeof(YarnException).IsAssignableFrom(realClass)) { classType = typeof(YarnException); } else { if (typeof(IOException).IsAssignableFrom(realClass)) { classType = typeof(IOException); } else { if (typeof(RuntimeException).IsAssignableFrom(realClass)) { classType = typeof(RuntimeException); } else { classType = typeof(Exception); } } } return(InstantiateException(realClass.AsSubclass(classType), GetMessage(), cause == null ? null : cause.DeSerialize())); }
public override string GetRemoteTrace() { YarnProtos.SerializedExceptionProtoOrBuilder p = viaProto ? proto : builder; return(p.GetTrace()); }