
<!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/01/17/apache-flink-1.14.3-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 released the second bugfix version of the Apache Flink 1.14 series. The first bugfix release was 1.14.2, being an emergency release due to an Apache Log4j Zero Day (CVE-2021-44228). Flink 1.14.1 was abandoned. That means that this Flink release is the first bugfix release of the Flink 1.14 series which contains bugfixes not related to the mentioned CVE.
This release includes 164 fixes and minor improvements for Flink 1.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.14.3 Release Announcement" />
<meta property="og:description" content="The Apache Flink community released the second bugfix version of the Apache Flink 1.14 series. The first bugfix release was 1.14.2, being an emergency release due to an Apache Log4j Zero Day (CVE-2021-44228). Flink 1.14.1 was abandoned. That means that this Flink release is the first bugfix release of the Flink 1.14 series which contains bugfixes not related to the mentioned CVE.
This release includes 164 fixes and minor improvements for Flink 1." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2022/01/17/apache-flink-1.14.3-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2022-01-17T08:00:00+00:00" />
<meta property="article:modified_time" content="2022-01-17T08:00:00+00:00" />
<title>Apache Flink 1.14.3 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="/2022/01/17/apache-flink-1.14.3-release-announcement/">Apache Flink 1.14.3 Release Announcement</a>
    </h1>
    


  January 17, 2022 -



  Thomas Weise

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

  Martijn Visser

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



    <p><p>The Apache Flink community released the second bugfix version of the Apache Flink 1.14 series.
