Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
With the new Flip-6 architecture, the client will communicate with the cluster in a RESTful manner.
The cluster shall support the following REST calls:
- List jobs (GET): Get list of all running jobs on the cluster
- Submit job (POST): Submit a job to the cluster (only supported in session mode)
- Lookup job leader (GET): Gets the JM leader for the given job
- Get job status (GET): Get the status of an executed job (and maybe the JobExecutionResult)
- Cancel job (PUT): Cancel the given job
- Stop job (PUT): Stops the given job
- Take savepoint (POST): Take savepoint for given job (How to return the savepoint under which the savepoint was stored? Maybe always having to specify a path)
- Get KV state (GET): Gets the KV state for the given job and key (Queryable state)
- Poll/subscribe to notifications for job (GET, WebSocket): Polls new notifications from the execution of the given job/Opens WebSocket to receive notifications
The first four REST calls will be served by the REST endpoint running in the application master/cluster entrypoint. The other calls will be served by a REST endpoint running along side to the JobManager.
Detailed information about different implementations and their pros and cons can be found in this document:
https://docs.google.com/document/d/1eIX6FS9stwraRdSUgRSuLXC1sL7NAmxtuqIXe_jSi-k/edit?usp=sharing
The implementation will most likely be Netty based.
Attachments
Issue Links
- contains
-
FLINK-6387 Flink UI support access log
- Closed
- is a child of
-
FLINK-7073 Create RESTful JobManager endpoint
- Closed
- links to
1.
|
Create RESTful client | Closed | Chesnay Schepler | |
2.
|
Create RESTful cluster endpoint | Closed | Chesnay Schepler | |
3.
|
Enrich ClientRestException with HttpResponseStatus | Closed | Till Rohrmann | |
4.
|
Create WebSocket handler (server) | Closed | Unassigned | |
5.
|
RedirectHandler should execute on the IO thread | Resolved | Eron Wright | |
6.
|
Integrate savepoint command into REST client | Closed | Gary Yao | |
7.
|
Integrate list command into REST client | Closed | Till Rohrmann | |
8.
|
Integrate LIST command into REST client | Closed | Chesnay Schepler | |
9.
|
Don't use PipelineErrorHandler on the client | Closed | Unassigned | |
10.
|
Extend AbstractRestHandler to return response headers | Closed | Unassigned | |
11.
|
Create RestHandler for long running operations | Closed | Unassigned | |
12.
|
Expose JobExecutionResult via HTTP | Closed | Gary Yao | |
13.
|
Retrieve ExecutionResult by REST polling | Resolved | Gary Yao |