org.apache.flink.runtime.rest.messages.JobVertexMessageParameters Java Examples
The following examples show how to use
org.apache.flink.runtime.rest.messages.JobVertexMessageParameters.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JobVertexBackPressureHandlerTest.java From flink with Apache License 2.0 | 6 votes |
@Test public void testAbsentBackPressure() throws Exception { final Map<String, String> pathParameters = new HashMap<>(); pathParameters.put(JobIDPathParameter.KEY, TEST_JOB_ID_BACK_PRESSURE_STATS_ABSENT.toString()); pathParameters.put(JobVertexIdPathParameter.KEY, new JobVertexID().toString()); final HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request = new HandlerRequest<>( EmptyRequestBody.getInstance(), new JobVertexMessageParameters(), pathParameters, Collections.emptyMap()); final CompletableFuture<JobVertexBackPressureInfo> jobVertexBackPressureInfoCompletableFuture = jobVertexBackPressureHandler.handleRequest(request, restfulGateway); final JobVertexBackPressureInfo jobVertexBackPressureInfo = jobVertexBackPressureInfoCompletableFuture.get(); assertThat(jobVertexBackPressureInfo.getStatus(), equalTo(VertexBackPressureStatus.DEPRECATED)); }
Example #2
Source File: JobVertexDetailsHandler.java From flink with Apache License 2.0 | 6 votes |
public JobVertexDetailsHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexDetailsInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor, MetricFetcher metricFetcher) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); this.metricFetcher = metricFetcher; }
Example #3
Source File: JobVertexAccumulatorsHandler.java From flink with Apache License 2.0 | 6 votes |
@Override protected JobVertexAccumulatorsInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionJobVertex jobVertex) throws RestHandlerException { StringifiedAccumulatorResult[] accs = jobVertex.getAggregatedUserAccumulatorsStringified(); ArrayList<UserAccumulator> userAccumulatorList = new ArrayList<>(accs.length); for (StringifiedAccumulatorResult acc : accs) { userAccumulatorList.add( new UserAccumulator( acc.getName(), acc.getType(), acc.getValue())); } return new JobVertexAccumulatorsInfo(jobVertex.getJobVertexId().toString(), userAccumulatorList); }
Example #4
Source File: JobVertexBackPressureHandlerTest.java From flink with Apache License 2.0 | 6 votes |
@Test public void testAbsentBackPressure() throws Exception { final Map<String, String> pathParameters = new HashMap<>(); pathParameters.put(JobIDPathParameter.KEY, TEST_JOB_ID_BACK_PRESSURE_STATS_ABSENT.toString()); pathParameters.put(JobVertexIdPathParameter.KEY, new JobVertexID().toString()); final HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request = new HandlerRequest<>( EmptyRequestBody.getInstance(), new JobVertexMessageParameters(), pathParameters, Collections.emptyMap()); final CompletableFuture<JobVertexBackPressureInfo> jobVertexBackPressureInfoCompletableFuture = jobVertexBackPressureHandler.handleRequest(request, restfulGateway); final JobVertexBackPressureInfo jobVertexBackPressureInfo = jobVertexBackPressureInfoCompletableFuture.get(); assertThat(jobVertexBackPressureInfo.getStatus(), equalTo(VertexBackPressureStatus.DEPRECATED)); }
Example #5
Source File: JobVertexBackPressureHandlerTest.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@Test public void testAbsentBackPressure() throws Exception { final Map<String, String> pathParameters = new HashMap<>(); pathParameters.put(JobIDPathParameter.KEY, TEST_JOB_ID_BACK_PRESSURE_STATS_ABSENT.toString()); pathParameters.put(JobVertexIdPathParameter.KEY, new JobVertexID().toString()); final HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request = new HandlerRequest<>( EmptyRequestBody.getInstance(), new JobVertexMessageParameters(), pathParameters, Collections.emptyMap()); final CompletableFuture<JobVertexBackPressureInfo> jobVertexBackPressureInfoCompletableFuture = jobVertexBackPressureHandler.handleRequest(request, restfulGateway); final JobVertexBackPressureInfo jobVertexBackPressureInfo = jobVertexBackPressureInfoCompletableFuture.get(); assertThat(jobVertexBackPressureInfo.getStatus(), equalTo(VertexBackPressureStatus.DEPRECATED)); }
Example #6
Source File: JobVertexDetailsHandler.java From flink with Apache License 2.0 | 6 votes |
public JobVertexDetailsHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexDetailsInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor, MetricFetcher metricFetcher) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); this.metricFetcher = metricFetcher; }
Example #7
Source File: JobVertexDetailsHandler.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
public JobVertexDetailsHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexDetailsInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor, MetricFetcher metricFetcher) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); this.metricFetcher = metricFetcher; }
Example #8
Source File: JobVertexAccumulatorsHandler.java From flink with Apache License 2.0 | 6 votes |
@Override protected JobVertexAccumulatorsInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionJobVertex jobVertex) throws RestHandlerException { StringifiedAccumulatorResult[] accs = jobVertex.getAggregatedUserAccumulatorsStringified(); ArrayList<UserAccumulator> userAccumulatorList = new ArrayList<>(accs.length); for (StringifiedAccumulatorResult acc : accs) { userAccumulatorList.add( new UserAccumulator( acc.getName(), acc.getType(), acc.getValue())); } return new JobVertexAccumulatorsInfo(jobVertex.getJobVertexId().toString(), userAccumulatorList); }
Example #9
Source File: JobVertexAccumulatorsHandler.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@Override protected JobVertexAccumulatorsInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionJobVertex jobVertex) throws RestHandlerException { StringifiedAccumulatorResult[] accs = jobVertex.getAggregatedUserAccumulatorsStringified(); ArrayList<UserAccumulator> userAccumulatorList = new ArrayList<>(accs.length); for (StringifiedAccumulatorResult acc : accs) { userAccumulatorList.add( new UserAccumulator( acc.getName(), acc.getType(), acc.getValue())); } return new JobVertexAccumulatorsInfo(jobVertex.getJobVertexId().toString(), userAccumulatorList); }
Example #10
Source File: JobVertexAccumulatorsHandler.java From flink with Apache License 2.0 | 5 votes |
public JobVertexAccumulatorsHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexAccumulatorsInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); }
Example #11
Source File: JobVertexWatermarksHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected MetricCollectionResponseBody handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionJobVertex jobVertex) throws RestHandlerException { String jobID = request.getPathParameter(JobIDPathParameter.class).toString(); String taskID = jobVertex.getJobVertexId().toString(); metricFetcher.update(); MetricStore.TaskMetricStore taskMetricStore = metricFetcher.getMetricStore().getTaskMetricStore(jobID, taskID); if (taskMetricStore == null) { return new MetricCollectionResponseBody(Collections.emptyList()); } AccessExecutionVertex[] taskVertices = jobVertex.getTaskVertices(); List<Metric> metrics = new ArrayList<>(taskVertices.length); for (AccessExecutionVertex taskVertex : taskVertices) { String id = taskVertex.getParallelSubtaskIndex() + "." + MetricNames.IO_CURRENT_INPUT_WATERMARK; String watermarkValue = taskMetricStore.getMetric(id); if (watermarkValue != null) { metrics.add(new Metric(id, watermarkValue)); } } return new MetricCollectionResponseBody(metrics); }
Example #12
Source File: JobVertexTaskManagersHandler.java From flink with Apache License 2.0 | 5 votes |
public JobVertexTaskManagersHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexTaskManagersInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor, MetricFetcher metricFetcher) { super(leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); this.metricFetcher = Preconditions.checkNotNull(metricFetcher); }
Example #13
Source File: JobVertexTaskManagersHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected JobVertexTaskManagersInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionGraph executionGraph) throws RestHandlerException { JobID jobID = request.getPathParameter(JobIDPathParameter.class); JobVertexID jobVertexID = request.getPathParameter(JobVertexIdPathParameter.class); AccessExecutionJobVertex jobVertex = executionGraph.getJobVertex(jobVertexID); if (jobVertex == null) { throw new NotFoundException(String.format("JobVertex %s not found", jobVertexID)); } return createJobVertexTaskManagersInfo(jobVertex, jobID, metricFetcher); }
Example #14
Source File: SubtasksTimesHandler.java From flink with Apache License 2.0 | 5 votes |
public SubtasksTimesHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, SubtasksTimesInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); }
Example #15
Source File: JobVertexBackPressureHandler.java From flink with Apache License 2.0 | 5 votes |
public JobVertexBackPressureHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexBackPressureInfo, JobVertexMessageParameters> messageHeaders) { super(leaderRetriever, timeout, responseHeaders, messageHeaders); }
Example #16
Source File: JobVertexDetailsHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected JobVertexDetailsInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionGraph executionGraph) throws NotFoundException { JobID jobID = request.getPathParameter(JobIDPathParameter.class); JobVertexID jobVertexID = request.getPathParameter(JobVertexIdPathParameter.class); AccessExecutionJobVertex jobVertex = executionGraph.getJobVertex(jobVertexID); if (jobVertex == null) { throw new NotFoundException(String.format("JobVertex %s not found", jobVertexID)); } return createJobVertexDetailsInfo(jobVertex, jobID, metricFetcher); }
Example #17
Source File: BatchFineGrainedRecoveryITCase.java From flink with Apache License 2.0 | 5 votes |
private JobVertexDetailsInfo getJobVertexDetailsInfo(JobID jobId, JobVertexID jobVertexID) { JobVertexDetailsHeaders detailsHeaders = JobVertexDetailsHeaders.getInstance(); JobVertexMessageParameters params = new JobVertexMessageParameters(); params.jobPathParameter.resolve(jobId); params.jobVertexIdPathParameter.resolve(jobVertexID); return sendRequest(detailsHeaders, params).join(); }
Example #18
Source File: JobVertexBackPressureHandlerTest.java From flink with Apache License 2.0 | 5 votes |
@Test public void testGetBackPressure() throws Exception { final Map<String, String> pathParameters = new HashMap<>(); pathParameters.put(JobIDPathParameter.KEY, TEST_JOB_ID_BACK_PRESSURE_STATS_AVAILABLE.toString()); pathParameters.put(JobVertexIdPathParameter.KEY, new JobVertexID().toString()); final HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request = new HandlerRequest<>( EmptyRequestBody.getInstance(), new JobVertexMessageParameters(), pathParameters, Collections.emptyMap()); final CompletableFuture<JobVertexBackPressureInfo> jobVertexBackPressureInfoCompletableFuture = jobVertexBackPressureHandler.handleRequest(request, restfulGateway); final JobVertexBackPressureInfo jobVertexBackPressureInfo = jobVertexBackPressureInfoCompletableFuture.get(); assertThat(jobVertexBackPressureInfo.getStatus(), equalTo(VertexBackPressureStatus.OK)); assertThat(jobVertexBackPressureInfo.getBackpressureLevel(), equalTo(HIGH)); assertThat(jobVertexBackPressureInfo.getSubtasks() .stream() .map(JobVertexBackPressureInfo.SubtaskBackPressureInfo::getRatio) .collect(Collectors.toList()), contains(1.0, 0.5, 0.1)); assertThat(jobVertexBackPressureInfo.getSubtasks() .stream() .map(JobVertexBackPressureInfo.SubtaskBackPressureInfo::getBackpressureLevel) .collect(Collectors.toList()), contains(HIGH, LOW, OK)); assertThat(jobVertexBackPressureInfo.getSubtasks() .stream() .map(JobVertexBackPressureInfo.SubtaskBackPressureInfo::getSubtask) .collect(Collectors.toList()), contains(0, 1, 2)); }
Example #19
Source File: JobVertexBackPressureHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected CompletableFuture<JobVertexBackPressureInfo> handleRequest( @Nonnull HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, @Nonnull RestfulGateway gateway) throws RestHandlerException { final JobID jobId = request.getPathParameter(JobIDPathParameter.class); final JobVertexID jobVertexId = request.getPathParameter(JobVertexIdPathParameter.class); return gateway .requestOperatorBackPressureStats(jobId, jobVertexId) .thenApply( operatorBackPressureStats -> operatorBackPressureStats.getOperatorBackPressureStats().map( JobVertexBackPressureHandler::createJobVertexBackPressureInfo).orElse( JobVertexBackPressureInfo.deprecated())); }
Example #20
Source File: JobVertexDetailsHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected JobVertexDetailsInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionGraph executionGraph) throws NotFoundException { JobID jobID = request.getPathParameter(JobIDPathParameter.class); JobVertexID jobVertexID = request.getPathParameter(JobVertexIdPathParameter.class); AccessExecutionJobVertex jobVertex = executionGraph.getJobVertex(jobVertexID); if (jobVertex == null) { throw new NotFoundException(String.format("JobVertex %s not found", jobVertexID)); } return createJobVertexDetailsInfo(jobVertex, jobID, metricFetcher); }
Example #21
Source File: SubtasksAllAccumulatorsHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected SubtasksAllAccumulatorsInfo handleRequest(HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionJobVertex jobVertex) throws RestHandlerException { JobVertexID jobVertexId = jobVertex.getJobVertexId(); int parallelism = jobVertex.getParallelism(); final List<SubtasksAllAccumulatorsInfo.SubtaskAccumulatorsInfo> subtaskAccumulatorsInfos = new ArrayList<>(); for (AccessExecutionVertex vertex : jobVertex.getTaskVertices()) { TaskManagerLocation location = vertex.getCurrentAssignedResourceLocation(); String locationString = location == null ? "(unassigned)" : location.getHostname(); StringifiedAccumulatorResult[] accs = vertex.getCurrentExecutionAttempt().getUserAccumulatorsStringified(); List<UserAccumulator> userAccumulators = new ArrayList<>(accs.length); for (StringifiedAccumulatorResult acc : accs) { userAccumulators.add(new UserAccumulator(acc.getName(), acc.getType(), acc.getValue())); } subtaskAccumulatorsInfos.add( new SubtasksAllAccumulatorsInfo.SubtaskAccumulatorsInfo( vertex.getCurrentExecutionAttempt().getParallelSubtaskIndex(), vertex.getCurrentExecutionAttempt().getAttemptNumber(), locationString, userAccumulators )); } return new SubtasksAllAccumulatorsInfo(jobVertexId, parallelism, subtaskAccumulatorsInfos); }
Example #22
Source File: SubtasksAllAccumulatorsHandler.java From flink with Apache License 2.0 | 5 votes |
@Override protected SubtasksAllAccumulatorsInfo handleRequest(HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionJobVertex jobVertex) throws RestHandlerException { JobVertexID jobVertexId = jobVertex.getJobVertexId(); int parallelism = jobVertex.getParallelism(); final List<SubtasksAllAccumulatorsInfo.SubtaskAccumulatorsInfo> subtaskAccumulatorsInfos = new ArrayList<>(); for (AccessExecutionVertex vertex : jobVertex.getTaskVertices()) { TaskManagerLocation location = vertex.getCurrentAssignedResourceLocation(); String locationString = location == null ? "(unassigned)" : location.getHostname(); StringifiedAccumulatorResult[] accs = vertex.getCurrentExecutionAttempt().getUserAccumulatorsStringified(); List<UserAccumulator> userAccumulators = new ArrayList<>(accs.length); for (StringifiedAccumulatorResult acc : accs) { userAccumulators.add(new UserAccumulator(acc.getName(), acc.getType(), acc.getValue())); } subtaskAccumulatorsInfos.add( new SubtasksAllAccumulatorsInfo.SubtaskAccumulatorsInfo( vertex.getCurrentExecutionAttempt().getParallelSubtaskIndex(), vertex.getCurrentExecutionAttempt().getAttemptNumber(), locationString, userAccumulators )); } return new SubtasksAllAccumulatorsInfo(jobVertexId, parallelism, subtaskAccumulatorsInfos); }
Example #23
Source File: SubtasksTimesHandler.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
public SubtasksTimesHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, SubtasksTimesInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); }
Example #24
Source File: JobVertexBackPressureHandler.java From flink with Apache License 2.0 | 5 votes |
public JobVertexBackPressureHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexBackPressureInfo, JobVertexMessageParameters> messageHeaders) { super(leaderRetriever, timeout, responseHeaders, messageHeaders); }
Example #25
Source File: JobVertexAccumulatorsHandler.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
public JobVertexAccumulatorsHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexAccumulatorsInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor) { super( leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); }
Example #26
Source File: JobVertexTaskManagersHandler.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
public JobVertexTaskManagersHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexTaskManagersInfo, JobVertexMessageParameters> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor, MetricFetcher metricFetcher) { super(leaderRetriever, timeout, responseHeaders, messageHeaders, executionGraphCache, executor); this.metricFetcher = Preconditions.checkNotNull(metricFetcher); }
Example #27
Source File: JobVertexTaskManagersHandler.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
@Override protected JobVertexTaskManagersInfo handleRequest( HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, AccessExecutionGraph executionGraph) throws RestHandlerException { JobID jobID = request.getPathParameter(JobIDPathParameter.class); JobVertexID jobVertexID = request.getPathParameter(JobVertexIdPathParameter.class); AccessExecutionJobVertex jobVertex = executionGraph.getJobVertex(jobVertexID); if (jobVertex == null) { throw new NotFoundException(String.format("JobVertex %s not found", jobVertexID)); } return createJobVertexTaskManagersInfo(jobVertex, jobID, metricFetcher); }
Example #28
Source File: JobVertexBackPressureHandler.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
public JobVertexBackPressureHandler( GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, JobVertexBackPressureInfo, JobVertexMessageParameters> messageHeaders) { super(leaderRetriever, timeout, responseHeaders, messageHeaders); }
Example #29
Source File: JobVertexBackPressureHandler.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
@Override protected CompletableFuture<JobVertexBackPressureInfo> handleRequest( @Nonnull HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request, @Nonnull RestfulGateway gateway) throws RestHandlerException { final JobID jobId = request.getPathParameter(JobIDPathParameter.class); final JobVertexID jobVertexId = request.getPathParameter(JobVertexIdPathParameter.class); return gateway .requestOperatorBackPressureStats(jobId, jobVertexId) .thenApply( operatorBackPressureStats -> operatorBackPressureStats.getOperatorBackPressureStats().map( JobVertexBackPressureHandler::createJobVertexBackPressureInfo).orElse( JobVertexBackPressureInfo.deprecated())); }
Example #30
Source File: JobVertexBackPressureHandlerTest.java From flink with Apache License 2.0 | 5 votes |
@Test public void testGetBackPressure() throws Exception { final Map<String, String> pathParameters = new HashMap<>(); pathParameters.put(JobIDPathParameter.KEY, TEST_JOB_ID_BACK_PRESSURE_STATS_AVAILABLE.toString()); pathParameters.put(JobVertexIdPathParameter.KEY, new JobVertexID().toString()); final HandlerRequest<EmptyRequestBody, JobVertexMessageParameters> request = new HandlerRequest<>( EmptyRequestBody.getInstance(), new JobVertexMessageParameters(), pathParameters, Collections.emptyMap()); final CompletableFuture<JobVertexBackPressureInfo> jobVertexBackPressureInfoCompletableFuture = jobVertexBackPressureHandler.handleRequest(request, restfulGateway); final JobVertexBackPressureInfo jobVertexBackPressureInfo = jobVertexBackPressureInfoCompletableFuture.get(); assertThat(jobVertexBackPressureInfo.getStatus(), equalTo(VertexBackPressureStatus.OK)); assertThat(jobVertexBackPressureInfo.getBackpressureLevel(), equalTo(HIGH)); assertThat(jobVertexBackPressureInfo.getSubtasks() .stream() .map(JobVertexBackPressureInfo.SubtaskBackPressureInfo::getRatio) .collect(Collectors.toList()), contains(1.0, 0.5, 0.1)); assertThat(jobVertexBackPressureInfo.getSubtasks() .stream() .map(JobVertexBackPressureInfo.SubtaskBackPressureInfo::getBackpressureLevel) .collect(Collectors.toList()), contains(HIGH, LOW, OK)); assertThat(jobVertexBackPressureInfo.getSubtasks() .stream() .map(JobVertexBackPressureInfo.SubtaskBackPressureInfo::getSubtask) .collect(Collectors.toList()), contains(0, 1, 2)); }