
<!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/2021/04/29/apache-flink-1.12.3-released/">

  <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 next bugfix version of the Apache Flink 1.12 series.
This release includes 73 fixes and minor improvements for Flink 1.12.2. The list below includes a detailed list of all fixes and improvements.
We highly recommend all users to upgrade to Flink 1.12.3.
Updated Maven dependencies:
&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; You can find the binaries on the updated Downloads page.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.12.3 Released" />
<meta property="og:description" content="The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
This release includes 73 fixes and minor improvements for Flink 1.12.2. The list below includes a detailed list of all fixes and improvements.
We highly recommend all users to upgrade to Flink 1.12.3.
Updated Maven dependencies:
&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; You can find the binaries on the updated Downloads page." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2021/04/29/apache-flink-1.12.3-released/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2021-04-29T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-04-29T00:00:00+00:00" />
<title>Apache Flink 1.12.3 Released | 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="/2021/04/29/apache-flink-1.12.3-released/">Apache Flink 1.12.3 Released</a>
    </h1>
    


  April 29, 2021 -



  Arvid Heise




    <p><p>The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.</p>
<p>This release includes 73 fixes and minor improvements for Flink 1.12.2. The list below includes a detailed list of all fixes and improvements.</p>
<p>We highly recommend all users to upgrade to Flink 1.12.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.12.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.12.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.12.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>
<p>List of resolved issues:</p>
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18071'>FLINK-18071</a>] -         CoordinatorEventsExactlyOnceITCase.checkListContainsSequence fails on CI
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20547'>FLINK-20547</a>] -         Batch job fails due to the exception in network stack
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20654'>FLINK-20654</a>] -         Unaligned checkpoint recovery may lead to corrupted data stream
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20722'>FLINK-20722</a>] -         HiveTableSink should copy the record when converting RowData to Row
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20752'>FLINK-20752</a>] -         FailureRateRestartBackoffTimeStrategy allows one less restart than configured
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20761'>FLINK-20761</a>] -         Cannot read hive table/partition whose location path contains comma
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20977'>FLINK-20977</a>] -         USE DATABASE &amp; USE CATALOG fails with quoted identifiers containing characters to be escaped in Flink SQL client
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21008'>FLINK-21008</a>] -         Residual HA related Kubernetes ConfigMaps and ZooKeeper nodes when cluster entrypoint received SIGTERM in shutdown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21012'>FLINK-21012</a>] -         AvroFileFormatFactory uses non-deserializable lambda function
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21133'>FLINK-21133</a>] -         FLIP-27 Source does not work with synchronous savepoint
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21148'>FLINK-21148</a>] -         YARNSessionFIFOSecuredITCase cannot connect to BlobServer
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21159'>FLINK-21159</a>] -         KafkaSourceEnumerator not sending NoMoreSplitsEvent to unassigned reader
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21178'>FLINK-21178</a>] -         Task failure will not trigger master hook&#39;s reset()
</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-21387'>FLINK-21387</a>] -         DispatcherTest.testInvalidCallDuringInitialization times out on azp
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21388'>FLINK-21388</a>] -         Parquet DECIMAL logical type is not properly supported in ParquetSchemaConverter
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21431'>FLINK-21431</a>] -         UpsertKafkaTableITCase.testTemporalJoin hang
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21434'>FLINK-21434</a>] -         When UDAF return ROW type, and the number of fields is more than 14, the crash happend
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21497'>FLINK-21497</a>] -         JobLeaderIdService completes leader future despite no leader being elected
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21515'>FLINK-21515</a>] -         SourceStreamTaskTest.testStopWithSavepointShouldNotInterruptTheSource is failing
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21518'>FLINK-21518</a>] -         CheckpointCoordinatorTest.testMinCheckpointPause fails fatally on AZP
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21523'>FLINK-21523</a>] -         ArrayIndexOutOfBoundsException occurs while run a hive streaming job with partitioned table source 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21535'>FLINK-21535</a>] -         UnalignedCheckpointITCase.execute failed with &quot;OutOfMemoryError: Java heap space&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21550'>FLINK-21550</a>] -         ZooKeeperHaServicesTest.testSimpleClose fail
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21552'>FLINK-21552</a>] -         The managed memory was not released if exception was thrown in createPythonExecutionEnvironment
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21606'>FLINK-21606</a>] -         TaskManager connected to invalid JobManager leading to TaskSubmissionException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21609'>FLINK-21609</a>] -         SimpleRecoveryITCaseBase.testRestartMultipleTimes fails on azure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21654'>FLINK-21654</a>] -         YARNSessionCapacitySchedulerITCase.testStartYarnSessionClusterInQaTeamQueue fail because of NullPointerException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21661'>FLINK-21661</a>] -         SHARD_GETRECORDS_INTERVAL_MILLIS  wrong use?
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21685'>FLINK-21685</a>] -         Flink JobManager failed to restart from checkpoint in kubernetes HA setup
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21691'>FLINK-21691</a>] -         KafkaSource fails with NPE when setting it up
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21707'>FLINK-21707</a>] -         Job is possible to hang when restarting a FINISHED task with POINTWISE BLOCKING consumers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21710'>FLINK-21710</a>] -         FlinkRelMdUniqueKeys gets incorrect result on TableScan after project push-down
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21725'>FLINK-21725</a>] -         DataTypeExtractor extracts wrong fields ordering for Tuple12
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21733'>FLINK-21733</a>] -         WatermarkAssigner incorrectly recomputing the rowtime index which may cause ArrayIndexOutOfBoundsException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21746'>FLINK-21746</a>] -         flink sql fields in row access error about scalarfunction
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21753'>FLINK-21753</a>] -         Cycle references between memory manager and gc cleaner action
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21817'>FLINK-21817</a>] -         New Kafka Source might break subtask and split assignment upon rescale
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21833'>FLINK-21833</a>] -         TemporalRowTimeJoinOperator.java will lead to the state expansion by short-life-cycle &amp; huge RowData, although config idle.state.retention.time
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21889'>FLINK-21889</a>] -         source:canal-cdc , sink:upsert-kafka, print &quot;select * from sinkTable&quot;, throw NullException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21922'>FLINK-21922</a>] -         The method partition_by in Over doesn&#39;t work for expression dsl
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21933'>FLINK-21933</a>] -         [kinesis][efo] EFO consumer treats interrupts as retryable exceptions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21941'>FLINK-21941</a>] -         testSavepointRescalingOutPartitionedOperatorStateList fail
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21942'>FLINK-21942</a>] -         KubernetesLeaderRetrievalDriver not closed after terminated which lead to connection leak
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21944'>FLINK-21944</a>] -         AbstractArrowPythonAggregateFunctionOperator.dispose should consider whether arrowSerializer is null
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21969'>FLINK-21969</a>] -         PythonTimestampsAndWatermarksOperator emitted the Long.MAX_VALUE watermark before emitting all the data
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21980'>FLINK-21980</a>] -         ZooKeeperRunningJobsRegistry creates an empty znode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21986'>FLINK-21986</a>] -         taskmanager native memory not release timely after restart
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21992'>FLINK-21992</a>] -         Fix availability notification in UnionInputGate
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21996'>FLINK-21996</a>] -         Transient RPC failure without TaskManager failure can lead to split assignment loss
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22006'>FLINK-22006</a>] -         Could not run more than 20 jobs in a native K8s session when K8s HA enabled
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22024'>FLINK-22024</a>] -         Maven: Entry has not been leased from this pool / fix for release 1.12
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22053'>FLINK-22053</a>] -         NumberSequenceSource causes fatal exception when less splits than parallelism.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22055'>FLINK-22055</a>] -         RPC main thread executor may schedule commands with wrong time unit of delay
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22061'>FLINK-22061</a>] -         The DEFAULT_NON_SPLITTABLE_FILE_ENUMERATOR defined in FileSource should points to NonSplittingRecursiveEnumerator
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22081'>FLINK-22081</a>] -         Entropy key not resolved if flink-s3-fs-hadoop is added as a plugin
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22082'>FLINK-22082</a>] -         Nested projection push down doesn&#39;t work for data such as row(array(row))
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22124'>FLINK-22124</a>] -         The job finished without any exception if error was thrown during state access
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22172'>FLINK-22172</a>] -         Fix the bug of shared resource among Python Operators of the same slot is not released
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22184'>FLINK-22184</a>] -         Rest client shutdown on failure runs in netty thread
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22191'>FLINK-22191</a>] -         PyFlinkStreamUserDefinedFunctionTests.test_udf_in_join_condition_2 fail due to NPE
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22327'>FLINK-22327</a>] -         NPE exception happens if it throws exception in finishBundle during job shutdown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22339'>FLINK-22339</a>] -         Fix some encoding exceptions were not thrown in cython coders
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22345'>FLINK-22345</a>] -         CoordinatorEventsExactlyOnceITCase hangs on azure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22385'>FLINK-22385</a>] -         Type mismatch in NetworkBufferPool
</li>
</ul>
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20533'>FLINK-20533</a>] -         Add histogram support to Datadog reporter
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21382'>FLINK-21382</a>] -         Standalone K8s documentation does not explain usage of standby JobManagers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21521'>FLINK-21521</a>] -         Pretty print K8s specifications
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21690'>FLINK-21690</a>] -         remove redundant tolerableCheckpointFailureNumber setting in CheckpointConfig
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-21735'>FLINK-21735</a>] -         Harden JobMaster#updateTaskExecutionState()
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22051'>FLINK-22051</a>] -         Better document the distinction between stop-with-savepoint and stop-with-savepoint-with-drain
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22142'>FLINK-22142</a>] -         Remove console logging for Kafka connector for AZP runs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22208'>FLINK-22208</a>] -         Bump snappy-java to 1.1.5+
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-22297'>FLINK-22297</a>] -         Perform early check to ensure that the length of the result is the same as the input for Pandas UDF
</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/2021-04-29-release-1.12.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>






