flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aljoscha <...@git.apache.org>
Subject [GitHub] flink pull request #2732: [FLINK-4272] Create a JobClient for job control an...
Date Tue, 22 Nov 2016 16:37:43 GMT
Github user aljoscha commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2732#discussion_r89156639
  
    --- Diff: flink-core/src/main/java/org/apache/flink/api/common/JobClient.java ---
    @@ -0,0 +1,70 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.flink.api.common;
    +
    +import java.util.Map;
    +
    +/*
    + * An Flink job client interface to interact with running Flink jobs.
    + */
    +public interface JobClient {
    +
    +	/**
    +	 * Gets the JobID associated with this JobClient.
    +	 */
    +	JobID getJobID();
    +
    +	/**
    +	 * Returns a boolean indicating whether the job execution has finished.
    +	 */
    +	boolean hasFinished() throws Exception;
    +
    +	/**
    +	 * Blocks until the result of the job execution is returned.
    +	 */
    +	JobExecutionResult waitForResult() throws Exception;
    +
    +	/**
    +	 * Gets the accumulator map of a running job.
    +	 */
    +	Map<String, Object> getAccumulators() throws Exception;
    +
    +	/**
    +	 * Cancels a running job.
    +	 */
    +	void cancel() throws Exception;
    +
    +	/**
    +	 * Stops a running job if the job supports stopping.
    +	 */
    +	void stop() throws Exception;
    +
    +	/**
    +	 * Adds a Runnable to this JobClient to be called
    +	 * when the client is shut down. Runnables are called
    +	 * in the order they are added.
    +	 */
    +	void addFinalizer(Runnable finalizer) throws Exception;
    +
    +	/**
    +	 * Runs finalization code to shutdown the client
    +	 * and its dependencies.
    +	 */
    +	void shutdown();
    --- End diff --
    
    But now there's `cancel()`, `stop()` and `shutdown()` which might be quite confusing for
users. And nothing is done in `shutdown()` except calling the finalizers right now, correct?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message