Class ClusterClientJobClientAdapter<ClusterID>
- java.lang.Object
-
- org.apache.flink.client.deployment.ClusterClientJobClientAdapter<ClusterID>
-
- All Implemented Interfaces:
JobClient
,CoordinationRequestGateway
public class ClusterClientJobClientAdapter<ClusterID> extends Object implements JobClient, CoordinationRequestGateway
An implementation of theJobClient
interface that uses aClusterClient
underneath..
-
-
Constructor Summary
Constructors Constructor Description ClusterClientJobClientAdapter(ClusterClientProvider<ClusterID> clusterClientProvider, JobID jobID, ClassLoader classLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletableFuture<Void>
cancel()
Cancels the associated job.CompletableFuture<Map<String,Object>>
getAccumulators()
Requests the accumulators of the associated job.CompletableFuture<JobExecutionResult>
getJobExecutionResult()
Returns theresult of the job execution
of the submitted job.JobID
getJobID()
Returns theJobID
that uniquely identifies the job this client is scoped to.CompletableFuture<JobStatus>
getJobStatus()
Requests theJobStatus
of the associated job.void
reportHeartbeat(long expiredTimestamp)
The client reports the heartbeat to the dispatcher for aliveness.CompletableFuture<CoordinationResponse>
sendCoordinationRequest(String operatorUid, CoordinationRequest request)
Send out a request to a specified coordinator and return the response.CompletableFuture<String>
stopWithSavepoint(boolean advanceToEndOfEventTime, String savepointDirectory, SavepointFormatType formatType)
Stops the associated job on Flink cluster.CompletableFuture<String>
triggerSavepoint(String savepointDirectory, SavepointFormatType formatType)
Triggers a savepoint for the associated job.
-
-
-
Constructor Detail
-
ClusterClientJobClientAdapter
public ClusterClientJobClientAdapter(ClusterClientProvider<ClusterID> clusterClientProvider, JobID jobID, ClassLoader classLoader)
-
-
Method Detail
-
getJobID
public JobID getJobID()
Description copied from interface:JobClient
Returns theJobID
that uniquely identifies the job this client is scoped to.
-
getJobStatus
public CompletableFuture<JobStatus> getJobStatus()
Description copied from interface:JobClient
Requests theJobStatus
of the associated job.- Specified by:
getJobStatus
in interfaceJobClient
-
cancel
public CompletableFuture<Void> cancel()
Description copied from interface:JobClient
Cancels the associated job.
-
stopWithSavepoint
public CompletableFuture<String> stopWithSavepoint(boolean advanceToEndOfEventTime, @Nullable String savepointDirectory, SavepointFormatType formatType)
Description copied from interface:JobClient
Stops the associated job on Flink cluster.Stopping works only for streaming programs. Be aware, that the job might continue to run for a while after sending the stop command, because after sources stopped to emit data all operators need to finish processing.
- Specified by:
stopWithSavepoint
in interfaceJobClient
- Parameters:
advanceToEndOfEventTime
- flag indicating if the source should inject aMAX_WATERMARK
in the pipelinesavepointDirectory
- directory the savepoint should be written toformatType
- binary format of the savepoint- Returns:
- a
CompletableFuture
containing the path where the savepoint is located
-
triggerSavepoint
public CompletableFuture<String> triggerSavepoint(@Nullable String savepointDirectory, SavepointFormatType formatType)
Description copied from interface:JobClient
Triggers a savepoint for the associated job. The savepoint will be written to the given savepoint directory, orCheckpointingOptions.SAVEPOINT_DIRECTORY
if it is null.- Specified by:
triggerSavepoint
in interfaceJobClient
- Parameters:
savepointDirectory
- directory the savepoint should be written toformatType
- binary format of the savepoint- Returns:
- a
CompletableFuture
containing the path where the savepoint is located
-
getAccumulators
public CompletableFuture<Map<String,Object>> getAccumulators()
Description copied from interface:JobClient
Requests the accumulators of the associated job. Accumulators can be requested while it is running or after it has finished. The class loader is used to deserialize the incoming accumulator results.- Specified by:
getAccumulators
in interfaceJobClient
-
getJobExecutionResult
public CompletableFuture<JobExecutionResult> getJobExecutionResult()
Description copied from interface:JobClient
Returns theresult of the job execution
of the submitted job.- Specified by:
getJobExecutionResult
in interfaceJobClient
-
sendCoordinationRequest
public CompletableFuture<CoordinationResponse> sendCoordinationRequest(String operatorUid, CoordinationRequest request)
Description copied from interface:CoordinationRequestGateway
Send out a request to a specified coordinator and return the response.On the client side, a unique operatorUid must be defined to identify an operator. Otherwise, the query cannot be executed correctly. Note that we use operatorUid instead of operatorID because the latter is an internal runtime concept that cannot be recognized by the client.
- Specified by:
sendCoordinationRequest
in interfaceCoordinationRequestGateway
- Parameters:
operatorUid
- specifies which coordinator to receive the requestrequest
- the request to send- Returns:
- the response from the coordinator
-
reportHeartbeat
public void reportHeartbeat(long expiredTimestamp)
Description copied from interface:JobClient
The client reports the heartbeat to the dispatcher for aliveness.- Specified by:
reportHeartbeat
in interfaceJobClient
-
-