Interface RestfulGateway
-
- All Superinterfaces:
org.apache.flink.runtime.rpc.RpcGateway
- All Known Subinterfaces:
DispatcherGateway
- All Known Implementing Classes:
Dispatcher,MiniDispatcher,NonLeaderRetrievalRestfulGateway,StandaloneDispatcher
public interface RestfulGateway extends org.apache.flink.runtime.rpc.RpcGatewayGateway for restful endpoints.Gateways which implement this method run a REST endpoint which is reachable under the returned address.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description CompletableFuture<Acknowledge>cancelJob(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)Cancel the given job.default CompletableFuture<CoordinationResponse>deliverCoordinationRequestToCoordinator(org.apache.flink.api.common.JobID jobId, OperatorID operatorId, org.apache.flink.util.SerializedValue<CoordinationRequest> serializedRequest, org.apache.flink.api.common.time.Time timeout)Deliver a coordination request to a specified coordinator and return the response.default CompletableFuture<Acknowledge>disposeSavepoint(String savepointPath, org.apache.flink.api.common.time.Time timeout)Dispose the given savepoint.default CompletableFuture<OperationResult<Long>>getTriggeredCheckpointStatus(AsynchronousJobOperationKey operationKey)Get the status of a checkpoint triggered under the specified operation key.default CompletableFuture<OperationResult<String>>getTriggeredSavepointStatus(AsynchronousJobOperationKey operationKey)Get the status of a savepoint triggered under the specified operation key.default CompletableFuture<Void>reportJobClientHeartbeat(org.apache.flink.api.common.JobID jobId, long expiredTimestamp, org.apache.flink.api.common.time.Time timeout)The client reports the heartbeat to the dispatcher for aliveness.CompletableFuture<CheckpointStatsSnapshot>requestCheckpointStats(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)Requests theCheckpointStatsSnapshotcontaining checkpointing information.CompletableFuture<ClusterOverview>requestClusterOverview(org.apache.flink.api.common.time.Time timeout)Requests the cluster status overview.CompletableFuture<ExecutionGraphInfo>requestExecutionGraphInfo(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)Requests theExecutionGraphInfocontaining additional information besides theArchivedExecutionGraph.default CompletableFuture<ArchivedExecutionGraph>requestJob(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)Requests theArchivedExecutionGraphfor the given jobId.default CompletableFuture<JobResourceRequirements>requestJobResourceRequirements(org.apache.flink.api.common.JobID jobId)Read currentjob resource requirementsfor a given job.CompletableFuture<JobResult>requestJobResult(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)Requests theJobResultof a job specified by the given jobId.default CompletableFuture<org.apache.flink.api.common.JobStatus>requestJobStatus(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)Request theJobStatusof the given job.CompletableFuture<Collection<String>>requestMetricQueryServiceAddresses(org.apache.flink.api.common.time.Time timeout)Requests the addresses of theMetricQueryServiceto query.CompletableFuture<MultipleJobsDetails>requestMultipleJobDetails(org.apache.flink.api.common.time.Time timeout)Requests job details currently being executed on the Flink cluster.CompletableFuture<Collection<org.apache.flink.api.java.tuple.Tuple2<ResourceID,String>>>requestTaskManagerMetricQueryServiceAddresses(org.apache.flink.api.common.time.Time timeout)Requests the addresses for the TaskManagers'MetricQueryServiceto query.CompletableFuture<ThreadDumpInfo>requestThreadDump(org.apache.flink.api.common.time.Time timeout)Requests the thread dump from the JobManager.default CompletableFuture<Acknowledge>shutDownCluster()default CompletableFuture<Acknowledge>stopWithSavepoint(AsynchronousJobOperationKey operationKey, String targetDirectory, org.apache.flink.core.execution.SavepointFormatType formatType, TriggerSavepointMode savepointMode, org.apache.flink.api.common.time.Time timeout)Stops the job with a savepoint, returning a future that completes when the operation is started.default CompletableFuture<Acknowledge>triggerCheckpoint(AsynchronousJobOperationKey operationKey, org.apache.flink.core.execution.CheckpointType checkpointType, org.apache.flink.api.common.time.Time timeout)Triggers a checkpoint with the given savepoint directory as a target.default CompletableFuture<Acknowledge>triggerSavepoint(AsynchronousJobOperationKey operationKey, String targetDirectory, org.apache.flink.core.execution.SavepointFormatType formatType, TriggerSavepointMode savepointMode, org.apache.flink.api.common.time.Time timeout)Triggers a savepoint with the given savepoint directory as a target, returning a future that completes when the operation is started.default CompletableFuture<Acknowledge>updateJobResourceRequirements(org.apache.flink.api.common.JobID jobId, JobResourceRequirements jobResourceRequirements)Updatejob resource requirementsfor a given job.
-
-
-
Method Detail
-
cancelJob
CompletableFuture<Acknowledge> cancelJob(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)
Cancel the given job.- Parameters:
jobId- identifying the job to canceltimeout- of the operation- Returns:
- A future acknowledge if the cancellation succeeded
-
requestJob
default CompletableFuture<ArchivedExecutionGraph> requestJob(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)
Requests theArchivedExecutionGraphfor the given jobId. If there is no such graph, then the future is completed with aFlinkJobNotFoundException.- Parameters:
jobId- identifying the job whoseArchivedExecutionGraphis requestedtimeout- for the asynchronous operation- Returns:
- Future containing the
ArchivedExecutionGraphfor the given jobId, otherwiseFlinkJobNotFoundException
-
requestExecutionGraphInfo
CompletableFuture<ExecutionGraphInfo> requestExecutionGraphInfo(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)
Requests theExecutionGraphInfocontaining additional information besides theArchivedExecutionGraph. If there is no such graph, then the future is completed with aFlinkJobNotFoundException.- Parameters:
jobId- identifying the job whoseExecutionGraphInfois requestedtimeout- for the asynchronous operation- Returns:
- Future containing the
ExecutionGraphInfofor the given jobId, otherwiseFlinkJobNotFoundException
-
requestCheckpointStats
CompletableFuture<CheckpointStatsSnapshot> requestCheckpointStats(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)
Requests theCheckpointStatsSnapshotcontaining checkpointing information.- Parameters:
jobId- identifying the job whoseCheckpointStatsSnapshotis requestedtimeout- for the asynchronous operation- Returns:
- Future containing the
CheckpointStatsSnapshotfor the given jobId
-
requestJobResult
CompletableFuture<JobResult> requestJobResult(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)
Requests theJobResultof a job specified by the given jobId.
-
requestMultipleJobDetails
CompletableFuture<MultipleJobsDetails> requestMultipleJobDetails(org.apache.flink.api.common.time.Time timeout)
Requests job details currently being executed on the Flink cluster.- Parameters:
timeout- for the asynchronous operation- Returns:
- Future containing the job details
-
requestClusterOverview
CompletableFuture<ClusterOverview> requestClusterOverview(org.apache.flink.api.common.time.Time timeout)
Requests the cluster status overview.- Parameters:
timeout- for the asynchronous operation- Returns:
- Future containing the status overview
-
requestMetricQueryServiceAddresses
CompletableFuture<Collection<String>> requestMetricQueryServiceAddresses(org.apache.flink.api.common.time.Time timeout)
Requests the addresses of theMetricQueryServiceto query.- Parameters:
timeout- for the asynchronous operation- Returns:
- Future containing the collection of metric query service addresses to query
-
requestTaskManagerMetricQueryServiceAddresses
CompletableFuture<Collection<org.apache.flink.api.java.tuple.Tuple2<ResourceID,String>>> requestTaskManagerMetricQueryServiceAddresses(org.apache.flink.api.common.time.Time timeout)
Requests the addresses for the TaskManagers'MetricQueryServiceto query.- Parameters:
timeout- for the asynchronous operation- Returns:
- Future containing the collection of instance ids and the corresponding metric query service address
-
requestThreadDump
CompletableFuture<ThreadDumpInfo> requestThreadDump(org.apache.flink.api.common.time.Time timeout)
Requests the thread dump from the JobManager.- Parameters:
timeout- timeout of the asynchronous operation- Returns:
- Future containing the thread dump information
-
triggerCheckpoint
default CompletableFuture<Acknowledge> triggerCheckpoint(AsynchronousJobOperationKey operationKey, org.apache.flink.core.execution.CheckpointType checkpointType, org.apache.flink.api.common.time.Time timeout)
Triggers a checkpoint with the given savepoint directory as a target.- Parameters:
operationKey- the key of the operation, for deduplication purposescheckpointType- checkpoint backup type (configured / full / incremental)timeout- Timeout for the asynchronous operation- Returns:
- A future to the
external pointerof the savepoint.
-
getTriggeredCheckpointStatus
default CompletableFuture<OperationResult<Long>> getTriggeredCheckpointStatus(AsynchronousJobOperationKey operationKey)
Get the status of a checkpoint triggered under the specified operation key.- Parameters:
operationKey- key of the operation- Returns:
- Future which completes immediately with the status, or fails if no operation is registered for the key
-
triggerSavepoint
default CompletableFuture<Acknowledge> triggerSavepoint(AsynchronousJobOperationKey operationKey, String targetDirectory, org.apache.flink.core.execution.SavepointFormatType formatType, TriggerSavepointMode savepointMode, org.apache.flink.api.common.time.Time timeout)
Triggers a savepoint with the given savepoint directory as a target, returning a future that completes when the operation is started.- Parameters:
operationKey- the key of the operation, for deduplication purposestargetDirectory- Target directory for the savepoint.formatType- Binary format of the savepoint.savepointMode- context of the savepoint operationtimeout- Timeout for the asynchronous operation- Returns:
- Future which is completed once the operation is triggered successfully
-
stopWithSavepoint
default CompletableFuture<Acknowledge> stopWithSavepoint(AsynchronousJobOperationKey operationKey, String targetDirectory, org.apache.flink.core.execution.SavepointFormatType formatType, TriggerSavepointMode savepointMode, org.apache.flink.api.common.time.Time timeout)
Stops the job with a savepoint, returning a future that completes when the operation is started.- Parameters:
operationKey- key of the operation, for deduplicationtargetDirectory- Target directory for the savepoint.formatType- Binary format of the savepoint.savepointMode- context of the savepoint operationtimeout- for the rpc call- Returns:
- Future which is completed once the operation is triggered successfully
-
getTriggeredSavepointStatus
default CompletableFuture<OperationResult<String>> getTriggeredSavepointStatus(AsynchronousJobOperationKey operationKey)
Get the status of a savepoint triggered under the specified operation key.- Parameters:
operationKey- key of the operation- Returns:
- Future which completes immediately with the status, or fails if no operation is registered for the key
-
disposeSavepoint
default CompletableFuture<Acknowledge> disposeSavepoint(String savepointPath, org.apache.flink.api.common.time.Time timeout)
Dispose the given savepoint.- Parameters:
savepointPath- identifying the savepoint to disposetimeout- RPC timeout- Returns:
- A future acknowledge if the disposal succeeded
-
requestJobStatus
default CompletableFuture<org.apache.flink.api.common.JobStatus> requestJobStatus(org.apache.flink.api.common.JobID jobId, org.apache.flink.api.common.time.Time timeout)
Request theJobStatusof the given job.- Parameters:
jobId- identifying the job for which to retrieve the JobStatustimeout- for the asynchronous operation- Returns:
- A future to the
JobStatusof the given job
-
shutDownCluster
default CompletableFuture<Acknowledge> shutDownCluster()
-
deliverCoordinationRequestToCoordinator
default CompletableFuture<CoordinationResponse> deliverCoordinationRequestToCoordinator(org.apache.flink.api.common.JobID jobId, OperatorID operatorId, org.apache.flink.util.SerializedValue<CoordinationRequest> serializedRequest, org.apache.flink.api.common.time.Time timeout)
Deliver a coordination request to a specified coordinator and return the response.- Parameters:
jobId- identifying the job which the coordinator belongs tooperatorId- identifying the coordinator to receive the requestserializedRequest- serialized request to delivertimeout- RPC timeout- Returns:
- A future containing the response. The response will fail with a
FlinkExceptionif the task is not running, or no operator/coordinator exists for the given ID, or the coordinator cannot handle client events.
-
reportJobClientHeartbeat
default CompletableFuture<Void> reportJobClientHeartbeat(org.apache.flink.api.common.JobID jobId, long expiredTimestamp, org.apache.flink.api.common.time.Time timeout)
The client reports the heartbeat to the dispatcher for aliveness.
-
requestJobResourceRequirements
default CompletableFuture<JobResourceRequirements> requestJobResourceRequirements(org.apache.flink.api.common.JobID jobId)
Read currentjob resource requirementsfor a given job.- Parameters:
jobId- job to read the resource requirements for- Returns:
- Future which that contains current resource requirements.
-
updateJobResourceRequirements
default CompletableFuture<Acknowledge> updateJobResourceRequirements(org.apache.flink.api.common.JobID jobId, JobResourceRequirements jobResourceRequirements)
Updatejob resource requirementsfor a given job. When the returned future is complete the requirements have been updated and were persisted in HA, but the job may not have been rescaled (yet).- Parameters:
jobId- job the given requirements belong tojobResourceRequirements- new resource requirements for the job- Returns:
- Future which is completed successfully when requirements are updated
-
-