From 6d8b3f5a1c28ba846352abd6a2750d1ae020fa5a Mon Sep 17 00:00:00 2001 From: Ufuk Celebi Date: Wed, 21 Dec 2016 12:24:35 +0100 Subject: [PATCH] [FLINK-5377] [docs] Stress importance of UIDs for savepoints --- docs/fig/savepoints-overview.png | Bin 62824 -> 0 bytes docs/fig/savepoints-program_ids.png | Bin 55492 -> 0 bytes docs/setup/savepoints.md | 177 ++++++++++++++++++++++------ 3 files changed, 138 insertions(+), 39 deletions(-) delete mode 100644 docs/fig/savepoints-overview.png delete mode 100644 docs/fig/savepoints-program_ids.png diff --git a/docs/fig/savepoints-overview.png b/docs/fig/savepoints-overview.png deleted file mode 100644 index c0e7563ecfd53bdaf7e2e18778930a1cef6d6731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62824 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]Dn_e788wo;ZAS< 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 -Programs written in the [Data Stream API](index.html) can resume execution from a **savepoint**. Savepoints allow both updating your programs and your Flink cluster without losing any state. This page covers all steps to trigger, restore, and dispose savepoints. For more details on how Flink handles state and failures, check out the [State in Streaming Programs]({{ site.baseurl }}/ops/state_backends.html) and [Fault Tolerance](fault_tolerance.html) pages. - * toc {:toc} ## Overview -In the example below the workers produce checkpoints **c1**, **c2**, -**c3**, and **c4** for job *0xA312Bc*. Periodic checkpoints **c1** -and **c3** have already been *discarded* and **c4** is the *latest -checkpoint*. **c2 is special**. It is the state associated with the savepoint -**s1** and has been triggered by the user and it doesn't expire automatically (as -c1 and c3 did after the completion of newer checkpoints). +Savepoints are externally stored checkpoints that you can use to stop-and-resume or update your Flink programs. They use Flink's [checkpointing mechanism]({{ site/baseurl }}/internals/stream_checkpointing.html) to create a snapshot of the state of your streaming program and write the checkpoint meta data out to an external file system. + +This page covers all steps involved in triggering, restoring, and disposing savepoints. In order to allow upgrades between programs and Flink versions, it is important to check out the section about [assigning IDs to your operators](#assigning-operator-ids). + +For more details on how Flink handles state and failures in general, check out the [State in Streaming Programs]({{ site.baseurl }}/dev/stream/state.html) page. + +## Assigning Operator IDs + +It is **highly recommended** that you adjust your programs as described in this section in order to be able to upgrade your programs in the future. The main required change is to manually specify operator IDs via the **`uid(String)`** method. These IDs are used to scope the state of each operator. + +{% highlight java %} +DataStream stream = env. + // Stateful source (e.g. Kafka) with ID + .addSource(new StatefulSource()) + .uid("source-id") // ID for the source operator + .shuffle() + // Stateful mapper with ID + .map(new StatefulMapper()) + .uid("mapper-id") // ID for the mapper + // Stateless printing sink + .print(); // Auto-generated ID +{% endhighlight %} + +If you don't specify the IDs manually they will be generated automatically. You can automatically restore from the savepoint as long as these IDs do not change. The generated IDs depend on the structure of your program and are sensitive to program changes. Therefore, it is highly recommended to assign these IDs manually. + +### Savepoint State + +You can think of a savepoint as holding a map of `Operator ID -> State` for each stateful operator: + +``` +Operator ID | State +------------+------------------------ +source-id | State of StatefulSource +mapper-id | State of StatefulMapper +``` + +In the above example, the print sink is stateless and hence not part of the savepoint state. By default, we try to map each entry of the savepoint back to the new program. + +## Operations + +You can use the [command line client]({{ site.baseurl }}/setup/cli.html#savepoints) to *trigger savepoints*, *cancel a job with a savepoint*, *resume from savepoints*, and *dispose savepoints*. + +### Triggering Savepoints + +When triggering a savepoint, a single savepoint file will be created that contains the checkpoint *meta data*. The actual checkpoint state will be kept around in the configured checkpoint directory. For example with a `FsStateBackend` or `RocksDBStateBackend`: + +```sh +# Savepoint file contains the checkpoint meta data +/savepoints/savepoint-123123 + +# Checkpoint directory contains the actual state +/checkpoints/:jobid/chk-:id/... +``` + +The savepoint file is usually much smaller than the actual checkpointed state. Note that if you use the `MemoryStateBackend`, the savepoint file will be self-contained and contain all the state. + +#### Trigger a Savepoint + +```sh +$ bin/flink savepoint :jobId [:targetDirectory] +``` + +This will trigger a savepoint for the job with ID `:jobid`. Furthermore, you can specify a target file system directory to store the savepoint in. The directory needs to be accessible by the JobManager. + +If you don't specify a target directory, you need to have [configured a default directory](#configuration). Otherwise, triggering the savepoint will fail. + +#### Cancel Job with Savepoint - +```sh +$ bin/flink cancel -s [:targetDirectory] :jobId +``` -Note that **s1** is only a **pointer to the actual checkpoint data c2**. This means that the actual state is *not copied* for the savepoint and periodic checkpoint data is kept around. +This will atomically trigger a savepoint for the job with ID `:jobid` and cancel the job. Furthermore, you can specify a target file system directory to store the savepoint in. The directory needs to be accessible by the JobManager. -## Configuration +If you don't specify a target directory, you need to have [configured a default directory](#configuration). Otherwise, cancelling the job with a savepoint will fail. -Savepoints are stored in a configured **file system directory**. They are available between cluster instances and allow you to move your program to another cluster. +### Resuming from Savepoints -
    +```sh
    +$ bin/flink run -s :savepointPath [:runArgs]
    +```
    +
    +This submits a job and specifies the savepoint path. The execution will resume from the respective savepoint state. The savepoint file holds the meta data of a checkpoint and points to the actual checkpoint files. This is why the savepoint file is usually much smaller than the actual checkpoint state.
    +
    +#### Allowing Non-Restored State
    +
    +By default the resume operation will try to map all state of the savepoint back to the program you are restoring with. If you dropped an operator, you can allow to skip state that cannot be mapped to the new program via `--allowNonRestoredState` (short: `-n`) option:
    +
    +```sh
    +$ bin/flink run -s :savepointPath -n [:runArgs]
    +```
    +
    +### Disposing Savepoints
    +
    +```sh
    +$ bin/flink savepoint -d :savepointPath
    +```
    +
    +This disposes the savepoint stored in `:savepointPath`.
    +
    +Note that since savepoints always go to a file system it is possible to also manually delete the savepoint via a regular file system operation. Keep in mind though that the savepoint only stores meta data that points to the actual checkpoint data. Therefore, if you manually want to delete a savepoint, you would have to include the checkpoint files as well. Since there is currently no straight forward way to figure out how a savepoint maps to a checkpoint, it is recommended to use the savepoint tool for this as described above.
    +
    +### Configuration
    +
    +You can configure a default savepoint target directory via the `state.savepoints.dir` key. When triggering savepoints, this directory will be used to store the savepoint meta data. You can overwrite the default by specifying a custom target directory with the trigger commands (see the [`:targetDirectory` argument](#trigger-a-savepoint)).
    +
    +```sh
    +# Default savepoint target directory
     state.savepoints.dir: hdfs:///flink/savepoints
    -
    +``` -**Note**: If you don't configure a specific directory, triggering the savepoint will fail. +If you neither configure a default nor specify a custom target directory, triggering the savepoint will fail. -**Important**: A savepoint is a pointer to a completed checkpoint. That means that the state of a savepoint is not only found in the savepoint file itself, but also needs the actual checkpoint data (e.g. in a set of further files). +## F.A.Q -## Changes to your program +### Should I assign IDs to all operators in my job? -Savepoints **work out of the box**, but it is **highly recommended** that you slightly adjust your programs in order to be able to work with savepoints in future versions of your program. +As a rule of thumb, yes. Strictly speaking, it is sufficient to only assign IDs via the `uid` method to the stateful operators in your job. The savepoint only contains state for these operators and stateless operator are not part of the savepoint. - +In practice, it is recommended to assign it to all operators, because some of Flink's built-in operators like the Window operator are also stateful and it is not obvious which built-in operators are actually stateful and which are not. If you are absolutely certain that an operator is stateless, you can skip the `uid` method. -For savepoints **only stateful tasks matter**. In the above example, the source and map tasks are stateful whereas the sink is not stateful. Therefore, only the state of the source and map tasks are part of the savepoint. +### Why is the savepoint file so small? -Each task is identified by its **generated task IDs** and **subtask index**. In the above example the state of the source (**s1**, **s2**) and map tasks (**m1**, **m2**) is identified by their respective task ID (*0xC322EC* for the source tasks and *0x27B3EF* for the map tasks) and subtask index. There is no state for the sinks (**t1**, **t2**). Their IDs therefore do not matter. +The savepoint file only contains the meta data of the checkpoint and has pointers to the checkpoint state, which is usually much larger. In case of using the `MemoryStateBackend`, the checkpoint will include all state, but is constrained by the backend to small state. -Important The IDs are generated **deterministically** from your program structure. This means that as long as your program does not change, the IDs do not change. **The only allowed changes are within the user function, e.g. you can change the implemented `MapFunction` without changing the topology**. In this case, it is straight forward to restore the state from a savepoint by mapping it back to the same task IDs and subtask indexes. This allows you to work with savepoints out of the box, but gets problematic as soon as you make changes to the topology, because they result in changed IDs and the savepoint state cannot be mapped to your program any more. +### What happens if I add a new operator that requires state to my job? -Recommended In order to be able to change your program and **have fixed IDs**, the *DataStream* API provides a method to manually specify the task IDs. Each operator provides a **`uid(String)`** method to override the generated ID. The ID is a String, which will be deterministically hashed to a 16-byte hash value. It is **important** that the specified IDs are **unique per transformation and job**. If this is not the case, job submission will fail. +When you add a new operator to your job it will be initialized without any state. Savepoints contain the state of each stateful operator. Stateless operators are simply not part of the savepoint. The new operator behaves similar to a stateless operator. -{% highlight scala %} -DataStream stream = env. - // Stateful source (e.g. Kafka) with ID - .addSource(new StatefulSource()) - .uid("source-id") - .shuffle() - // The stateful mapper with ID - .map(new StatefulMapper()) - .uid("mapper-id") +### What happens if I delete an operator that has state from my job? -// Stateless sink (no specific ID required) -stream.print() -{% endhighlight %} +By default, a savepoint restore will try to match all state back to the restored job. If you restore from a savepoint that contains state for an operator that has been deleted, this will therefore fail. -## Command-line client +You can allow non restored state by setting the `--allowNonRestoredState` (short: `-n`) with the run command: -You control the savepoints via the [command line client]({{ site.baseurl }}/setup/cli.html#savepoints). +```sh +$ bin/flink run -s :savepointPath -n [:runArgs] +``` -## Current limitations +### What happens if I reorder stateful operators in my job? + +If you assigned IDs to these operators, they will be restored as usual. + +If you did not assign IDs, the auto generated IDs of the stateful operators will most likely change after the reordering. This would result in you not being able to restore from a previous savepoint. + +### What happens if I add or delete or reorder operators that have no state in my job? -- **Parallelism**: When restoring a savepoint, the parallelism of the program has to match the parallelism of the original program from which the savepoint was drawn. There is no mechanism to re-partition the savepoint's state yet. +If you assigned IDs to your stateful operators, the stateless operators will not influence the savepoint restore. + +If you did not assign IDs, the auto generated IDs of the stateful operators will most likely change after the reordering. This would result in you not being able to restore from a previous savepoint. + +### What happens when I change the parallelism of my program when restoring? + +If the savepoint was triggered with Flink >= 1.2.0 and using no deprecated state API like `Checkpointed`, you can simply restore the program from a savepoint and specify a new parallelism. + +If you are resuming from a savepoint triggered with Flink < 1.2.0 or using now deprecated APIs you first have to migrate your job and savepoint to Flink 1.2.0 before being able to change the parallelism. See the [upgrading jobs and Flink versions guide]({{ site.baseurl }}/ops/upgrading.html). + +## Current limitations - **Chaining**: Chained operators are identified by the ID of the first task. It's not possible to manually assign an ID to an intermediate chained task, e.g. in the chain `[ a -> b -> c ]` only **a** can have its ID assigned manually, but not **b** or **c**. To work around this, you can [manually define the task chains](index.html#task-chaining-and-resource-groups). If you rely on the automatic ID assignment, a change in the chaining behaviour will also change the IDs. +