
<!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/2020/12/18/apache-flink-1.11.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 third bugfix version of the Apache Flink 1.11 series.
This release includes 151 fixes and minor improvements for Flink 1.11.2. The list below includes a detailed list of all fixes and improvements.
We highly recommend all users to upgrade to Flink 1.11.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.11.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.11.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.11.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.11.3 Released" />
<meta property="og:description" content="The Apache Flink community released the third bugfix version of the Apache Flink 1.11 series.
This release includes 151 fixes and minor improvements for Flink 1.11.2. The list below includes a detailed list of all fixes and improvements.
We highly recommend all users to upgrade to Flink 1.11.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.11.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.11.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.11.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/2020/12/18/apache-flink-1.11.3-released/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2020-12-18T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-12-18T00:00:00+00:00" />
<title>Apache Flink 1.11.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="/2020/12/18/apache-flink-1.11.3-released/">Apache Flink 1.11.3 Released</a>
    </h1>
    


  December 18, 2020 -



  Xintong Song




    <p><p>The Apache Flink community released the third bugfix version of the Apache Flink 1.11 series.</p>
<p>This release includes 151 fixes and minor improvements for Flink 1.11.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.11.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.11.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.11.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.11.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>        Sub-task
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17393'>FLINK-17393</a>] -         Improve the `FutureCompletingBlockingQueue` to wakeup blocking put() more elegantly.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18604'>FLINK-18604</a>] -         HBase  ConnectorDescriptor can not work in Table API
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18673'>FLINK-18673</a>] -         Calling ROW() in a UDF results in UnsupportedOperationException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18680'>FLINK-18680</a>] -         Improve RecordsWithSplitIds API
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18916'>FLINK-18916</a>] -         Add a &quot;Operations&quot; link(linked to dev/table/tableApi.md) under the &quot;Python API&quot; -&gt; &quot;User Guide&quot; -&gt; &quot;Table API&quot; section
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18918'>FLINK-18918</a>] -         Add a &quot;Connectors&quot; document under  the &quot;Python API&quot; -&gt; &quot;User Guide&quot; -&gt; &quot;Table API&quot; section
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18922'>FLINK-18922</a>] -         Add a &quot;Catalogs&quot; link (linked to dev/table/catalogs.md) under the &quot;Python API&quot; -&gt; &quot;User Guide&quot; -&gt; &quot;Table API&quot; section
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18926'>FLINK-18926</a>] -         Add a &quot;Environment Variables&quot; document under  the &quot;Python API&quot; -&gt; &quot;User Guide&quot; -&gt; &quot;Table API&quot; section
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19162'>FLINK-19162</a>] -         Allow Split Reader based sources to reuse record batches
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19205'>FLINK-19205</a>] -         SourceReaderContext should give access to Configuration and Hostbame
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20397'>FLINK-20397</a>] -         Pass checkpointId to OperatorCoordinator.resetToCheckpoint().
</li>
</ul>
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-9992'>FLINK-9992</a>] -         FsStorageLocationReferenceTest#testEncodeAndDecode failed in CI
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-13733'>FLINK-13733</a>] -         FlinkKafkaInternalProducerITCase.testHappyPath fails on Travis
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-15170'>FLINK-15170</a>] -         WebFrontendITCase.testCancelYarn fails on travis
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16246'>FLINK-16246</a>] -         Exclude &quot;SdkMBeanRegistrySupport&quot; from dynamically loaded AWS connectors
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16268'>FLINK-16268</a>] -         Failed to run rank over window with Hive built-in functions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16768'>FLINK-16768</a>] -         HadoopS3RecoverableWriterITCase.testRecoverWithStateWithMultiPart hangs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17341'>FLINK-17341</a>] -         freeSlot in TaskExecutor.closeJobManagerConnection cause ConcurrentModificationException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17458'>FLINK-17458</a>] -         TaskExecutorSubmissionTest#testFailingScheduleOrUpdateConsumers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17677'>FLINK-17677</a>] -         FLINK_LOG_PREFIX recommended in docs is not always available
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17825'>FLINK-17825</a>] -         HA end-to-end gets killed due to timeout
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18128'>FLINK-18128</a>] -         CoordinatedSourceITCase.testMultipleSources gets stuck
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18196'>FLINK-18196</a>] -         flink throws `NullPointerException` when executeCheckpointing
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18222'>FLINK-18222</a>] -         &quot;Avro Confluent Schema Registry nightly end-to-end test&quot; unstable with &quot;Kafka cluster did not start after 120 seconds&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18815'>FLINK-18815</a>] -         AbstractCloseableRegistryTest.testClose unstable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18818'>FLINK-18818</a>] -         HadoopRenameCommitterHDFSTest.testCommitOneFile[Override: false] failed with &quot;java.io.IOException: The stream is closed&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18836'>FLINK-18836</a>] -         Python UDTF doesn&#39;t work well when the return type isn&#39;t generator
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18915'>FLINK-18915</a>] -         FIXED_PATH(dummy Hadoop Path) with WriterImpl may cause ORC writer OOM
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19022'>FLINK-19022</a>] -         AkkaRpcActor failed to start but no exception information
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19121'>FLINK-19121</a>] -         Avoid accessing HDFS frequently in HiveBulkWriterFactory
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19135'>FLINK-19135</a>] -         (Stream)ExecutionEnvironment.execute() should not throw ExecutionException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19138'>FLINK-19138</a>] -         Python UDF supports directly specifying input_types as DataTypes.ROW
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19140'>FLINK-19140</a>] -         Join with Table Function (UDTF) SQL example is incorrect
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19151'>FLINK-19151</a>] -         Flink does not normalize container resource with correct configurations when Yarn FairScheduler is used
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19154'>FLINK-19154</a>] -         Application mode deletes HA data in case of suspended ZooKeeper connection
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19170'>FLINK-19170</a>] -         Parameter naming error
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19201'>FLINK-19201</a>] -         PyFlink e2e tests is instable and failed with &quot;Connection broken: OSError&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19227'>FLINK-19227</a>] -         The catalog is still created after opening failed in catalog registering
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19237'>FLINK-19237</a>] -         LeaderChangeClusterComponentsTest.testReelectionOfJobMaster failed with &quot;NoResourceAvailableException: Could not allocate the required slot within slot request timeout&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19244'>FLINK-19244</a>] -         CSV format can&#39;t deserialize null ROW field
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19250'>FLINK-19250</a>] -         SplitFetcherManager does not propagate errors correctly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19253'>FLINK-19253</a>] -         SourceReaderTestBase.testAddSplitToExistingFetcher hangs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19258'>FLINK-19258</a>] -         Fix the wrong example of &quot;csv.line-delimiter&quot; in CSV documentation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19280'>FLINK-19280</a>] -         The option &quot;sink.buffer-flush.max-rows&quot; for JDBC can&#39;t be disabled by set to zero
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19281'>FLINK-19281</a>] -         LIKE cannot recognize full table path
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19291'>FLINK-19291</a>] -         Fix exception for AvroSchemaConverter#convertToSchema when RowType contains multiple row fields
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19295'>FLINK-19295</a>] -         YARNSessionFIFOITCase.checkForProhibitedLogContents found a log with prohibited string
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19300'>FLINK-19300</a>] -         Timer loss after restoring from savepoint
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19321'>FLINK-19321</a>] -         CollectSinkFunction does not define serialVersionUID
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19338'>FLINK-19338</a>] -         New source interface cannot unregister unregistered source
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19361'>FLINK-19361</a>] -         Make HiveCatalog thread safe
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19398'>FLINK-19398</a>] -         Hive connector fails with IllegalAccessError if submitted as usercode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19401'>FLINK-19401</a>] -         Job stuck in restart loop due to excessive checkpoint recoveries which block the JobMaster
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19423'>FLINK-19423</a>] -         Fix ArrayIndexOutOfBoundsException when executing DELETE statement in JDBC upsert sink
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19433'>FLINK-19433</a>] -         An Error example of FROM_UNIXTIME function in document
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19448'>FLINK-19448</a>] -         CoordinatedSourceITCase.testEnumeratorReaderCommunication hangs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19535'>FLINK-19535</a>] -         SourceCoordinator should avoid fail job multiple times.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19557'>FLINK-19557</a>] -         Issue retrieving leader after zookeeper session reconnect
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19585'>FLINK-19585</a>] -         UnalignedCheckpointCompatibilityITCase.test:97-&gt;runAndTakeSavepoint: &quot;Not all required tasks are currently running.&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19587'>FLINK-19587</a>] -         Error result when casting binary type as varchar
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19618'>FLINK-19618</a>] -         Broken link in docs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19629'>FLINK-19629</a>] -          Fix NullPointException when deserializing map field with null value for Avro format
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19675'>FLINK-19675</a>] -         The plan of is incorrect when Calc contains WHERE clause, composite fields access and Python UDF at the same time
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19695'>FLINK-19695</a>] -         Writing Table with RowTime Column of type TIMESTAMP(3) to Kafka fails with ClassCastException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19717'>FLINK-19717</a>] -         SourceReaderBase.pollNext may return END_OF_INPUT if SplitReader.fetch throws
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19740'>FLINK-19740</a>] -         Error in to_pandas for table containing event time: class java.time.LocalDateTime cannot be cast to class java.sql.Timestamp
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19741'>FLINK-19741</a>] -         InternalTimeServiceManager fails to restore due to corrupt reads if there are other users of raw keyed state streams
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19748'>FLINK-19748</a>] -         KeyGroupRangeOffsets#KeyGroupOffsetsIterator should skip key groups that don&#39;t have a defined offset
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19750'>FLINK-19750</a>] -         Deserializer is not opened in Kafka consumer when restoring from state
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19755'>FLINK-19755</a>] -         Fix CEP documentation error of the example in &#39;After Match Strategy&#39; section
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19775'>FLINK-19775</a>] -         SystemProcessingTimeServiceTest.testImmediateShutdown is instable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19777'>FLINK-19777</a>] -         Fix NullPointException for WindowOperator.close()
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19790'>FLINK-19790</a>] -         Writing MAP&lt;STRING, STRING&gt; to Kafka with JSON format produces incorrect data.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19806'>FLINK-19806</a>] -         Job may try to leave SUSPENDED state in ExecutionGraph#failJob()
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19816'>FLINK-19816</a>] -         Flink restored from a wrong checkpoint (a very old one and not the last completed one)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19852'>FLINK-19852</a>] -         Managed memory released check can block IterativeTask
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19867'>FLINK-19867</a>] -         Validation fails for UDF that accepts var-args
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19894'>FLINK-19894</a>] -         Use iloc for positional slicing instead of direct slicing in from_pandas
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19901'>FLINK-19901</a>] -         Unable to exclude metrics variables for the last metrics reporter.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19906'>FLINK-19906</a>] -         Incorrect result when compare two binary fields
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19907'>FLINK-19907</a>] -         Channel state (upstream) can be restored after emission of new elements (watermarks)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19909'>FLINK-19909</a>] -         Flink application in attach mode could not terminate when the only job is canceled
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19948'>FLINK-19948</a>] -         Calling NOW() function throws compile exception
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20013'>FLINK-20013</a>] -         BoundedBlockingSubpartition may leak network buffer if task is failed or canceled
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20018'>FLINK-20018</a>] -         pipeline.cached-files option cannot escape &#39;:&#39; in path
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20033'>FLINK-20033</a>] -         Job fails when stopping JobMaster
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20050'>FLINK-20050</a>] -         SourceCoordinatorProviderTest.testCheckpointAndReset failed with NullPointerException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20063'>FLINK-20063</a>] -         File Source requests an additional split on every restore.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20064'>FLINK-20064</a>] -         Broken links in the documentation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20065'>FLINK-20065</a>] -         UnalignedCheckpointCompatibilityITCase.test failed with AskTimeoutException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20068'>FLINK-20068</a>] -         KafkaSubscriberTest.testTopicPatternSubscriber failed with unexpected results
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20069'>FLINK-20069</a>] -         docs_404_check doesn&#39;t work properly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20076'>FLINK-20076</a>] -         DispatcherTest.testOnRemovedJobGraphDoesNotCleanUpHAFiles does not test the desired functionality
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20079'>FLINK-20079</a>] -         Modified UnalignedCheckpointITCase...MassivelyParallel fails
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20081'>FLINK-20081</a>] -         ExecutorNotifier should run handler in the main thread when receive an exception from the callable.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20143'>FLINK-20143</a>] -         use `yarn.provided.lib.dirs` config deploy job failed in yarn per job mode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20165'>FLINK-20165</a>] -         YARNSessionFIFOITCase.checkForProhibitedLogContents: Error occurred during initialization of boot layer java.lang.IllegalStateException: Module system already initialized
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20175'>FLINK-20175</a>] -         Avro Confluent Registry SQL format does not support adding nullable columns
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20183'>FLINK-20183</a>] -         Fix the default PYTHONPATH is overwritten in client side
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20193'>FLINK-20193</a>] -         SourceCoordinator should catch exception thrown from SplitEnumerator.start()
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20194'>FLINK-20194</a>] -         KafkaSourceFetcherManager.commitOffsets() should handle the case when there is no split fetcher.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20200'>FLINK-20200</a>] -         SQL Hints are not supported in  &quot;Create View&quot; syntax
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20213'>FLINK-20213</a>] -         Partition commit is delayed when records keep coming
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20221'>FLINK-20221</a>] -         DelimitedInputFormat does not restore compressed filesplits correctly leading to dataloss
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20222'>FLINK-20222</a>] -         The CheckpointCoordinator should reset the OperatorCoordinators when fail before the first checkpoint.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20223'>FLINK-20223</a>] -         The RecreateOnResetOperatorCoordinator and SourceCoordinator executor thread should use the user class loader.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20243'>FLINK-20243</a>] -         Remove useless words in documents
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20262'>FLINK-20262</a>] -         Building flink-dist docker image does not work without python2
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20266'>FLINK-20266</a>] -         New Sources prevent JVM shutdown when running a job
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20270'>FLINK-20270</a>] -         Fix the regression of missing ExternallyInducedSource support in FLIP-27 Source.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20277'>FLINK-20277</a>] -         flink-1.11.2 ContinuousFileMonitoringFunction cannot restore from failure
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20284'>FLINK-20284</a>] -         Error happens in TaskExecutor when closing JobMaster connection if there was a python UDF
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20285'>FLINK-20285</a>] -         LazyFromSourcesSchedulingStrategy is possible to schedule non-CREATED vertices
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20333'>FLINK-20333</a>] -         Flink standalone cluster throws metaspace OOM after submitting multiple PyFlink UDF jobs.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20351'>FLINK-20351</a>] -         Execution.transitionState does not properly log slot location
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20382'>FLINK-20382</a>] -         Exception thrown from JobMaster.startScheduling() may be ignored.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20396'>FLINK-20396</a>] -         Add &quot;OperatorCoordinator.resetSubtask()&quot; to fix order problems of &quot;subtaskFailed()&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20404'>FLINK-20404</a>] -         ZooKeeper quorum fails to start due to missing log4j library
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20413'>FLINK-20413</a>] -         Sources should add splits back in &quot;resetSubtask()&quot;, rather than in &quot;subtaskFailed()&quot;.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20418'>FLINK-20418</a>] -         NPE in IteratorSourceReader
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20442'>FLINK-20442</a>] -         Fix license documentation mistakes in flink-python.jar
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20492'>FLINK-20492</a>] -         The SourceOperatorStreamTask should implement cancelTask() and finishTask()
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20554'>FLINK-20554</a>] -         The Checkpointed Data Size of the Latest Completed Checkpoint is incorrectly displayed on the Overview page of the UI
</li>
</ul>
<h2>        New Feature
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19934'>FLINK-19934</a>] -         [FLIP-27 source] add new API: SplitEnumeratorContext.runInCoordinatorThread(Runnable)
</li>
</ul>
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16753'>FLINK-16753</a>] -         Exception from AsyncCheckpointRunnable should be wrapped in CheckpointException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18139'>FLINK-18139</a>] -         Unaligned checkpoints checks wrong channels for inflight data.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18500'>FLINK-18500</a>] -         Make the legacy planner exception more clear when resolving computed columns types for schema
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18545'>FLINK-18545</a>] -         Sql api cannot specify flink job name
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18715'>FLINK-18715</a>] -         add cpu usage metric of  jobmanager/taskmanager
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19193'>FLINK-19193</a>] -         Recommend stop-with-savepoint in upgrade guidelines
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19225'>FLINK-19225</a>] -         Improve code and logging in SourceReaderBase
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19245'>FLINK-19245</a>] -         Set default queue capacity for FLIP-27 source handover queue to 2
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19251'>FLINK-19251</a>] -         Avoid confusing queue handling in &quot;SplitReader.handleSplitsChanges()&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19252'>FLINK-19252</a>] -         Jaas file created under io.tmp.dirs - folder not created if not exists
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19265'>FLINK-19265</a>] -         Simplify handling of &#39;NoMoreSplitsEvent&#39;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19339'>FLINK-19339</a>] -         Support Avro&#39;s unions with logical types
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19523'>FLINK-19523</a>] -         Hide sensitive command-line configurations
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19569'>FLINK-19569</a>] -         Upgrade ICU4J to 67.1+
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19677'>FLINK-19677</a>] -         TaskManager takes abnormally long time to register with JobManager on Kubernetes
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19698'>FLINK-19698</a>] -         Add close() method and onCheckpointComplete() to the Source.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-19892'>FLINK-19892</a>] -         Replace __metaclass__ field with metaclass keyword
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20049'>FLINK-20049</a>] -         Simplify handling of &quot;request split&quot;.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20055'>FLINK-20055</a>] -         Datadog API Key exposed in Flink JobManager logs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20142'>FLINK-20142</a>] -         Update the document for CREATE TABLE LIKE that source table from different catalog is supported
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20152'>FLINK-20152</a>] -         Document which execution.target values are supported
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20156'>FLINK-20156</a>] -         JavaDocs of WatermarkStrategy.withTimestampAssigner are wrong wrt Java 8
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20169'>FLINK-20169</a>] -         Move emitting MAX_WATERMARK out of SourceOperator processing loop
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20207'>FLINK-20207</a>] -         Improve the error message printed when submitting the pyflink jobs via &#39;flink run&#39;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20296'>FLINK-20296</a>] -         Explanation of keyBy was broken by find/replace of deprecated forms of keyBy
</li>
</ul>
<h2>        Test
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18725'>FLINK-18725</a>] -         &quot;Run Kubernetes test&quot; failed with &quot;30025: provided port is already allocated&quot;
</li>
</ul>
<h2>        Task
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-20455'>FLINK-20455</a>] -         Add check to LicenseChecker for top level /LICENSE files in shaded jars
</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/2020-12-18-release-1.11.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>






