/** * Request the file upload from the given {@link TaskExecutor} to the cluster's {@link BlobServer}. The * corresponding {@link TransientBlobKey} is returned. * * @param taskManagerId identifying the {@link TaskExecutor} to upload the specified file * @param fileType type of the file to upload * @param timeout for the asynchronous operation * @return Future which is completed with the {@link TransientBlobKey} after uploading the file to the * {@link BlobServer}. */ CompletableFuture<TransientBlobKey> requestTaskManagerFileUpload(ResourceID taskManagerId, FileType fileType, @RpcTimeout Time timeout); }
/** * Returns the port of the blob server. * * @param timeout of the operation * @return A future integer of the blob server port */ CompletableFuture<Integer> getBlobServerPort(@RpcTimeout Time timeout);
/** * Submit a {@link Task} to the {@link TaskExecutor}. * * @param tdd describing the task to submit * @param jobMasterId identifying the submitting JobMaster * @param timeout of the submit operation * @return Future acknowledge of the successful operation */ CompletableFuture<Acknowledge> submitTask( TaskDeploymentDescriptor tdd, JobMasterId jobMasterId, @RpcTimeout Time timeout);
/** * Requests the file upload of the specified type to the cluster's {@link BlobServer}. * * @param fileType to upload * @param timeout for the asynchronous operation * @return Future which is completed with the {@link TransientBlobKey} of the uploaded file. */ CompletableFuture<TransientBlobKey> requestFileUpload(FileType fileType, @RpcTimeout Time timeout);
/** * Cancel the given job. * * @param jobId identifying the job to cancel * @param timeout of the operation * @return A future acknowledge if the cancellation succeeded */ CompletableFuture<Acknowledge> cancelJob(JobID jobId, @RpcTimeout Time timeout);
/** * Requests the {@link AccessExecutionGraph} for the given jobId. If there is no such graph, then * the future is completed with a {@link FlinkJobNotFoundException}. * * @param jobId identifying the job whose AccessExecutionGraph is requested * @param timeout for the asynchronous operation * @return Future containing the AccessExecutionGraph for the given jobId, otherwise {@link FlinkJobNotFoundException} */ CompletableFuture<? extends AccessExecutionGraph> requestJob(JobID jobId, @RpcTimeout Time timeout);
/** * Triggers rescaling of the executed job. * * @param newParallelism new parallelism of the job * @param rescalingBehaviour defining how strict the rescaling has to be executed * @param timeout of this operation * @return Future which is completed with {@link Acknowledge} once the rescaling was successful */ CompletableFuture<Acknowledge> rescaleJob( int newParallelism, RescalingBehaviour rescalingBehaviour, @RpcTimeout Time timeout);
/** * Requests the {@link ArchivedExecutionGraph} of the executed job. * * @param timeout for the rpc call * @return Future which is completed with the {@link ArchivedExecutionGraph} of the executed job */ CompletableFuture<ArchivedExecutionGraph> requestJob(@RpcTimeout Time timeout);
/** * Cancel the given job. * * @param jobId identifying the job to cancel * @param timeout of the operation * @return A future acknowledge if the cancellation succeeded */ CompletableFuture<Acknowledge> cancelJob(JobID jobId, @RpcTimeout Time timeout);
/** * Requests the {@link JobResult} of a job specified by the given jobId. * * @param jobId identifying the job for which to retrieve the {@link JobResult}. * @param timeout for the asynchronous operation * @return Future which is completed with the job's {@link JobResult} once the job has finished */ CompletableFuture<JobResult> requestJobResult(JobID jobId, @RpcTimeout Time timeout);
/** * Requests the paths for the TaskManager's {@link MetricQueryService} to query. * * @param timeout for the asynchronous operation * @return Future containing the collection of instance ids and the corresponding metric query service path */ CompletableFuture<Collection<Tuple2<ResourceID, String>>> requestTaskManagerMetricQueryServicePaths(@RpcTimeout Time timeout);
/** * Requests information about the given {@link TaskExecutor}. * * @param taskManagerId identifying the TaskExecutor for which to return information * @param timeout of the request * @return Future TaskManager information */ CompletableFuture<TaskManagerInfo> requestTaskManagerInfo(ResourceID taskManagerId, @RpcTimeout Time timeout);
/** * Request the file upload from the given {@link TaskExecutor} to the cluster's {@link BlobServer}. The * corresponding {@link TransientBlobKey} is returned. * * @param taskManagerId identifying the {@link TaskExecutor} to upload the specified file * @param fileType type of the file to upload * @param timeout for the asynchronous operation * @return Future which is completed with the {@link TransientBlobKey} after uploading the file to the * {@link BlobServer}. */ CompletableFuture<TransientBlobKey> requestTaskManagerFileUpload(ResourceID taskManagerId, FileType fileType, @RpcTimeout Time timeout); }
/** * Frees the slot with the given allocation ID. * * @param allocationId identifying the slot to free * @param cause of the freeing operation * @param timeout for the operation * @return Future acknowledge which is returned once the slot has been freed */ CompletableFuture<Acknowledge> freeSlot( final AllocationID allocationId, final Throwable cause, @RpcTimeout final Time timeout);
/** * Request jmx port from the given {@link TaskExecutor}. * @param taskManagerId * @param timeout * @return */ CompletableFuture<Tuple2<String, Long>> requestJmx(ResourceID taskManagerId, @RpcTimeout Time timeout);
/** * Request the details of the executed job. * * @param timeout for the rpc call * @return Future details of the executed job */ CompletableFuture<JobDetails> requestJobDetails(@RpcTimeout Time timeout);
/** * Requests the {@link JobResult} of a job specified by the given jobId. * * @param jobId identifying the job for which to retrieve the {@link JobResult}. * @param timeout for the asynchronous operation * @return Future which is completed with the job's {@link JobResult} once the job has finished */ CompletableFuture<JobResult> requestJobResult(JobID jobId, @RpcTimeout Time timeout);
/** * Requests the cluster status overview. * * @param timeout for the asynchronous operation * @return Future containing the status overview */ CompletableFuture<ClusterOverview> requestClusterOverview(@RpcTimeout Time timeout);
/** * Submit a {@link Task} to the {@link TaskExecutor}. * * @param tdd describing the task to submit * @param jobMasterId identifying the submitting JobMaster * @param timeout of the submit operation * @return Future acknowledge of the successful operation */ CompletableFuture<Acknowledge> submitTask( TaskDeploymentDescriptor tdd, JobMasterId jobMasterId, @RpcTimeout Time timeout);
/** * Update the task where the given partitions can be found. * * @param executionAttemptID identifying the task * @param partitionInfos telling where the partition can be retrieved from * @param timeout for the update partitions operation * @return Future acknowledge if the partitions have been successfully updated */ CompletableFuture<Acknowledge> updatePartitions( ExecutionAttemptID executionAttemptID, Iterable<PartitionInfo> partitionInfos, @RpcTimeout Time timeout);