
<!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/2023/01/30/apache-flink-1.16.1-release-announcement/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.16 series.
This release includes 84 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
We highly recommend all users upgrade to Flink 1.16.1.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.16.1 Release Announcement" />
<meta property="og:description" content="The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.16 series.
This release includes 84 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
We highly recommend all users upgrade to Flink 1.16.1." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2023/01/30/apache-flink-1.16.1-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2023-01-30T16:00:00+00:00" />
<meta property="article:modified_time" content="2023-01-30T16:00:00+00:00" />
<title>Apache Flink 1.16.1 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="/2023/01/30/apache-flink-1.16.1-release-announcement/">Apache Flink 1.16.1 Release Announcement</a>
    </h1>
    


  January 30, 2023 -



  Martijn Visser

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



    <p><p>The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.16 series.</p>
<p>This release includes 84 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16.
Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see:
<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&amp;version=12352344">JIRA</a>.</p>
<p>We highly recommend all users upgrade to Flink 1.16.1.</p>
<h1 id="release-artifacts">
  Release Artifacts
  <a class="anchor" href="#release-artifacts">#</a>
</h1>
<h2 id="maven-dependencies">
  Maven Dependencies
  <a class="anchor" href="#maven-dependencies">#</a>
</h2>
<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.16.1<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<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.16.1<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<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.16.1<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><h2 id="binaries">
  Binaries
  <a class="anchor" href="#binaries">#</a>
</h2>
<p>You can find the binaries on the updated <a href="/downloads/">Downloads page</a>.</p>
<h2 id="docker-images">
  Docker Images
  <a class="anchor" href="#docker-images">#</a>
</h2>
<ul>
<li><a href="https://hub.docker.com/_/flink?tab=tags&amp;page=1&amp;name=1.16.1">library/flink</a> (official images)</li>
<li><a href="https://hub.docker.com/r/apache/flink/tags?page=1&amp;name=1.16.1">apache/flink</a> (ASF repository)</li>
</ul>
<h2 id="pypi">
  PyPi
  <a class="anchor" href="#pypi">#</a>
</h2>
<ul>
<li><a href="https://pypi.org/project/apache-flink/1.16.1/">apache-flink==1.16.1</a></li>
</ul>
<h2 id="upgrade-notes">
  Upgrade Notes
  <a class="anchor" href="#upgrade-notes">#</a>
</h2>
<p><a href="https://issues.apache.org/jira/browse/FLINK-28988">FLINK-28988 - Incorrect result for filter after temporal join</a>
The filter will not be pushed down into both inputs of the event time temporal join.
This may cause incompatible plan changes compared to Flink 1.16.0, e.g., when the left input is an upsert source
(like upsert-kafka connector), the query plan will remove the ChangelogNormalize node in Flink 1.16.1, while it
did appear in 1.16.0.</p>
<p><a href="https://issues.apache.org/jira/browse/FLINK-29849">FLINK-29849 - Event time temporal join on an upsert source may produce incorrect execution plan</a>
This resolves the correctness issue when doing an event time temporal join with a versioned table backed by an upsert source.
When the right input of the join is an upsert source, it no longer generates a ChangelogNormalize node for it.
This is an incompatible plan change compared to 1.16.0</p>
<p><a href="https://issues.apache.org/jira/browse/FLINK-30383">FLINK-30383 - UseLogicalIdentifier makes datadog consider metric as custom</a>
The Datadog reporter now adds a &ldquo;flink.&rdquo; prefix to metric identifiers if &ldquo;useLogicalIdentifier&rdquo; is enabled.
This is required for these metrics to be recognized as Flink metrics, not custom ones.</p>
<h2 id="release-notes">
  Release Notes
  <a class="anchor" href="#release-notes">#</a>
