title: Flink 1.12.2 modifying savepoint locally - metadata has absolute paths
body: <p>I'm trying to modify an existing savepoint, created with flink 1.12.2 &amp; ververica 2.4.1, that was saved on S3.</p>
  <p>The steps that I took are the following:</p>
  <ol>
  <li>Copied the savepoint containing the '_metadata' and savepoint files from S3 to my local machine;</li>
  <li>Opened the flink state and read the state of the operator I'm interested in;</li>
  <li>Created and amended the dataset that I want to replace the state of that operator with ;</li>
  <li>Trying to amend the state with the following code</li>
  </ol>
  <pre><code>BootstrapTransformation&lt;AccountRegistrationInformation&gt; transformation = OperatorTransformation
                      .bootstrapWith(accountDataSet)
                      .keyBy(acc -&gt; acc.getBrand() + &quot;-&quot; + acc.getAccountId())
                      .transform(new AccountRegistrationBootstrapper());
  Savepoint.load(executionEnvironment, &quot;C:\\flinkState&quot;, new MemoryStateBackend())
                      .removeOperator(&quot;registration-processor&quot;)
                      .withOperator(&quot;registration-processor&quot;, transformation)
                      .write(&quot;C:\\flinkState\\transformed&quot;);
              executionEnvironment.execute();
  </code></pre>
  <p>When running the above code, it amends a subset of the dataset and flink throws the following exception.</p>
  <pre><code>Caused by: java.io.FileNotFoundException: \&lt;redacted&gt;\savepoint-c680a3-c178150a8b8d\32c44059-1f59-4091-bcb5-3e1efa369ec6 (The system cannot find the path specified)
  </code></pre>
  <p>When inspecting the _metadata, I noticed that it has absolute paths in S3:</p>
  <pre><code>s3://&lt;redacted&gt;/savepoint-c680a3-c178150a8b8d/32c44059-1f59-4091-bcb5-3e1efa369ec6
  </code></pre>
  <p>What I want is to save the amended savepoint to my local machine and then move that savepoint over to S3 manually so that flink can start with the amended state.</p>
  <p>Can anybody share their experience with this?</p>
  <p>Full exception:</p>
  <pre><code>10:09:25,169 INFO  org.apache.flink.runtime.state.heap.HeapKeyedStateBackend    [] - Initializing heap keyed state backend with stream factory.
  10:09:25,170 INFO  org.apache.flink.runtime.state.heap.HeapKeyedStateBackendBuilder [] - Finished to build heap keyed state-backend.
  10:09:25,171 INFO  org.apache.flink.runtime.state.heap.HeapKeyedStateBackend    [] - Initializing heap keyed state backend with stream factory.
  10:09:25,176 INFO  org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate [] - Converting recovered input channels (1 channels)
  10:09:25,178 ERROR org.apache.flink.runtime.operators.DataSinkTask              [] - Error in user code: \&lt;redacted&gt;\savepoints\d18b311a-86e8-4406-93b5-f2b398c4257f\savepoint-c680a3-c178150a8b8d\32c44059-1f59-4091-bcb5-3e1efa369ec6 (The system cannot find the path specified):  DataSink (org.apache.flink.state.api.output.FileCopyFunction@da28d03) (1/1)
  java.io.FileNotFoundException: \&lt;redacted&gt;\savepoints\d18b311a-86e8-4406-93b5-f2b398c4257f\savepoint-c680a3-c178150a8b8d\32c44059-1f59-4091-bcb5-3e1efa369ec6 (The system cannot find the path specified)
      at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_282]
      at java.io.FileInputStream.open(FileInputStream.java:195) ~[?:1.8.0_282]
      at java.io.FileInputStream.&lt;init&gt;(FileInputStream.java:138) ~[?:1.8.0_282]
      at org.apache.flink.core.fs.local.LocalDataInputStream.&lt;init&gt;(LocalDataInputStream.java:50) ~[flink-core-1.12.2.jar:1.12.2]
      at org.apache.flink.core.fs.local.LocalFileSystem.open(LocalFileSystem.java:134) ~[flink-core-1.12.2.jar:1.12.2]
      at org.apache.flink.core.fs.SafetyNetWrapperFileSystem.open(SafetyNetWrapperFileSystem.java:87) ~[flink-core-1.12.2.jar:1.12.2]
      at org.apache.flink.state.api.output.FileCopyFunction.writeRecord(FileCopyFunction.java:61) ~[flink-state-processor-api_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.state.api.output.FileCopyFunction.writeRecord(FileCopyFunction.java:34) ~[flink-state-processor-api_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.runtime.operators.DataSinkTask.invoke(DataSinkTask.java:235) [flink-runtime_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:755) [flink-runtime_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.runtime.taskmanager.Task.run(Task.java:570) [flink-runtime_2.11-1.12.2.jar:1.12.2]
      at java.lang.Thread.run(Thread.java:748) [?:1.8.0_282]
  10:09:25,223 WARN  org.apache.flink.runtime.taskmanager.Task                    [] - DataSink (org.apache.flink.state.api.output.FileCopyFunction@da28d03) (1/1)#0 (d4b998c90a0fc21a64f463b6476e85aa) switched from RUNNING to FAILED.
  java.io.FileNotFoundException: \&lt;redacted&gt;\savepoints\d18b311a-86e8-4406-93b5-f2b398c4257f\savepoint-c680a3-c178150a8b8d\32c44059-1f59-4091-bcb5-3e1efa369ec6 (The system cannot find the path specified)
      at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_282]
      at java.io.FileInputStream.open(FileInputStream.java:195) ~[?:1.8.0_282]
      at java.io.FileInputStream.&lt;init&gt;(FileInputStream.java:138) ~[?:1.8.0_282]
      at org.apache.flink.core.fs.local.LocalDataInputStream.&lt;init&gt;(LocalDataInputStream.java:50) ~[flink-core-1.12.2.jar:1.12.2]
      at org.apache.flink.core.fs.local.LocalFileSystem.open(LocalFileSystem.java:134) ~[flink-core-1.12.2.jar:1.12.2]
      at org.apache.flink.core.fs.SafetyNetWrapperFileSystem.open(SafetyNetWrapperFileSystem.java:87) ~[flink-core-1.12.2.jar:1.12.2]
      at org.apache.flink.state.api.output.FileCopyFunction.writeRecord(FileCopyFunction.java:61) ~[flink-state-processor-api_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.state.api.output.FileCopyFunction.writeRecord(FileCopyFunction.java:34) ~[flink-state-processor-api_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.runtime.operators.DataSinkTask.invoke(DataSinkTask.java:235) ~[flink-runtime_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:755) [flink-runtime_2.11-1.12.2.jar:1.12.2]
      at org.apache.flink.runtime.taskmanager.Task.run(Task.java:570) [flink-runtime_2.11-1.12.2.jar:1.12.2]
  10:09:25,224 INFO  org.apache.flink.runtime.taskmanager.Task                    [] - Freeing task resources for DataSink (org.apache.flink.state.api.output.FileCopyFunction@da28d03) (1/1)#0 (d4b998c90a0fc21a64f463b6476e85aa).
  10:09:25,255 INFO  org.apache.flink.runtime.taskmanager.Task                    [] - MapPartition (2861c3d1e95af557df2962264aaf94ef) (6/8)#0 (ab4fcd08aa51c77eec1ac6d3c9fba2d3) switched from RUNNING to FINISHED.
  10:09:25,255 INFO  org.apache.flink.runtime.taskmanager.Task                    [] - Freeing task resources for MapPartition (2861c3d1e95af557df2962264aaf94ef) (6/8)#0 (ab4fcd08aa51c77eec1ac6d3c9fba2d3).
  10:09:25,255 INFO  org.apache.flink.runtime.taskmanager.Task                    [] - MapPartition (2861c3d1e95af557df2962264aaf94ef) (8/8)#0 (c0105262e4e271633df686c1b09476a9) switched from RUNNING to FINISHED.
  10:09:25,256 INFO  org.apache.flink.runtime.taskmanager.Task                    [] - Freeing task resources for MapPartition (2861c3d1e95af557df2962264aaf94ef) (8/8)#0 (c0105262e4e271633df686c1b09476a9).
  </code></pre>