
<!DOCTYPE html>
<html lang="en" dir=ZgotmplZ>

<head>
  


<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Introduction # One of the most important characteristics of stream processing systems is end-to-end latency, i.e. the time it takes for the results of processing an input record to reach the outputs. In the case of Flink, end-to-end latency mostly depends on the checkpointing mechanism, because processing results should only become visible after the state of the stream is persisted to non-volatile storage (this is assuming exactly-once mode; in other modes, results can be published immediately).">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Improving speed and stability of checkpointing with generic log-based incremental checkpoints" />
<meta property="og:description" content="Introduction # One of the most important characteristics of stream processing systems is end-to-end latency, i.e. the time it takes for the results of processing an input record to reach the outputs. In the case of Flink, end-to-end latency mostly depends on the checkpointing mechanism, because processing results should only become visible after the state of the stream is persisted to non-volatile storage (this is assuming exactly-once mode; in other modes, results can be published immediately)." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2022-05-30T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-05-30T00:00:00+00:00" />
<title>Improving speed and stability of checkpointing with generic log-based incremental checkpoints | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.2dcb18b1dc51a58cf008db2e374638721a2e778c982365ff222f54319caecd83.js" integrity="sha256-LcsYsdxRpYzwCNsuN0Y4choud4yYI2X/Ii9UMZyuzYM="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

  <meta name="generator" content="Hugo 0.124.1">

    
    <script>
      var _paq = window._paq = window._paq || [];
       
       
      _paq.push(['disableCookies']);
       
      _paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="//analytics.apache.org/";
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', '1']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    
</head>

<body dir=ZgotmplZ>
  


<header>
  <nav class="navbar navbar-expand-xl">
    <div class="container-fluid">
      <a class="navbar-brand" href="/">
        <img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
        <span>Apache Flink</span>
      </a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <i class="fa fa-bars navbar-toggler-icon"></i>
      </button>
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav">
          





    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/security/">Security</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 2.1 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-lts/">Flink 1.20 (LTS)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.13 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.5 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a>
  

          </li>
        
      </ul>
    </li>
  

    


    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/posts/">Flink Blog</a>
  

    </li>
  

    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/downloads/">Downloads</a>
  

    </li>
  

    


    









        </ul>
        <div class="book-search">
          <div class="book-search-spinner hidden">
            <i class="fa fa-refresh fa-spin"></i>
          </div>
          <form class="search-bar d-flex" onsubmit="return false;"su>
            <input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/">
            <i class="fa fa-search search"></i>
            <i class="fa fa-circle-o-notch fa-spin spinner"></i>
          </form>
          <div class="book-search-spinner hidden"></div>
          <ul id="book-search-results"></ul>
        </div>
      </div>
    </div>
  </nav>
  <div class="navbar-clearfix"></div>
</header>
 
  
      <main class="flex">
        <section class="container book-page">
          
<article class="markdown">
    <h1>
        <a href="/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/">Improving speed and stability of checkpointing with generic log-based incremental checkpoints</a>
    </h1>
    


  May 30, 2022 -



  Roman Khachatryan


  Yuan Mei




    <p><h1 id="introduction">
  Introduction
  <a class="anchor" href="#introduction">#</a>
