
<!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/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0!
The release includes many improvements to the operator core, the autoscaler, and introduces new features like TaskManager memory auto-tuning.
We encourage you to download the release and share your experience with the community through the Flink mailing lists or JIRA! We&rsquo;re looking forward to your feedback!
Highlights # Flink Autotuning # We&rsquo;re excited to announce our latest addition to the autoscaling module: Flink Autotuning.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink Kubernetes Operator 1.8.0 Release Announcement" />
<meta property="og:description" content="The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0!
The release includes many improvements to the operator core, the autoscaler, and introduces new features like TaskManager memory auto-tuning.
We encourage you to download the release and share your experience with the community through the Flink mailing lists or JIRA! We&rsquo;re looking forward to your feedback!
Highlights # Flink Autotuning # We&rsquo;re excited to announce our latest addition to the autoscaling module: Flink Autotuning." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2024-03-21T18:00:00+00:00" />
<meta property="article:modified_time" content="2024-03-21T18:00:00+00:00" />
<title>Apache Flink Kubernetes Operator 1.8.0 Release Announcement | 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.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></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 1.19 (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-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.8 (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.0 (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="/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
    </h1>
    


  March 21, 2024 -



  Maximilian Michels

  <a href="https://twitter.com/stadtlegende">(@stadtlegende)</a>
  

  Gyula Fora

  <a href="https://twitter.com/GyulaFora">(@GyulaFora)</a>
  

  Rui Fan

  <a href="https://twitter.com/1996fanrui">(@1996fanrui)</a>
  



    <p><p>The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0!</p>
<p>The release includes many improvements to the operator core, the autoscaler, and introduces new features
like TaskManager memory auto-tuning.</p>
<p>We encourage you to <a href="https://flink.apache.org/downloads.html">download the release</a> and share your experience with the
community through the Flink <a href="https://flink.apache.org/community.html#mailing-lists">mailing lists</a> or
<a href="https://issues.apache.org/jira/browse/flink">JIRA</a>! We&rsquo;re looking forward to your feedback!</p>
<h2 id="highlights">
  Highlights
  <a class="anchor" href="#highlights">#</a>
</h2>
<h3 id="flink-autotuning">
  Flink Autotuning
  <a class="anchor" href="#flink-autotuning">#</a>
</h3>
<p>We&rsquo;re excited to announce our latest addition to the autoscaling module: Flink Autotuning.</p>
<p>Flink Autotuning complements Flink Autoscaling by auto-adjusting critical settings of the Flink configuration.
For this release, we support auto-configuring Flink memory which is a huge source of pain for users. Flink has
various memory pools (e.g. heap memory, network memory, state backend memory, JVM metaspace) which all need to be
assigned fractions of the available memory upfront in order for a Flink job to run properly.</p>
<p>Assigning too little memory results in pipeline failures, which is why most users end up assigning way too much memory.
Based on our experience, we&rsquo;ve seen that heap memory is at least 50% over-provisioned, even after using Flink Autoscaling.
The reason is that Flink Autoscaling is primarily CPU-driven to optimize pipeline throughput, but doesn&rsquo;t change the
ratio between CPU/Memory on the containers.</p>
<p>Resource savings are nice to have, but the real power of Flink Autotuning is the reduced time to production.</p>
<p>With Flink Autoscaling and Flink Autotuning, all users need to do is set a max memory size for the TaskManagers, just
like they would normally configure TaskManager memory. Flink Autotuning then automatically adjusts the various memory
pools and brings down the total container memory size. It does that by observing the actual max memory usage on the
TaskMangers or by calculating the exact number of network buffers required for the job topology. The adjustments are
made together with Flink Autoscaling, so there is no extra downtime involved.</p>
<p>Flink Autotuning can be enabled by setting:</p>
<pre tabindex="0"><code># Autoscaling needs to be enabled
job.autoscaler.enabled: true
# Turn on Autotuning
job.autoscaler.memory.tuning.enabled: true
</code></pre><p>For future releases, we are planning to auto-tune more aspects of the Flink configuration, e.g. the number of task slots.</p>
<p>Another area for improvement is how managed memory is auto-configured. If no managed memory is used, e.g. the heap-based
state backend is used, managed memory will be set to zero which helps save a lot of memory. If managed memory is used,
e.g. via RocksDB, the configured managed memory will be kept constant because Flink currently lacks metrics to
accurately measure the usage of managed memory. Nevertheless, users already benefit from the resource savings and
optimizations for heap, metaspace, and network memory. RocksDB users can solely focus their attention on configuring
managed memory. For RocksDB, we also added an option to add all saved memory to the managed memory. This is beneficial
when running with  RocksDB to maximize the in-memory performance.</p>
<h3 id="improved-accuracy-of-autoscaling-metrics">
  Improved Accuracy of Autoscaling Metrics
  <a class="anchor" href="#improved-accuracy-of-autoscaling-metrics">#</a>
</h3>
<p>So far, Flink Autoscaling relied on sampling scaling metrics within the current metric window. The resulting accuracy
depended on the number of samples and the sampling interval. For this release, whenever possible, we use Flink&rsquo;s
accumulated metrics which provide cumulative counters of metrics like records processed or time spent processing.
This allows us to derive the exact metric value for the window.</p>
<p>For example, to calculate the average records processed per time unite, we measure the accumulated number of records
processed once at the start of the metric window, e.g. 1000 records. Then we measure a second time when the metric
window closes, e.g. 1500. By subtracting the former from the latter, we can calculate the exact amount of records
processed: 1500-1000 = 500. We can then divide by the metric window duration to get the average number of records
processed.</p>
<h3 id="rescale-time-estimation">
  Rescale time estimation
  <a class="anchor" href="#rescale-time-estimation">#</a>
</h3>
<p>We now measure the actual required restart time for applying autoscaling decisions. Previously, users had to manually
configure the estimated maximum restart time via <code>job.autoscaler.restart.time</code>. If the new feature is enabled, this
setting is now only used for the first scaling. After the first scaling, the actual restart time has been observed
and will be taken into account for future scalings.</p>
<p>This feature can be enabled via:</p>
<pre tabindex="0"><code>job.autoscaler.restart.time-tracking.enabled: true
</code></pre><p>For the next release we are thinking to enable it by default.</p>
<h3 id="autoscaling-for-session-cluster-jobs">
  Autoscaling for Session Cluster Jobs
  <a class="anchor" href="#autoscaling-for-session-cluster-jobs">#</a>
</h3>
<p>Autoscaling used to be an application / job cluster only feature. Now it is also supported for session clusters.</p>
<h3 id="improved-standalone-autoscaler">
  Improved Standalone Autoscaler
  <a class="anchor" href="#improved-standalone-autoscaler">#</a>
</h3>
<p>Since 1.7.0, Flink Autoscaling is now also available in a standalone module without the need to run on top of Kubernetes.</p>
<p>We merged notable improvements to the standalone autoscaler:</p>
<ul>
<li>The control loop now supports multiple thread</li>
<li>We implemented a JdbcAutoScalerStateStore for storing state via JDBC-supported databases</li>
<li>We implemented a JdbcAutoScalerEventHandler for emitting events to JDBC-supported databases</li>
</ul>
<h3 id="savepoint-trigger-nonce">
  Savepoint Trigger Nonce
  <a class="anchor" href="#savepoint-trigger-nonce">#</a>
</h3>
<p>A common request is to support a streamlined, user-friendly way of redeploying from a target savepoint. Previously this
was only possible by deleting the CR and recreating it with initialSavepointPath. A big downside of this approach is a
loss of savepoint/checkpoint history in the status that some platforms may need, resulting in non-cleaned up savepoints.</p>
<p>We introduced a <code>savepointRedeployNonce</code> field in the job spec similar to other action trigger nonces.</p>
<p>If the nonce changes to a new non-null value the job will be redeployed from the path specified in the
initialSavepointPath (or empty state If the path is empty).</p>
<h3 id="cluster-shutdown-and-resource-cleanup-improvements">
  Cluster Shutdown and Resource Cleanup Improvements
  <a class="anchor" href="#cluster-shutdown-and-resource-cleanup-improvements">#</a>
</h3>
<p>We improved the shutdown behavior and added better and more consistent logging. We now scale down the JobManager
replicas to zero before removing the JobManager deployment. This ensures that the TaskManager shutdown is clean
because the owner reference to the JobManager deployment is not removed immediately which gives TaskManagers time
to shut down.</p>
<h3 id="custom-flink-resource-mutator">
  Custom Flink Resource Mutator
  <a class="anchor" href="#custom-flink-resource-mutator">#</a>
</h3>
<p>Users already had the ability to provide custom resource validators to the operator. With this release, we added
support for custom mutators. See the <a href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.8/docs/operations/plugins/#custom-flink-resource-mutators">docs</a>.</p>
<h3 id="smaller-operator-image">
  Smaller Operator image
  <a class="anchor" href="#smaller-operator-image">#</a>
</h3>
<p>Through build optimizations, we were able to reduce the size of the Docker image by 20%.</p>
<h3 id="experimental-features">
  Experimental Features
  <a class="anchor" href="#experimental-features">#</a>
</h3>
<h4 id="cluster-resource-capacity-check">
  Cluster Resource Capacity Check
  <a class="anchor" href="#cluster-resource-capacity-check">#</a>
</h4>
<p>The operator can automatically check if sufficient resources are available for an autoscaling decision. The information
is retrieved from the Kubernetes cluster based on the available node metrics and the maximum node size of the Kubernetes
Cluster Autoscaler.</p>
<p>The feature can be turned on by setting this configuration value:</p>
<pre tabindex="0"><code>kubernetes.operator.cluster.resource-view.refresh-interval: 5 min
</code></pre><h2 id="release-notes">
  Release Notes
  <a class="anchor" href="#release-notes">#</a>
</h2>
<p>The release notes can be found <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12353866&amp;projectId=12315522">here</a>.</p>
<h2 id="release-resources">
  Release Resources
  <a class="anchor" href="#release-resources">#</a>
</h2>
<p>The source artifacts and helm chart are available on the Downloads page of the Flink website. You can easily try out the new features shipped in the official 1.8.0 release by adding the Helm chart to your own local registry:</p>
<pre tabindex="0"><code>$ helm repo add flink-kubernetes-operator-1.8.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.8.0/
$ helm install flink-kubernetes-operator flink-kubernetes-operator-1.8.0/flink-kubernetes-operator --set webhook.create=false
</code></pre><p>You can also find official Kubernetes Operator Docker images of the new version on <a href="https://hub.docker.com/r/apache/flink-kubernetes-operator">Dockerhub</a>.</p>
<p>For more details, check the <a href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.8/">updated documentation</a> and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.</p>
<h2 id="list-of-contributors">
  List of Contributors
  <a class="anchor" href="#list-of-contributors">#</a>
</h2>
<p>1996fanrui, Alexander Fedulov, AncyRominus, Caican Cai, Cancai Cai, ConradJam, Domenic Bove, Dominik Dębowczyk,
Gabor Somogyi, Guillaume Vauvert, Gyula Fora, Hao Xin, Jerry Wang, Justin Chen, Máté Czagány, Maximilian Michels,
Peter Huang, Rui Fan, Ryan van Huuksloot, Samrat, Tony Garrard, Yang-LI-CS, ensctom, fengfei02, flashJd, Nicolas Fraison</p>
</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/2024-03-21-release-kubernetes-operator-1.8.0.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>
      <ul>
        <li><a href="#highlights">Highlights</a>
          <ul>
            <li><a href="#flink-autotuning">Flink Autotuning</a></li>
            <li><a href="#improved-accuracy-of-autoscaling-metrics">Improved Accuracy of Autoscaling Metrics</a></li>
            <li><a href="#rescale-time-estimation">Rescale time estimation</a></li>
            <li><a href="#autoscaling-for-session-cluster-jobs">Autoscaling for Session Cluster Jobs</a></li>
            <li><a href="#improved-standalone-autoscaler">Improved Standalone Autoscaler</a></li>
            <li><a href="#savepoint-trigger-nonce">Savepoint Trigger Nonce</a></li>
            <li><a href="#cluster-shutdown-and-resource-cleanup-improvements">Cluster Shutdown and Resource Cleanup Improvements</a></li>
            <li><a href="#custom-flink-resource-mutator">Custom Flink Resource Mutator</a></li>
            <li><a href="#smaller-operator-image">Smaller Operator image</a></li>
            <li><a href="#experimental-features">Experimental Features</a></li>
          </ul>
        </li>
        <li><a href="#release-notes">Release Notes</a></li>
        <li><a href="#release-resources">Release Resources</a></li>
        <li><a href="#list-of-contributors">List of Contributors</a></li>
      </ul>
    </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>






