本文整理汇总了Java中org.apache.hadoop.yarn.api.records.SerializedException.newInstance方法的典型用法代码示例。如果您正苦于以下问题:Java SerializedException.newInstance方法的具体用法?Java SerializedException.newInstance怎么用?Java SerializedException.newInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.yarn.api.records.SerializedException
的用法示例。
在下文中一共展示了SerializedException.newInstance方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testSerializedExceptionDeSer
import org.apache.hadoop.yarn.api.records.SerializedException; //导入方法依赖的package包/类
@Test(timeout=10000)
public void testSerializedExceptionDeSer() throws Exception{
// without cause
YarnException yarnEx = new YarnException("Yarn_Exception");
SerializedException serEx = SerializedException.newInstance(yarnEx);
Throwable throwable = serEx.deSerialize();
Assert.assertEquals(yarnEx.getClass(), throwable.getClass());
Assert.assertEquals(yarnEx.getMessage(), throwable.getMessage());
// with cause
IOException ioe = new IOException("Test_IOException");
RuntimeException runtimeException =
new RuntimeException("Test_RuntimeException", ioe);
YarnException yarnEx2 =
new YarnException("Test_YarnException", runtimeException);
SerializedException serEx2 = SerializedException.newInstance(yarnEx2);
Throwable throwable2 = serEx2.deSerialize();
throwable2.printStackTrace();
Assert.assertEquals(yarnEx2.getClass(), throwable2.getClass());
Assert.assertEquals(yarnEx2.getMessage(), throwable2.getMessage());
Assert.assertEquals(runtimeException.getClass(), throwable2.getCause().getClass());
Assert.assertEquals(runtimeException.getMessage(), throwable2.getCause().getMessage());
Assert.assertEquals(ioe.getClass(), throwable2.getCause().getCause().getClass());
Assert.assertEquals(ioe.getMessage(), throwable2.getCause().getCause().getMessage());
}
示例2: startContainers
import org.apache.hadoop.yarn.api.records.SerializedException; //导入方法依赖的package包/类
@Override
public ContainersResponse startContainers(List<StartContainerRequest> requests)
throws IOException {
List<ContainerId> succeededContainers = new ArrayList<ContainerId>();
Map<ContainerId, SerializedException> failedRequests =
new HashMap<ContainerId, SerializedException>();
for (StartContainerRequest startContainerRequest : requests) {
ContainerLaunchContext containerLaunchContext = startContainerRequest
.getContainerLaunchContext();
Token containerToken = startContainerRequest.getContainerToken();
String containerIdStr = new String(containerToken.getIdentifier().array());
ContainerId containerId = ConverterUtils.toContainerId(containerIdStr);
int pbsJobId = containersInfo.get(containerId);
try {
LOG.info("Starting container : " + containerIdStr
+ " for the PBS Job id : " + pbsJobId);
// Launch Containers
String containerHostName = ContainerResponses.getResponse(pbsJobId)
.getContainerHostName();
PBSCommandExecutor.launchContainer(containerLaunchContext,
containerIdStr, null, conf, pbsJobId, false, containerHostName);
succeededContainers.add(containerId);
LaunchedPBSJobs.addRunningContainer(containerId, pbsJobId);
} catch (Throwable t) {
LOG.error("Failed to launch container : " + containerIdStr, t);
SerializedException exception = SerializedException.newInstance(t);
failedRequests.put(containerId, exception);
}
}
Map<String, ByteBuffer> allServicesMetaData = new HashMap<String, ByteBuffer>();
ByteBuffer buffer = ByteBuffer.allocate(200);
buffer.putInt(100);
allServicesMetaData.put("mapreduce_shuffle", buffer);
ContainersResponse response = new ContainersResponse();
response.setServicesMetaData(allServicesMetaData);
response.setFailedContainers(failedRequests);
response.setSucceededContainers(succeededContainers);
return response;
}