</h1>
<p>One of the most important characteristics of stream processing systems is end-to-end latency, i.e. the time it takes for the results of processing an input record to reach the outputs. In the case of Flink, end-to-end latency mostly depends on the checkpointing mechanism, because processing results should only become visible after the state of the stream is persisted to non-volatile storage (this is assuming exactly-once mode; in other modes, results can be published immediately).</p>
<p>Furthermore, сheckpoint duration also defines the reasonable interval with which checkpoints are made. A shorter interval provides the following advantages:</p>
<ul>
<li>Lower latency for transactional sinks: Transactional sinks commit on checkpoints, so faster checkpoints mean more frequent commits.</li>
<li>More predictable checkpoint intervals: Currently, the duration of a checkpoint depends on the size of the artifacts that need to be persisted in the checkpoint storage.</li>
<li>Less work on recovery. The more frequently the checkpoint, the fewer events need to be re-processed after recovery.</li>
</ul>
<p>Following are the main factors affecting checkpoint duration in Flink:</p>
<ol>
<li>Barrier travel time and alignment duration</li>
<li>Time to take state snapshot and persist it onto the durable highly-available storage (such as S3)</li>
</ol>
<p>Recent improvements such as <a href="https://flink.apache.org/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">Unaligned checkpoints</a> and <a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-183%3A&#43;Dynamic&#43;buffer&#43;size&#43;adjustment"> Buffer debloating </a> try to address (1), especially in the presence of back-pressure. Previously, <a href="https://flink.apache.org/features/2018/01/30/incremental-checkpointing.html"> Incremental checkpoints </a> were introduced to reduce the size of a snapshot, thereby reducing the time required to store it (2).</p>
<p>However, there are still some cases when this duration is high</p>
<h3 id="every-checkpoint-is-delayed-by-at-least-one-task-with-high-parallelism">
  Every checkpoint is delayed by at least one task with high parallelism
  <a class="anchor" href="#every-checkpoint-is-delayed-by-at-least-one-task-with-high-parallelism">#</a>
</h3>
<center>
<img src="/img/blog/2022-05-30-changelog-state-backend/failing-task.png"/>
<br/>
</center>
<br/>
<p>With the existing incremental checkpoint implementation of the RocksDB state backend, every subtask needs to periodically perform some form of compaction. That compaction results in new, relatively big files, which in turn increase the upload time (2). The probability of at least one node performing such compaction and thus slowing down the whole checkpoint grows proportionally to the number of nodes. In large deployments, almost every checkpoint becomes delayed by some node.</p>
<h3 id="unnecessary-delay-before-uploading-state-snapshot">
  Unnecessary delay before uploading state snapshot
  <a class="anchor" href="#unnecessary-delay-before-uploading-state-snapshot">#</a>
</h3>
<center>
<img src="/img/blog/2022-05-30-changelog-state-backend/checkpoint-timing.png"/>
<br/>
</center>
<br/>
<p>State backends don&rsquo;t start any snapshotting work until the task receives at least one checkpoint barrier, increasing the effective checkpoint duration. This is suboptimal if the upload time is comparable to the checkpoint interval; instead, a snapshot could be uploaded continuously throughout the interval.</p>
<p>This work discusses the mechanism introduced in Flink 1.15 to address the above cases by continuously persisting state changes on non-volatile storage while performing materialization in the background. The basic idea is described in the following section, and then important implementation details are highlighted. Subsequent sections discuss benchmarking results, limitations, and future work.</p>
<h1 id="high-level-overview">
  High-level Overview
  <a class="anchor" href="#high-level-overview">#</a>
</h1>
<p>The core idea is to introduce a state changelog (a log that records state changes); this changelog allows operators to persist state changes in a very fine-grained manner, as described below:</p>
<ul>
<li>Stateful operators write the state changes to the state changelog, in addition to applying them to the state tables in RocksDB or the in-mem Hashtable.</li>
<li>An operator can acknowledge a checkpoint as soon as the changes in the log have reached the durable checkpoint storage.</li>
<li>The state tables are persisted periodically as well, independent of the checkpoints. We call this procedure the materialization of the state on the durable checkpoint storage.</li>
<li>Once the state is materialized on the checkpoint storage, the state changelog can be truncated to the point where the state is materialized.</li>
</ul>
<p>This can be illustrated as follows:</p>
<center>
    <div style="overflow-x: auto">
        <div style="width:150%">
            <img style="display:inline; max-width: 33%; max-height: 200px; margin-left: -1%" src="/img/blog/2022-05-30-changelog-state-backend/log_checkpoints_1.png"/> 
            <img style="display:inline; max-width: 33%; max-height: 200px; margin-left: -1%" src="/img/blog/2022-05-30-changelog-state-backend/log_checkpoints_2.png"/> 
            <img style="display:inline; max-width: 33%; max-height: 200px; margin-left: -1%" src="/img/blog/2022-05-30-changelog-state-backend/log_checkpoints_3.png"/> 
        </div>
    </div>