</h2>
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16582'>FLINK-16582</a>] -         NettyBufferPoolTest may have warns on NettyBuffer leak 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-26037'>FLINK-26037</a>] -         TaskManagerRunner may crash during shutdown sequence
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-26890'>FLINK-26890</a>] -         DynamoDB consumer error consuming partitions close to retention
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-27341'>FLINK-27341</a>] -         TaskManager running together with JobManager are bind to 127.0.0.1
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-27944'>FLINK-27944</a>] -         IO metrics collision happens if a task has union inputs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28102'>FLINK-28102</a>] -         Flink AkkaRpcSystemLoader fails when temporary directory is a symlink
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28526'>FLINK-28526</a>] -         Fail to lateral join with UDTF from Table with timstamp column
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28695'>FLINK-28695</a>] -         Fail to send partition request to restarted taskmanager
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28742'>FLINK-28742</a>] -         Table.to_pandas fails with lit(&quot;xxx&quot;)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28786'>FLINK-28786</a>] -         Cannot run PyFlink 1.16 on MacOS with M1 chip
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28863'>FLINK-28863</a>] -         Snapshot result of RocksDB native savepoint should have empty shared-state
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28960'>FLINK-28960</a>] -         Pulsar throws java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28988'>FLINK-28988</a>] -         Incorrect result for filter after temporal join
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29231'>FLINK-29231</a>] -         PyFlink UDAF produces different results in the same sliding window
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29234'>FLINK-29234</a>] -         Dead lock in DefaultLeaderElectionService
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29298'>FLINK-29298</a>] -         LocalBufferPool request buffer from NetworkBufferPool hanging
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29479'>FLINK-29479</a>] -         Support whether using system PythonPath for PyFlink jobs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29539'>FLINK-29539</a>] -         dnsPolicy in FlinkPod is not overridable 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29615'>FLINK-29615</a>] -         MetricStore does not remove metrics of nonexistent subtasks when adaptive scheduler lowers job parallelism
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29627'>FLINK-29627</a>] -         Sink - Duplicate key exception during recover more than 1 committable.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29677'>FLINK-29677</a>] -         Prevent dropping the current catalog
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29728'>FLINK-29728</a>] -         TablePlanner prevents Flink from starting is working directory is a symbolic link
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29749'>FLINK-29749</a>] -         flink info command support dynamic properties
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29781'>FLINK-29781</a>] -         ChangelogNormalize uses wrong keys after transformation by WatermarkAssignerChangelogNormalizeTransposeRule 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29803'>FLINK-29803</a>] -         Table API Scala APIs lack proper source jars
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29817'>FLINK-29817</a>] -         Published metadata for apache-flink in pypi are inconsistent and causes poetry to fail
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29827'>FLINK-29827</a>] -         [Connector][AsyncSinkWriter] Checkpointed states block writer from sending records
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29839'>FLINK-29839</a>] -         HiveServer2 endpoint doesn&#39;t support TGetInfoType value &#39;CLI_ODBC_KEYWORDS&#39;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29849'>FLINK-29849</a>] -         Event time temporal join on an upsert source may produce incorrect execution plan
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29857'>FLINK-29857</a>] -         Fix failure to connect to &#39;HiveServer2Endpoint&#39; when using hive3 beeline
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29899'>FLINK-29899</a>] -         Stacktrace printing in DefaultExecutionGraphCacheTest is confusing maven test log output
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29923'>FLINK-29923</a>] -         Hybrid Shuffle may face deadlock when running a task need to execute big size data
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29927'>FLINK-29927</a>] -         AkkaUtils#getAddress may cause memory leak
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30030'>FLINK-30030</a>] -         Unexpected behavior for overwrite in Hive dialect
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30133'>FLINK-30133</a>] -         HadoopModuleFactory creates error if the security module cannot be loaded
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30168'>FLINK-30168</a>] -         PyFlink Deserialization Error with Object Array
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30189'>FLINK-30189</a>] -         HsSubpartitionFileReader may load data that has been consumed from memory
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30239'>FLINK-30239</a>] -         The flame graph doesn&#39;t work due to groupExecutionsByLocation has bug
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30304'>FLINK-30304</a>] -         Possible Deadlock in Kinesis/Firehose/DynamoDB Connector
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30308'>FLINK-30308</a>] -         ClassCastException: class java.io.ObjectStreamClass$Caches$1 cannot be cast to class java.util.Map is showing in the logging when the job shutdown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30334'>FLINK-30334</a>] -         SourceCoordinator error splitRequest check cause HybridSource loss of data and hang
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30359'>FLINK-30359</a>] -         Encountered NoClassDefFoundError when using  flink-sql-connector-elasticsearch6 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30366'>FLINK-30366</a>] -         Python Group Agg failed in cleaning the idle state
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30525'>FLINK-30525</a>] -         Cannot open jobmanager configuration web page
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30558'>FLINK-30558</a>] -         The metric &#39;numRestarts&#39; reported in SchedulerBase will be overridden by metric &#39;fullRestarts&#39;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30637'>FLINK-30637</a>] -         In linux-aarch64 environment, using “is” judgment to match the window type of overwindow have returned incorrect matching results
</li>
</ul>
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-27327'>FLINK-27327</a>] -         Add description about changing max parallelism explicitly leads to state incompatibility
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29134'>FLINK-29134</a>] -         fetch metrics may cause oom(ThreadPool task pile up)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29155'>FLINK-29155</a>] -         Improve default config of grpcServer in Process Mode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29244'>FLINK-29244</a>] -         Add metric lastMaterializationDuration to  ChangelogMaterializationMetricGroup
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29458'>FLINK-29458</a>] -         When two tables have the same field, do not specify the table name,Exception will be thrown：SqlValidatorException :Column &#39;currency&#39; is ambiguous
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29639'>FLINK-29639</a>] -         Add ResourceId in TransportException for debugging 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29693'>FLINK-29693</a>] -         MiniClusterExtension should respect DEFAULT_PARALLELISM if set
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29834'>FLINK-29834</a>] -         Clear static Jackson TypeFactory cache on CL release
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29966'>FLINK-29966</a>] -         Replace and redesign the Python api documentation base
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30016'>FLINK-30016</a>] -         Update Flink 1.16 release notes about updated oshi-core
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30116'>FLINK-30116</a>] -         Don&#39;t Show Env Vars in Web UI
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30183'>FLINK-30183</a>] -         We should add a proper error message in case the deprecated reflection-based instantiation of a reporter is triggered
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30357'>FLINK-30357</a>] -         Wrong link in connector/jdbc doc.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30436'>FLINK-30436</a>] -         Integrate Opensearch connector docs into Flink docs v1.16
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30592'>FLINK-30592</a>] -         The unsupported hive version is not deleted on the hive overview document
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30633'>FLINK-30633</a>] -         Update AWS SDKv2 to v2.19.14
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30724'>FLINK-30724</a>] -         Update doc of kafka per-partition watermark to FLIP-27 source
</li>
</ul>
<h2>        Technical Debt
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-27731'>FLINK-27731</a>] -         Remove Hugo Modules integration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29157'>FLINK-29157</a>] -         Clarify the contract between CompletedCheckpointStore and SharedStateRegistry
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29957'>FLINK-29957</a>] -         Rework connector docs integration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29958'>FLINK-29958</a>] -         Add new connector_artifact shortcode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29972'>FLINK-29972</a>] -         Pin Flink docs to Elasticsearch Connector 3.0.0
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29973'>FLINK-29973</a>] -         connector_artifact should append Flink minor version
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30291'>FLINK-30291</a>] -         Integrate flink-connector-aws into Flink docs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30382'>FLINK-30382</a>] -         Flink 1.16 to integrate KDS/KDF docs from flink-connector-aws
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30383'>FLINK-30383</a>] -         UseLogicalIdentifier makes datadog consider metric as custom
</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/2023-01-26-release-1.16.1.md">
          Edit This Page<i class="fa fa-edit fa-fw"></i> 
        </a>
      </p>
    </div>

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


<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
  <ul>
    <li><a href="#release-artifacts">Release Artifacts</a>
      <ul>
        <li><a href="#maven-dependencies">Maven Dependencies</a></li>
        <li><a href="#binaries">Binaries</a></li>
        <li><a href="#docker-images">Docker Images</a></li>
        <li><a href="#pypi">PyPi</a></li>
        <li><a href="#upgrade-notes">Upgrade Notes</a></li>
        <li><a href="#release-notes">Release Notes</a></li>
      </ul>
    </li>
  </ul>
</nav>


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

      <footer>
        


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

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

<hr/>

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



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