The first bugfix release was 1.14.2, being an emergency release due to an Apache Log4j Zero Day (CVE-2021-44228). Flink 1.14.1 was abandoned.
That means that this Flink release is the first bugfix release of the Flink 1.14 series which contains bugfixes not related to the mentioned CVE.</p>
<p>This release includes 164 fixes and minor improvements for Flink 1.14.0. The list below includes bugfixes and improvements. For a complete list of all changes see:
<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351075&amp;projectId=12315522">JIRA</a>.</p>
<p>We highly recommend all users to upgrade to Flink 1.14.3.</p>
<p>Updated Maven dependencies:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-xml" data-lang="xml"><span class="line"><span class="cl"><span class="nt">&lt;dependency&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.14.3<span class="nt">&lt;/version&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/dependency&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;dependency&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;artifactId&gt;</span>flink-streaming-java_2.11<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.14.3<span class="nt">&lt;/version&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/dependency&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;dependency&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;artifactId&gt;</span>flink-clients_2.11<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.14.3<span class="nt">&lt;/version&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/dependency&gt;</span>
</span></span></code></pre></div><p>You can find the binaries on the updated <a href="/downloads.html">Downloads page</a>.</p>
<pre><code>    Release Notes - Flink - Version 1.14.3
</code></pre>
<h2>        Sub-task
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24355'>FLINK-24355</a>] -         Expose the flag for enabling checkpoints after tasks finish in the Web UI
</li>
</ul>
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-15987'>FLINK-15987</a>] -         SELECT 1.0e0 / 0.0e0 throws NumberFormatException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17914'>FLINK-17914</a>] -         HistoryServer deletes cached archives if archive listing fails
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19142'>FLINK-19142</a>] -         Local recovery can be broken if slot hijacking happened during a full restart
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20195'>FLINK-20195</a>] -         Jobs endpoint returns duplicated jobs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20370'>FLINK-20370</a>] -         Result is wrong when sink primary key is not the same with query
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21289'>FLINK-21289</a>] -         Application mode ignores the pipeline.classpaths configuration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21345'>FLINK-21345</a>] -         NullPointerException LogicalCorrelateToJoinFromTemporalTableFunctionRule.scala:157
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22113'>FLINK-22113</a>] -         UniqueKey constraint is lost with multiple sources join in SQL
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22954'>FLINK-22954</a>] -         Don&#39;t support consuming update and delete changes when use table function that does not contain table field
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23614'>FLINK-23614</a>] -         The resulting scale of TRUNCATE(DECIMAL, ...) is not correct
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23704'>FLINK-23704</a>] -         FLIP-27 sources are not generating LatencyMarkers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23827'>FLINK-23827</a>] -         Fix ModifiedMonotonicity inference for some node
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23919'>FLINK-23919</a>] -         PullUpWindowTableFunctionIntoWindowAggregateRule generates invalid Calc for Window TVF
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24156'>FLINK-24156</a>] -         BlobServer crashes due to SocketTimeoutException in Java 11
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24232'>FLINK-24232</a>] -         Archiving of suspended jobs prevents breaks subsequent archive attempts
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24291'>FLINK-24291</a>] -         Decimal precision is lost when deserializing in test cases
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24310'>FLINK-24310</a>] -         A bug in the BufferingSink example in the doc
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24315'>FLINK-24315</a>] -         Cannot rebuild watcher thread while the K8S API server is unavailable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24318'>FLINK-24318</a>] -         Casting a number to boolean has different results between &#39;select&#39; fields and &#39;where&#39; condition
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24331'>FLINK-24331</a>] -         PartiallyFinishedSourcesITCase fails with &quot;No downstream received 0 from xxx;&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24336'>FLINK-24336</a>] -         PyFlink TableEnvironment executes the SQL randomly MalformedURLException with the configuration for &#39;pipeline.classpaths&#39;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24344'>FLINK-24344</a>] -         Handling of IOExceptions when triggering checkpoints doesn&#39;t cause job failover
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24353'>FLINK-24353</a>] -         Bash scripts do not respect dynamic configurations when calculating memory sizes
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24366'>FLINK-24366</a>] -         Unnecessary/misleading error message about failing restores when tasks are already canceled.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24371'>FLINK-24371</a>] -         Support SinkWriter preCommit without the need of a committer
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24377'>FLINK-24377</a>] -         TM resource may not be properly released after heartbeat timeout
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24380'>FLINK-24380</a>] -         Flink should handle the state transition of the pod from Pending to Failed
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24381'>FLINK-24381</a>] -         Table API exceptions may leak sensitive configuration values
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24401'>FLINK-24401</a>] -         TM cannot exit after Metaspace OOM
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24407'>FLINK-24407</a>] -         Pulsar connector chinese document link to Pulsar document location incorrectly.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24408'>FLINK-24408</a>] -         org.codehaus.janino.InternalCompilerException: Compiling &quot;StreamExecValues$200&quot;: Code of method &quot;nextRecord(Ljava/lang/Object;)Ljava/lang/Object;&quot; of class &quot;StreamExecValues$200&quot; grows beyond 64 KB
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24409'>FLINK-24409</a>] -         Kafka topics with periods in their names generate a constant stream of errors
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24431'>FLINK-24431</a>] -         [Kinesis][EFO] EAGER registration strategy does not work when job fails over
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24432'>FLINK-24432</a>] -         RocksIteratorWrapper.seekToLast() calls the wrong RocksIterator method
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24465'>FLINK-24465</a>] -         Wrong javadoc and documentation for buffer timeout
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24467'>FLINK-24467</a>] -         Set min and max buffer size even if the difference less than threshold
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24468'>FLINK-24468</a>] -         NPE when notifyNewBufferSize
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24469'>FLINK-24469</a>] -         Incorrect calcualtion of the buffer size in case of channel data skew
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24480'>FLINK-24480</a>] -         EqualiserCodeGeneratorTest fails on azure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24488'>FLINK-24488</a>] -         KafkaRecordSerializationSchemaBuilder does not forward timestamp
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24492'>FLINK-24492</a>] -         incorrect implicit type conversion between numeric and (var)char
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24506'>FLINK-24506</a>] -         checkpoint directory is not configurable through the Flink configuration passed into the StreamExecutionEnvironment
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24540'>FLINK-24540</a>] -         Fix Resource leak due to Files.list 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24543'>FLINK-24543</a>] -         	Zookeeper connection issue causes inconsistent state in Flink
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24550'>FLINK-24550</a>] -         Can not access job information from a standby jobmanager UI
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24551'>FLINK-24551</a>] -         BUFFER_DEBLOAT_SAMPLES property is taken from the wrong configuration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24552'>FLINK-24552</a>] -         Ineffective buffer debloat configuration in randomized tests
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24563'>FLINK-24563</a>] -         Comparing timstamp_ltz with random string throws NullPointerException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24596'>FLINK-24596</a>] -         Bugs in sink.buffer-flush before upsert-kafka
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24597'>FLINK-24597</a>] -         RocksdbStateBackend getKeysAndNamespaces would return duplicate data when using MapState 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24600'>FLINK-24600</a>] -         Duplicate 99th percentile displayed in checkpoint summary
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24608'>FLINK-24608</a>] -         Sinks built with the unified sink framework do not receive timestamps when used in Table API
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24613'>FLINK-24613</a>] -         Documentation on orc supported data types is outdated
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24647'>FLINK-24647</a>] -         ClusterUncaughtExceptionHandler does not log the exception
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24654'>FLINK-24654</a>] -         NPE on RetractableTopNFunction when some records were cleared by state ttl 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24662'>FLINK-24662</a>] -         PyFlink sphinx check failed with &quot;node class &#39;meta&#39; is already registered, its visitors will be overridden&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24667'>FLINK-24667</a>] -         Channel state writer would fail the task directly if meeting exception previously
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24676'>FLINK-24676</a>] -         Schema does not match if explain insert statement with partial column
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24678'>FLINK-24678</a>] -         Correct the metric name of map state contains latency
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24691'>FLINK-24691</a>] -         FLINK SQL SUM() causes a precision error
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24704'>FLINK-24704</a>] -         Exception occurs when the input record loses monotonicity on the sort key field of UpdatableTopNFunction
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24706'>FLINK-24706</a>] -         AkkaInvocationHandler silently ignores deserialization errors
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24708'>FLINK-24708</a>] -         `ConvertToNotInOrInRule` has a bug which leads to wrong result
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24728'>FLINK-24728</a>] -         Batch SQL file sink forgets to close the output stream
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24733'>FLINK-24733</a>] -         Data loss in pulsar source when using shared mode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24738'>FLINK-24738</a>] -         Fail during announcing buffer size to released local channel
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24761'>FLINK-24761</a>] -         Fix PartitionPruner code gen compile fail
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24773'>FLINK-24773</a>] -         KafkaCommitter should fail on unknown Exception
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24777'>FLINK-24777</a>] -         Processed (persisted) in-flight data description miss on Monitoring Checkpointing page
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24789'>FLINK-24789</a>] -         IllegalStateException with CheckpointCleaner being closed already
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24792'>FLINK-24792</a>] -         OperatorCoordinatorSchedulerTest crashed JVM on AZP
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24835'>FLINK-24835</a>] -         &quot;group by&quot; in the interval join will throw a exception
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24846'>FLINK-24846</a>] -         AsyncWaitOperator fails during stop-with-savepoint
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24858'>FLINK-24858</a>] -         TypeSerializer version mismatch during eagerly restore
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24874'>FLINK-24874</a>] -         Dropdown menu is not properly shown in UI
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24885'>FLINK-24885</a>] -         ProcessElement Interface parameter Collector  : java.lang.NullPointerException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24919'>FLINK-24919</a>] -         UnalignedCheckpointITCase hangs on Azure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24922'>FLINK-24922</a>] -         Fix spelling errors in the word &quot;parallism&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24937'>FLINK-24937</a>] -         &quot;kubernetes application HA test&quot; hangs on azure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24938'>FLINK-24938</a>] -         Checkpoint cleaner is closed before checkpoints are discarded
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25022'>FLINK-25022</a>] -         ClassLoader leak with ThreadLocals on the JM when submitting a job through the REST API
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25067'>FLINK-25067</a>] -         Correct the description of RocksDB&#39;s background threads
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25084'>FLINK-25084</a>] -         Field names must be unique. Found duplicates
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25091'>FLINK-25091</a>] -         Official website document FileSink orc compression attribute reference error
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25096'>FLINK-25096</a>] -         Issue in exceptions API(/jobs/:jobid/exceptions) in flink 1.13.2
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25126'>FLINK-25126</a>] -         FlinkKafkaInternalProducer state is not reset if transaction finalization fails
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25132'>FLINK-25132</a>] -         KafkaSource cannot work with object-reusing DeserializationSchema
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25134'>FLINK-25134</a>] -         Unused RetryRule in KafkaConsumerTestBase swallows retries
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25222'>FLINK-25222</a>] -         Remove NetworkFailureProxy used for Kafka connector tests
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25271'>FLINK-25271</a>] -         ApplicationDispatcherBootstrapITCase. testDispatcherRecoversAfterLosingAndRegainingLeadership failed on azure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25294'>FLINK-25294</a>] -         Incorrect cloudpickle import
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25375'>FLINK-25375</a>] -         Update Log4j to 2.17.0
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25418'>FLINK-25418</a>] -         The dir_cache is specified in the flink task. When there is no network, you will still download the python third-party library
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25446'>FLINK-25446</a>] -         Avoid sanity check on read bytes on DataInputStream#read(byte[])
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25468'>FLINK-25468</a>] -         Local recovery fails if local state storage and RocksDB working directory are not on the same volume
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25477'>FLINK-25477</a>] -         The directory structure of the State Backends document is not standardized
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25513'>FLINK-25513</a>] -         CoFlatMapFunction requires both two flat_maps to yield something
</li>
</ul>
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20443'>FLINK-20443</a>] -         ContinuousProcessingTimeTrigger doesn&#39;t fire at the end of the window
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21467'>FLINK-21467</a>] -         Document possible recommended usage of Bounded{One/Multi}Input.endInput and emphasize that they could be called multiple times
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23519'>FLINK-23519</a>] -         Aggregate State Backend Latency by State Level
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23798'>FLINK-23798</a>] -         Avoid using reflection to get filter when partition filter is enabled
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23842'>FLINK-23842</a>] -         Add log messages for reader registrations and split requests.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-23914'>FLINK-23914</a>] -         Make connector testing framework more verbose on test failure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24117'>FLINK-24117</a>] -         Remove unHandledErrorListener in ZooKeeperLeaderElectionDriver and ZooKeeperLeaderRetrievalDriver
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24148'>FLINK-24148</a>] -         Add bloom filter policy option in RocksDBConfiguredOptions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24382'>FLINK-24382</a>] -         RecordsOut metric for sinks is inaccurate
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24437'>FLINK-24437</a>] -         Remove unhandled exception handler from CuratorFramework before closing it
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24460'>FLINK-24460</a>] -         Rocksdb Iterator Error Handling Improvement
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24481'>FLINK-24481</a>] -         Translate buffer debloat documenation to chinese
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24529'>FLINK-24529</a>] -         flink sql job cannot use custom job name
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24631'>FLINK-24631</a>] -         Avoiding directly use the labels as selector for deployment and service
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24670'>FLINK-24670</a>] -         Restructure unaligned checkpoints documentation page to &quot;Checkpointing under back pressure&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24690'>FLINK-24690</a>] -         Clarification of buffer size threshold calculation in BufferDebloater 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24695'>FLINK-24695</a>] -         Update how to configure unaligned checkpoints in the documentation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24739'>FLINK-24739</a>] -         State requirements for Flink&#39;s application mode in the documentation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24813'>FLINK-24813</a>] -         Improve ImplicitTypeConversionITCase
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24880'>FLINK-24880</a>] -         Error messages &quot;OverflowError: timeout value is too large&quot; shown when executing PyFlink jobs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24958'>FLINK-24958</a>] -         correct the example and link for temporal table function documentation 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24987'>FLINK-24987</a>] -         Enhance ExternalizedCheckpointCleanup enum
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25092'>FLINK-25092</a>] -         Implement artifact cacher for Bash based Elasticsearch test
</li>
</ul>
<h2>        Technical Debt
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24367'>FLINK-24367</a>] -         Add a fallback AkkaRpcSystemLoader for tests in the IDE
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24445'>FLINK-24445</a>] -         Move RPC System packaging to package phase
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24455'>FLINK-24455</a>] -         FallbackAkkaRpcSystemLoader should check for maven errors
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24513'>FLINK-24513</a>] -         AkkaRpcSystemLoader must be an ITCase
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24559'>FLINK-24559</a>] -         flink-rpc-akka-loader does not bundle flink-rpc-akka
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24609'>FLINK-24609</a>] -         flink-rpc-akka uses wrong Scala version property for parser-combinators
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-24859'>FLINK-24859</a>] -         Document new File formats
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-25472'>FLINK-25472</a>] -         Update to Log4j 2.17.1
</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-01-17-release-1.14.3.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></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>