<pre><code>&lt;br/&gt;
</code></pre>
</center>
<br/>
<p>This approach mirrors what database systems do, adjusted to distributed checkpoints:</p>
<ul>
<li>Changes (inserts/updates/deletes) are written to the transaction log, and the transaction is considered durable once the log is synced to disk (or other durable storage).</li>
<li>The changes are also materialized in the tables (so the database system can efficiently query the table). The tables are usually persisted asynchronously.</li>
</ul>
<p>Once all relevant parts of the changed tables have been persisted, the transaction log can be truncated, which is similar to the materialization procedure in our approach.</p>
<p>Such a design makes a number of trade-offs:</p>
<ol>
<li>Increased use of network IO and remote storage space for changelog</li>
<li>Increased memory usage to buffer state changes</li>
<li>Increased time to replay state changes during the recovery process</li>
</ol>
<p>The last one, may or may not be compensated by more frequent checkpoints. More frequent checkpoints mean less re-processing is needed after recovery.</p>
<h1 id="system-architecture">
  System architecture
  <a class="anchor" href="#system-architecture">#</a>
</h1>
<h2 id="changelog-storage-dstl">
  Changelog storage (DSTL)
  <a class="anchor" href="#changelog-storage-dstl">#</a>
</h2>
<p>The component that is responsible for actually storing state changes has the following requirements.</p>
<h3 id="durability">
  Durability
  <a class="anchor" href="#durability">#</a>
</h3>
<p>Changelog constitutes a part of a checkpoint, and therefore the same durability guarantees as for checkpoints must be provided. However, the duration for which the changelog is stored is expected to be short (until the changes are materialized).</p>
<h3 id="workload">
  Workload
  <a class="anchor" href="#workload">#</a>
</h3>
<p>The workload is write-heavy: changelog is written continuously, and it is only read in case of failure. Once written, data can not be modified.</p>
<h3 id="latency">
  Latency
  <a class="anchor" href="#latency">#</a>
</h3>
<p>We target checkpoint duration of 1s in the Flink 1.15 MVP for 99% of checkpoints. Therefore, an individual write request must complete within that duration or less (if parallelism is 100, then 99.99% of write requests must complete within 1s).</p>
<h3 id="consistency">
  Consistency
  <a class="anchor" href="#consistency">#</a>
</h3>
<p>Once a change is persisted (and acknowledged to JM), it must be available for replay to enable recovery (this can be achieved by using a single machine, quorum, or synchronous replication).</p>
<h3 id="concurrency">
  Concurrency
  <a class="anchor" href="#concurrency">#</a>
</h3>
<p>Each task writes to its own changelog, which prevents concurrency issues across multiple tasks. However, when a task is restarted, it needs to write to the same log, which may cause concurrency issues. This is addressed by:</p>
<ol>
<li>Using unique log segment identifiers while writing</li>
<li>Fencing previous execution attempts on JM when handling checkpoint acknowledgments</li>
<li>After closing the log, treating it as Flink state, which is read-only and is discarded by a single JM (leader)</li>
</ol>
<p>To emphasize the difference in durability requirements and usage compared to other systems (durable, short-lived, append-only), the component is called <strong>&ldquo;Durable Short-term Log&rdquo; (DSTL)</strong>.</p>
<p>DSTL can be implemented in many ways, such as Distributed Log, Distributed File System* (DFS), or even a database. In the MVP version in Flink 1.15, we chose DFS because of the following reasons:</p>
<ol>
<li>No additional external dependency; DFS is readily available in most environments and is already used to store checkpoints</li>
<li>No additional stateful components to manage; using any other persistence medium would incur additional operational overhead</li>
<li>DFS natively provides durability and consistency guarantees which need to be taken care of when implementing a new customized distributed log storage (in particular, when implementing replication)</li>
</ol>
<p>On the other hand, the DFS approach has the following disadvantages:</p>
<ol>
<li>has higher latency than for example Distributed Log writing to the local disks</li>
<li>its scalability is limited by DFS (most Storage Providers start rate-limiting at some point)</li>
</ol>
<p>However, after some initial experimentation, we think the performance of popular DFS could satisfy 80% of the use cases, and more results will be illustrated with the MVP version in a later section.
DFS here makes no distinction between DFS and object stores.</p>
<p>Using RocksDB as an example, this approach can be illustrated at the high level as follows. State updates are replicated to both RocksDB and DSTL by the Changelog State Backend.
DSTL continuously writes state changes to DFS and flushes them periodically and on checkpoint. That way, checkpoint time only depends on the time to flush a small amount of data.
RocksDB on the other hand is still used for querying the state. Furthermore, its SSTables are periodically uploaded to DFS, which is called “materialization”. That upload is independent of and is much less frequent than checkpointing procedure, with 10 minutes as the default interval.</p>
<center>
<img style="max-width: 80%" src="/img/blog/2022-05-30-changelog-state-backend/changelog-simple.png"/>
<br/>
</center>
<br/>
<p>There are a few more issues worth highlighting here:</p>
<h2 id="state-cleanup">
  State cleanup
  <a class="anchor" href="#state-cleanup">#</a>
