@Override public SerializedThrowable deserialize( final JsonParser p, final DeserializationContext ctxt) throws IOException { final JsonNode root = p.readValueAsTree(); final byte[] serializedException = root.get(FIELD_NAME_SERIALIZED_THROWABLE).binaryValue(); try { return InstantiationUtil.deserializeObject(serializedException, ClassLoader.getSystemClassLoader()); } catch (ClassNotFoundException e) { throw new IOException("Failed to deserialize " + SerializedThrowable.class.getCanonicalName(), e); } }
@Override public SerializedThrowable deserialize( final JsonParser p, final DeserializationContext ctxt) throws IOException { final JsonNode root = p.readValueAsTree(); final byte[] serializedException = root.get(FIELD_NAME_SERIALIZED_THROWABLE).binaryValue(); try { return InstantiationUtil.deserializeObject(serializedException, ClassLoader.getSystemClassLoader()); } catch (ClassNotFoundException e) { throw new IOException("Failed to deserialize " + SerializedThrowable.class.getCanonicalName(), e); } }
@Override public SerializedThrowable deserialize( final JsonParser p, final DeserializationContext ctxt) throws IOException { final JsonNode root = p.readValueAsTree(); final byte[] serializedException = root.get(FIELD_NAME_SERIALIZED_THROWABLE).binaryValue(); try { return InstantiationUtil.deserializeObject(serializedException, ClassLoader.getSystemClassLoader()); } catch (ClassNotFoundException e) { throw new IOException("Failed to deserialize " + SerializedThrowable.class.getCanonicalName(), e); } }
@Override public RawJson deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { final JsonNode rootNode = jsonParser.readValueAsTree(); return new RawJson(rootNode.toString()); } }
@Override public RawJson deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { final JsonNode rootNode = jsonParser.readValueAsTree(); return new RawJson(rootNode.toString()); } }
@Override public RawJson deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { final JsonNode rootNode = jsonParser.readValueAsTree(); return new RawJson(rootNode.toString()); } }
@Override public JobConfigInfo deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); final JobID jobId = JobID.fromHexString(rootNode.get(FIELD_NAME_JOB_ID).asText()); final String jobName = rootNode.get(FIELD_NAME_JOB_NAME).asText(); final ExecutionConfigInfo executionConfigInfo; if (rootNode.has(FIELD_NAME_EXECUTION_CONFIG)) { executionConfigInfo = RestMapperUtils.getStrictObjectMapper().treeToValue(rootNode.get(FIELD_NAME_EXECUTION_CONFIG), ExecutionConfigInfo.class); } else { executionConfigInfo = null; } return new JobConfigInfo(jobId, jobName, executionConfigInfo); } }
@Override public JobConfigInfo deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); final JobID jobId = JobID.fromHexString(rootNode.get(FIELD_NAME_JOB_ID).asText()); final String jobName = rootNode.get(FIELD_NAME_JOB_NAME).asText(); final ExecutionConfigInfo executionConfigInfo; if (rootNode.has(FIELD_NAME_EXECUTION_CONFIG)) { executionConfigInfo = RestMapperUtils.getStrictObjectMapper().treeToValue(rootNode.get(FIELD_NAME_EXECUTION_CONFIG), ExecutionConfigInfo.class); } else { executionConfigInfo = null; } return new JobConfigInfo(jobId, jobName, executionConfigInfo); } }
@Override public ResourceProfile deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); double cpuCores = rootNode.get(FIELD_NAME_RESOURCE_CPU_CORES).doubleValue(); int heapMemoryInMB = convertByteToMegabyte(rootNode.get(FIELD_NAME_RESOURCE_HEAP_MEMORY).longValue()); int directMemoryInMB = convertByteToMegabyte(rootNode.get(FIELD_NAME_RESOURCE_DIRECT_MEMORY).longValue()); int nativeMemoryInMB = convertByteToMegabyte(rootNode.get(FIELD_NAME_RESOURCE_NATIVE_MEMORY).longValue()); int networkMemoryInMB = convertByteToMegabyte(rootNode.get(FIELD_NAME_RESOURCE_NETWORK_MEMORY).longValue()); int managedMemoryInMB = convertByteToMegabyte(rootNode.get(FIELD_NAME_RESOURCE_MANAGED_MEMORY).longValue()); Map<String, Resource> extendedResources = new HashMap<>(); if (managedMemoryInMB != 0) { extendedResources.put(ResourceSpec.MANAGED_MEMORY_NAME, new CommonExtendedResource(ResourceSpec.MANAGED_MEMORY_NAME, managedMemoryInMB)); } return new ResourceProfile( cpuCores, heapMemoryInMB, directMemoryInMB, nativeMemoryInMB, networkMemoryInMB, extendedResources); }
@Override public JobConfigInfo deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); final JobID jobId = JobID.fromHexString(rootNode.get(FIELD_NAME_JOB_ID).asText()); final String jobName = rootNode.get(FIELD_NAME_JOB_NAME).asText(); final ExecutionConfigInfo executionConfigInfo; if (rootNode.has(FIELD_NAME_EXECUTION_CONFIG)) { executionConfigInfo = RestMapperUtils.getStrictObjectMapper().treeToValue(rootNode.get(FIELD_NAME_EXECUTION_CONFIG), ExecutionConfigInfo.class); } else { executionConfigInfo = null; } return new JobConfigInfo(jobId, jobName, executionConfigInfo); } }
@Override public JobDetails deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); JobID jobId = JobID.fromHexString(rootNode.get(FIELD_NAME_JOB_ID).textValue()); String jobName = rootNode.get(FIELD_NAME_JOB_NAME).textValue(); long startTime = rootNode.get(FIELD_NAME_START_TIME).longValue(); long endTime = rootNode.get(FIELD_NAME_END_TIME).longValue(); long duration = rootNode.get(FIELD_NAME_DURATION).longValue(); JobStatus jobStatus = JobStatus.valueOf(rootNode.get(FIELD_NAME_STATUS).textValue()); long lastUpdateTime = rootNode.get(FIELD_NAME_LAST_MODIFICATION).longValue(); JsonNode tasksNode = rootNode.get("tasks"); int numTasks = tasksNode.get(FIELD_NAME_TOTAL_NUMBER_TASKS).intValue(); int[] numVerticesPerExecutionState = new int[ExecutionState.values().length]; for (ExecutionState executionState : ExecutionState.values()) { numVerticesPerExecutionState[executionState.ordinal()] = tasksNode.get(executionState.name().toLowerCase()).intValue(); } return new JobDetails( jobId, jobName, startTime, endTime, duration, jobStatus, lastUpdateTime, numVerticesPerExecutionState, numTasks); } }
@Override public JobDetails deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); JobID jobId = JobID.fromHexString(rootNode.get(FIELD_NAME_JOB_ID).textValue()); String jobName = rootNode.get(FIELD_NAME_JOB_NAME).textValue(); long startTime = rootNode.get(FIELD_NAME_START_TIME).longValue(); long endTime = rootNode.get(FIELD_NAME_END_TIME).longValue(); long duration = rootNode.get(FIELD_NAME_DURATION).longValue(); JobStatus jobStatus = JobStatus.valueOf(rootNode.get(FIELD_NAME_STATUS).textValue()); long lastUpdateTime = rootNode.get(FIELD_NAME_LAST_MODIFICATION).longValue(); JsonNode tasksNode = rootNode.get("tasks"); int numTasks = tasksNode.get(FIELD_NAME_TOTAL_NUMBER_TASKS).intValue(); int[] numVerticesPerExecutionState = new int[ExecutionState.values().length]; for (ExecutionState executionState : ExecutionState.values()) { numVerticesPerExecutionState[executionState.ordinal()] = tasksNode.get(executionState.name().toLowerCase()).intValue(); } return new JobDetails( jobId, jobName, startTime, endTime, duration, jobStatus, lastUpdateTime, numVerticesPerExecutionState, numTasks); } }
@Override public JobDetails deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { JsonNode rootNode = jsonParser.readValueAsTree(); JobID jobId = JobID.fromHexString(rootNode.get(FIELD_NAME_JOB_ID).textValue()); String jobName = rootNode.get(FIELD_NAME_JOB_NAME).textValue(); long startTime = rootNode.get(FIELD_NAME_START_TIME).longValue(); long endTime = rootNode.get(FIELD_NAME_END_TIME).longValue(); long duration = rootNode.get(FIELD_NAME_DURATION).longValue(); JobStatus jobStatus = JobStatus.valueOf(rootNode.get(FIELD_NAME_STATUS).textValue()); long lastUpdateTime = rootNode.get(FIELD_NAME_LAST_MODIFICATION).longValue(); JsonNode tasksNode = rootNode.get("tasks"); int numTasks = tasksNode.get(FIELD_NAME_TOTAL_NUMBER_TASKS).intValue(); int[] numVerticesPerExecutionState = new int[ExecutionState.values().length]; for (ExecutionState executionState : ExecutionState.values()) { numVerticesPerExecutionState[executionState.ordinal()] = tasksNode.get(executionState.name().toLowerCase()).intValue(); } return new JobDetails( jobId, jobName, startTime, endTime, duration, jobStatus, lastUpdateTime, numVerticesPerExecutionState, numTasks); } }