Re: Rest API cancel-with-savepoint: 404s when passing path as target-directory

Posted by Eron Wright on
URL: http://deprecated-apache-flink-user-mailing-list-archive.369.s1.nabble.com/Rest-API-cancel-with-savepoint-404s-when-passing-path-as-target-directory-tp15685p15722.html

Good news, it can be done if you carefully encode the target directory with percent-encoding, as per:
https://tools.ietf.org/html/rfc3986#section-2.1

For example, given the directory `s3:///savepoint-bucket/my-awesome-job`, which encodes to `s3%3A%2F%2F%2Fsavepoint-bucket%2Fmy-awesome-job`, I was able to submit the following URL:
http://localhost:8081/jobs/5c360ded6e4b7d8db103e71d68b7c83d/cancel-with-savepoint/target-directory/s3%3A%2F%2F%2Fsavepoint-bucket%2Fmy-awesome-job

And see the following in the log:
2017-09-19 14:27:45,939 INFO  org.apache.flink.runtime.jobmanager.JobManager                - Trying to cancel job 5c360ded6e4b7d8db103e71d68b7c83d with savepoint to s3:///savepoint-bucket/my-awesome-job

-Eron

On Tue, Sep 19, 2017 at 1:54 PM, Fabian Hueske <[hidden email]> wrote:
Hi Emily,

thanks for reaching out.
I'm not familiar with the details of the Rest API but Ufuk (in CC) might be able to help you.

Best, Fabian

2017-09-19 10:23 GMT+02:00 Emily McMahon <[hidden email]>:
I've tried every combination I can think of to pass an s3 path as the target directory (url encode, include trailing slash, etc)

I can successfully pass a local path as the target directory (ie /jobs/$jobID/cancel-with-savepoint/target-directory/tmp) so I don't think there's a problem with the jobId or rest of the url. I also verified I can create the savepoint on s3 from the command line so it's not a permission issue.

Here's the same question on stack overflow (with the exception that they are getting a 502 whereas I'm getting a 404)

using Flink 1.3.1

Anyone have a working example?

Thanks,
Emily