</h2>
<p>State changelog needs to be truncated once the corresponding changes are materialized. It becomes more complicated with re-scaling and sharing the underlying files across multiple operators. However, Flink already provides a mechanism called <code>SharedStateRegistry</code> similar to file system reference counting. Log fragments can be viewed as shared state objects, and therefore can be tracked by this <code>SharedStateRegistry</code> (please see <a href="https://www.ververica.com/blog/managing-large-state-apache-flink-incremental-checkpointing-overview"> this </a> article for more information on how <code>SharedStateRegistry</code> was used previously).</p>
<h2 id="dfs-specific-issues">
  DFS-specific issues
  <a class="anchor" href="#dfs-specific-issues">#</a>
</h2>
<h3 id="small-files-problem">
  Small files problem
  <a class="anchor" href="#small-files-problem">#</a>
</h3>
<p>One issue with using DFS is that much more and likely smaller files are created for each checkpoint. And with the increased checkpoint frequency, there are more checkpoints.
To mitigate this, state changes related to the same job on a TM are grouped into a single file.</p>
<h3 id="high-tail-latency">
  High tail latency
  <a class="anchor" href="#high-tail-latency">#</a>
</h3>
<p>DFS are known for high tail latencies, although this has been improving in recent years.
To address the high-tail-latency problem, write requests are retried when they fail to complete within a timeout, which is 1 second by default (but can be configured manually).</p>
<h1 id="benchmark-results">
  Benchmark results
  <a class="anchor" href="#benchmark-results">#</a>
</h1>
<p>The improvement of checkpoint stability and speed after enabling Changelog highly depends on the factors below:</p>
<ul>
<li>The difference between the changelog diff size and the full state size (or incremental state size, if comparing changelog to incremental checkpoints).</li>
<li>The ability to upload the updates continuously during the checkpoint (e.g. an operator might maintain state in memory and only update Flink state objects on checkpoint - in this case, changelog wouldn’t help much).</li>
<li>The ability to group updates from multiple tasks (multiple tasks must be deployed on a single TM). Grouping the updates leads to fewer files being created thereby reducing the load on DFS, which improves the stability.</li>
<li>The ability of the underlying backend to accumulate updates to the same key before flushing (This makes state change log potentially contain more updates compared to just the final value, leading to a larger incremental changelog state size)</li>
<li>The speed of the underlying durable storage (the faster it is, the less significant the improvement)</li>
</ul>
<p>The following setup was used in the experiment:</p>
<ul>
<li>Parallelism: 50</li>
<li>Running time: 21h</li>
<li>State backend: RocksDB (incremental checkpoint enabled)</li>
<li>Storage: S3 (Presto plugin)</li>
<li>Machine type: AWS m5.xlarge (4 slots per TM)</li>
<li>Checkpoint interval: 10ms</li>
<li>State Table materialization interval: 3m</li>
<li>Input rate: 50K events per second</li>
</ul>
<h2 id="valuestate-workload">
  ValueState workload
  <a class="anchor" href="#valuestate-workload">#</a>
