flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niels Basjes (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-4511) Schedule periodic savepoints
Date Fri, 23 Sep 2016 14:49:20 GMT

    [ https://issues.apache.org/jira/browse/FLINK-4511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15516657#comment-15516657

Niels Basjes commented on FLINK-4511:

As requested by [~aljoscha] my comments copied from FLINK-4620
In the current versions of Flink you can run an external command and then a savepoint is persisted
in a durable location.

Feature request: Make this a lot more automatic and easy to use.

_Proposed workflow_
# In my application I do something like this:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setStateBackend(new FsStateBackend("hdfs:///tmp/applicationState"));
env.enableCheckpointing(5000, CheckpointingMode.EXACTLY_ONCE);

# When I start the application for the first time the state backend is 'empty'. 
I expect the system to start in a clean state.
After 10 minutes (300000ms) a savepoint is created and stored.
# When I stop and start the topology again it will automatically restore the last available

Things to think about:
* Note that this feature still means the manual version is useful!!
* What to do on startup if the state is incompatible with the topology? Fail the startup?
* How many automatic savepoints to we keep? Only the last one?
* Perhaps the API should allow multiple automatic savepoints at different intervals in different
// Make every 10 minutes and keep the last 10
env.enableAutomaticSavePoints(300000, new FsStateBackend("hdfs:///tmp/applicationState"),

// Make every 24 hours and keep the last 30
// Useful for being able to reproduce a problem a few days later
env.enableAutomaticSavePoints(86400000, new FsStateBackend("hdfs:///tmp/applicationDailyStateSnapshot"),

> Schedule periodic savepoints
> ----------------------------
>                 Key: FLINK-4511
>                 URL: https://issues.apache.org/jira/browse/FLINK-4511
>             Project: Flink
>          Issue Type: Sub-task
>          Components: State Backends, Checkpointing
>            Reporter: Ufuk Celebi
> Allow triggering of periodic savepoints, which are kept in a bounded queue (like completed
checkpoints currently, but separate).
> If there is no periodic checkpointing enabled, only periodic savepoints should be schedulded.
> If periodic checkpointing is enabled, the periodic savepoints should not be scheduled
independently, but instead the checkpoint scheduler should trigger a savepoint instead. This
will ensure that no unexpected interference between checkpoints and savepoints happens. For
this, I would restrict the savepoint interval to be a multiple of the checkpointing interval
(if enabled).

This message was sent by Atlassian JIRA

View raw message