</h2>
<p>A workload updating mostly the new keys each time would benefit the most.</p>
<table border="1">
  <thead>
    <tr>
      <th style="padding: 5px">&nbsp;</th>
      <th style="padding: 5px">Changelog Disabled</th>
      <th style="padding: 5px">Changelog Enabled</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 5px">Records processed</td>
      <td style="padding: 5px">3,808,629,616</td>
      <td style="padding: 5px">3,810,508,130</td>
    </tr>
    <tr>
      <td style="padding: 5px">Checkpoints made</td>
      <td style="padding: 5px">10,023</td>
      <td style="padding: 5px">108,649</td>
    </tr>
    <tr>
      <td style="padding: 5px">Checkpoint duration, 90%</td>
      <td style="padding: 5px">6s</td>
      <td style="padding: 5px">664ms</td>
    </tr>
    <tr>
      <td style="padding: 5px">Checkpoint duration, 99.9%</td>
      <td style="padding: 5px">10s</td>
      <td style="padding: 5px">1s</td>
    </tr>
    <tr>
      <td style="padding: 5px">Full checkpoint size *, 99%</td>
      <td style="padding: 5px">19.6GB</td>
      <td style="padding: 5px">25.6GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">Recovery time (local recovery disabled)</td>
      <td style="padding: 5px">20-21s</td>
      <td style="padding: 5px">35-65s (depending on the checkpoint)</td>
    </tr>
  </tbody>
</table>
<p>As can be seen from the above table, checkpoint duration is reduced 10 times for 99.9% of checkpoints, while space usage increases by 30%, and recovery time increases by 66%-225%.</p>
<p>More details about the checkpoints (Changelog Enabled / Changelog Disabled):</p>
<table border="1">
  <thead>
    <tr>
      <th style="padding: 5px">Percentile</th>
      <th style="padding: 5px">End to End Duration</th>
      <th style="padding: 5px">Checkpointed Data Size *</th>
      <th style="padding: 5px">Full Checkpoint Data Size *</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 5px">50%</td>
      <td style="padding: 5px">311ms / 5s</td>
      <td style="padding: 5px">14.8MB / 3.05GB</td>
      <td style="padding: 5px">24.2GB / 18.5GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">90%</td>
      <td style="padding: 5px">664ms / 6s</td>
      <td style="padding: 5px">23.5MB / 4.52GB</td>
      <td style="padding: 5px">25.2GB / 19.3GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">99%</td>
      <td style="padding: 5px">1s / 7s</td>
      <td style="padding: 5px">36.6MB / 5.19GB</td>
      <td style="padding: 5px">25.6GB / 19.6GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">99.9%</td>
      <td style="padding: 5px">1s / 10s</td>
      <td style="padding: 5px">52.8MB / 6.49GB</td>
      <td style="padding: 5px">25.7GB / 19.8GB</td>
    </tr>
  </tbody>
</table>
<p>* Checkpointed Data Size is the size of data persisted after receiving the necessary number of checkpoint barriers, during a so-called synchronous and then asynchronous checkpoint phases. Most of the data is persisted pre-emptively (i.e. after the previous checkpoint and before the current one), and that’s why this size is much lower when the Changelog is enabled.
<br>
* Full checkpoint size is the total size of all the files comprising the checkpoint, including any files reused from the previous checkpoints. Compared to a normal checkpoint, the one with a changelog is less compact, keeping all the historical values since the last materialization, and therefore consumes much more space</p>
<h2 id="window-workload">
  Window workload
  <a class="anchor" href="#window-workload">#</a>
</h2>
<p>This workload used Processing Time Sliding Window. As can be seen below, checkpoints are still faster, resulting in 3 times shorter durations; but storage amplification is much higher in this case (45 times more space consumed):</p>
<p>Checkpoint Statistics for Window Workload with Changelog Enabled / Changelog Disabled</p>
<table border="1">
  <thead>
    <tr>
      <th style="padding: 5px">Percentile</th>
      <th style="padding: 5px">End to End Duration</th>
      <th style="padding: 5px">Checkpointed Data Size</th>
      <th style="padding: 5px">Full Checkpoint Data Size</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 5px">50%</td>
      <td style="padding: 5px">791ms / 1s</td>
      <td style="padding: 5px">269MB / 1.18GB</td>
      <td style="padding: 5px">85.5GB / 1.99GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">90%</td>
      <td style="padding: 5px">1s / 1s</td>
      <td style="padding: 5px">292MB / 1.36GB</td>
      <td style="padding: 5px">97.4GB / 2.16GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">99%</td>
      <td style="padding: 5px">1s / 6s</td>
      <td style="padding: 5px">310MB / 1.67GB</td>
      <td style="padding: 5px">103GB / 2.26GB</td>
    </tr>
    <tr>
      <td style="padding: 5px">99.9%</td>
      <td style="padding: 5px">2s / 6s</td>
      <td style="padding: 5px">324MB / 1.87GB</td>
      <td style="padding: 5px">104GB / 2.30GB</td>
    </tr>
  </tbody>
</table>
<p>The increase in space consumption (Full Checkpoint Data Size) can be attributed to:</p>
<ol>
<li>Assigning each element to multiple sliding windows (and persisting the state changelog for each). While RocksDB and Heap have the same issue, with changelog the impact is multiplied even further.</li>
<li>As mentioned above, if the underlying state backend (i.e. RocksDB) is able to accumulate multiple state updates for the same key without flushing, the snapshot will be smaller in size than the changelog. In this particular case of sliding window, the updates to its contents are eventually followed by purging that window. If those updates and purge happen during the same checkpoint, then it&rsquo;s quite likely that the window is not included in the snapshot.
This also implies that the faster the window is purged, the smaller the size of the snapshot is.</li>
</ol>
<h1 id="conclusion-and-future-work">
  Conclusion and future work
  <a class="anchor" href="#conclusion-and-future-work">#</a>
</h1>
<p>Generic log-based incremental checkpoints is released as MVP version in Flink 1.15. This version demonstrates that solutions based on modern DFS can provide good enough latency. Furthermore, checkpointing time and stability are improved significantly by using the Changelog. However, some trade-offs must be made before using it (in particular, space amplification).
<br>
In the next releases, we plan to enable more use cases for Changelog, e.g., by reducing recovery time via local recovery and improving compatibility.</p>
<p>Another direction is further reducing latency. This can be achieved by using faster storage, such as Apache Bookkeeper or Apache Kafka.</p>
<p>Besides that, we are investigating other applications of Changelog, such as WAL for sinks and queryable states.</p>
<p>We encourage you to try out this feature and assess the pros and cons of using it in your setup. The simplest way to do this it is to add the following to your flink-conf.yaml:</p>
<pre><code>state.backend.changelog.enabled: true
state.backend.changelog.storage: filesystem 
dstl.dfs.base-path: &lt;location similar to state.checkpoints.dir&gt;
</code></pre>
<p>Please see the full documentation <a href="https://nightlies.apache.org/flink/flink-docs-master/docs/ops/state/state_backends/#enabling-changelog">here</a>.</p>
<h1 id="acknowledgments">
  Acknowledgments
  <a class="anchor" href="#acknowledgments">#</a>
</h1>
<p>We thank Stephan Ewen for the initial idea of the project, and many other engineers including Piotr Nowojski, Yu Li and Yun Tang for design discussions and code reviews.</p>
<h1 id="references">
  References
  <a class="anchor" href="#references">#</a>
</h1>
<ul>
<li>
<p><a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-158%3A&#43;Generalized&#43;incremental&#43;checkpoints"> FLIP-158 </a></p>
</li>
<li>
<p><a href="https://nightlies.apache.org/flink/flink-docs-master/docs/ops/state/state_backends/#enabling-changelog"> generic log-based incremental checkpoints documentation </a></p>
</li>
<li>
<p><a href="https://flink.apache.org/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html"> Unaligned checkpoints </a></p>
</li>
<li>
<p><a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-183%3A&#43;Dynamic&#43;buffer&#43;size&#43;adjustment"> Buffer debloating </a></p>
</li>
<li>
<p><a href="https://flink.apache.org/features/2018/01/30/incremental-checkpointing.html"> Incremental checkpoints </a></p>
</li>
</ul>
</p>
</article>

          



  
    
    <div class="edit-this-page">
      <p>
        <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
      </p>
      <p>
        <a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2022-05-30-changelog-state-backend.md">
          Edit This Page<i class="fa fa-edit fa-fw"></i> 
        </a>
      </p>
    </div>

        </section>
        
          <aside class="book-toc">
            


<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
  <ul>
    <li><a href="#introduction">Introduction</a>
      <ul>
        <li>
          <ul>
            <li><a href="#every-checkpoint-is-delayed-by-at-least-one-task-with-high-parallelism">Every checkpoint is delayed by at least one task with high parallelism</a></li>
            <li><a href="#unnecessary-delay-before-uploading-state-snapshot">Unnecessary delay before uploading state snapshot</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li><a href="#high-level-overview">High-level Overview</a></li>
    <li><a href="#system-architecture">System architecture</a>
      <ul>
        <li><a href="#changelog-storage-dstl">Changelog storage (DSTL)</a>
          <ul>
            <li><a href="#durability">Durability</a></li>
            <li><a href="#workload">Workload</a></li>
            <li><a href="#latency">Latency</a></li>
            <li><a href="#consistency">Consistency</a></li>
            <li><a href="#concurrency">Concurrency</a></li>
          </ul>
        </li>
        <li><a href="#state-cleanup">State cleanup</a></li>
        <li><a href="#dfs-specific-issues">DFS-specific issues</a>
          <ul>
            <li><a href="#small-files-problem">Small files problem</a></li>
            <li><a href="#high-tail-latency">High tail latency</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li><a href="#benchmark-results">Benchmark results</a>
      <ul>
        <li><a href="#valuestate-workload">ValueState workload</a></li>
        <li><a href="#window-workload">Window workload</a></li>
      </ul>
    </li>
    <li><a href="#conclusion-and-future-work">Conclusion and future work</a></li>
    <li><a href="#acknowledgments">Acknowledgments</a></li>
    <li><a href="#references">References</a></li>
  </ul>
</nav>


          </aside>
          <aside class="expand-toc hidden">
            <a class="toc" onclick="expandToc()" href="javascript:void(0)">
              <i class="fa fa-bars" aria-hidden="true"></i>
            </a>
          </aside>
        
      </main>

      <footer>
        


<div class="separator"></div>
<div class="panels">
  <div class="wrapper">
      <div class="panel">
        <ul>
          <li>
            <a href="https://flink-packages.org/">flink-packages.org</a>
          </li>
          <li>
            <a href="https://www.apache.org/">Apache Software Foundation</a>
          </li>
          <li>
            <a href="https://www.apache.org/licenses/">License</a>
          </li>
          
          
          
            
          
            
          
          

          
            
              
            
          
            
              
                <li>
                  <a  href="/zh/">
                    <i class="fa fa-globe" aria-hidden="true"></i>&nbsp;中文版
                  </a>
                </li>
              
            
          
       </ul>
      </div>
      <div class="panel">
        <ul>
          <li>
            <a href="/what-is-flink/security">Security</a-->
          </li>
          <li>
            <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
          </li>
          <li>
            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
          </li>
       </ul>
      </div>
      <div class="panel icons">
        <div>
          <a href="/posts">
            <div class="icon flink-blog-icon"></div>
            <span>Flink blog</span>
          </a>
        </div>
        <div>
          <a href="https://github.com/apache/flink">
            <div class="icon flink-github-icon"></div>
            <span>Github</span>
          </a>
        </div>
        <div>
          <a href="https://twitter.com/apacheflink">
            <div class="icon flink-twitter-icon"></div>
            <span>Twitter</span>
          </a>
        </div>
      </div>
  </div>
</div>

<hr/>

<div class="container disclaimer">
  <p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>



      </footer>
    
  </body>
</html>






