
<!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/08/25/apache-flink-1.10.2-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 second bugfix version of the Apache Flink 1.10 series.
This release includes 73 fixes and minor improvements for Flink 1.10.1. The list below includes a detailed list of all fixes and improvements.
We highly recommend all users to upgrade to Flink 1.10.2.
Note After FLINK-18242, the deprecated `OptionsFactory` and `ConfigurableOptionsFactory` classes are removed (not applicable for release-1.10), please use `RocksDBOptionsFactory` and `ConfigurableRocksDBOptionsFactory` instead. Please also recompile your application codes if any class extending `DefaultConfigurableOptionsFactory` Note After FLINK-17800 by default we will set `setTotalOrderSeek` to true for RocksDB&#39;s `ReadOptions`, to prevent user from miss using `optimizeForPointLookup`.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.10.2 Released" />
<meta property="og:description" content="The Apache Flink community released the second bugfix version of the Apache Flink 1.10 series.
This release includes 73 fixes and minor improvements for Flink 1.10.1. The list below includes a detailed list of all fixes and improvements.
We highly recommend all users to upgrade to Flink 1.10.2.
Note After FLINK-18242, the deprecated `OptionsFactory` and `ConfigurableOptionsFactory` classes are removed (not applicable for release-1.10), please use `RocksDBOptionsFactory` and `ConfigurableRocksDBOptionsFactory` instead. Please also recompile your application codes if any class extending `DefaultConfigurableOptionsFactory` Note After FLINK-17800 by default we will set `setTotalOrderSeek` to true for RocksDB&#39;s `ReadOptions`, to prevent user from miss using `optimizeForPointLookup`." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2020/08/25/apache-flink-1.10.2-released/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2020-08-25T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-08-25T00:00:00+00:00" />
<title>Apache Flink 1.10.2 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/08/25/apache-flink-1.10.2-released/">Apache Flink 1.10.2 Released</a>
    </h1>
    


  August 25, 2020 -



  Zhu Zhu

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



    <p><p>The Apache Flink community released the second bugfix version of the Apache Flink 1.10 series.</p>
<p>This release includes 73 fixes and minor improvements for Flink 1.10.1. The list below includes a detailed list of all fixes and improvements.</p>
<p>We highly recommend all users to upgrade to Flink 1.10.2.</p>
<div class="alert alert-info" markdown="1">
<span class="label label-info" style="display: inline-block"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> Note</span>
After FLINK-18242, the deprecated `OptionsFactory` and `ConfigurableOptionsFactory` classes are removed (not applicable for release-1.10), please use `RocksDBOptionsFactory` and `ConfigurableRocksDBOptionsFactory` instead. Please also recompile your application codes if any class extending `DefaultConfigurableOptionsFactory`
</div>
<div class="alert alert-info" markdown="1">
<span class="label label-info" style="display: inline-block"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> Note</span>
After FLINK-17800 by default we will set `setTotalOrderSeek` to true for RocksDB's `ReadOptions`, to prevent user from miss using `optimizeForPointLookup`. Meantime we support customizing `ReadOptions` through `RocksDBOptionsFactory`. Please set `setTotalOrderSeek` back to false if any performance regression observed (normally won't happen according to our testing).
</div>
<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.10.2<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.10.2<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.10.2<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-15836'>FLINK-15836</a>] -         Throw fatal error in KubernetesResourceManager when the pods watcher is closed with exception
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16160'>FLINK-16160</a>] -         Schema#proctime and Schema#rowtime don&#39;t work in TableEnvironment#connect code path
</li>
</ul>
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-13689'>FLINK-13689</a>] -         Rest High Level Client for Elasticsearch6.x connector leaks threads if no connection could be established
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-14369'>FLINK-14369</a>] -         KafkaProducerAtLeastOnceITCase&gt;KafkaProducerTestBase.testOneToOneAtLeastOnceCustomOperator fails on Travis
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-14836'>FLINK-14836</a>] -         Unable to set yarn container number for scala shell in yarn mode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-14894'>FLINK-14894</a>] -         HybridOffHeapUnsafeMemorySegmentTest#testByteBufferWrap failed on Travis
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-15758'>FLINK-15758</a>] -         Investigate potential out-of-memory problems due to managed unsafe memory allocation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-15849'>FLINK-15849</a>] -         Update SQL-CLIENT document from type to data-type
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16309'>FLINK-16309</a>] -         ElasticSearch 7 connector is missing in SQL connector list
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16346'>FLINK-16346</a>] -         BlobsCleanupITCase.testBlobServerCleanupCancelledJob fails on Travis
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16432'>FLINK-16432</a>] -         Building Hive connector gives problems
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16451'>FLINK-16451</a>] -         Fix IndexOutOfBoundsException for DISTINCT AGG with constants
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16510'>FLINK-16510</a>] -         Task manager safeguard shutdown may not be reliable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17092'>FLINK-17092</a>] -         Pyflink test BlinkStreamDependencyTests is instable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17322'>FLINK-17322</a>] -         Enable latency tracker would corrupt the broadcast state
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17420'>FLINK-17420</a>] -         Cannot alias Tuple and Row fields when converting DataStream to Table
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17466'>FLINK-17466</a>] -         toRetractStream doesn&#39;t work correctly with Pojo conversion class
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17555'>FLINK-17555</a>] -         docstring of pyflink.table.descriptors.FileSystem:1:duplicate object description of pyflink.table.descriptors.FileSystem
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17558'>FLINK-17558</a>] -         Partitions are released in TaskExecutor Main Thread
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17562'>FLINK-17562</a>] -         POST /jars/:jarid/plan is not working
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17578'>FLINK-17578</a>] -         Union of 2 SideOutputs behaviour incorrect
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17639'>FLINK-17639</a>] -         Document which FileSystems are supported by the StreamingFileSink
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17643'>FLINK-17643</a>] -         LaunchCoordinatorTest fails
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17700'>FLINK-17700</a>] -         The callback client of JavaGatewayServer should run in a daemon thread
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17744'>FLINK-17744</a>] -         StreamContextEnvironment#execute cannot be call JobListener#onJobExecuted
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17763'>FLINK-17763</a>] -         No log files when starting scala-shell
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17788'>FLINK-17788</a>] -         scala shell in yarn mode is broken
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17800'>FLINK-17800</a>] -         RocksDB optimizeForPointLookup results in missing time windows
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17801'>FLINK-17801</a>] -         TaskExecutorTest.testHeartbeatTimeoutWithResourceManager timeout
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17809'>FLINK-17809</a>] -         BashJavaUtil script logic does not work for paths with spaces
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17822'>FLINK-17822</a>] -         Nightly Flink CLI end-to-end test failed with &quot;JavaGcCleanerWrapper$PendingCleanersRunner cannot access class jdk.internal.misc.SharedSecrets&quot; in Java 11 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17870'>FLINK-17870</a>] -         dependent jars are missing to be shipped to cluster in scala shell
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17891'>FLINK-17891</a>] -          FlinkYarnSessionCli sets wrong execution.target type
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17959'>FLINK-17959</a>] -         Exception: &quot;CANCELLED: call already cancelled&quot; is thrown when run python udf
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18008'>FLINK-18008</a>] -         HistoryServer does not log environment information on startup
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18012'>FLINK-18012</a>] -         Deactivate slot timeout if TaskSlotTable.tryMarkSlotActive is called
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18035'>FLINK-18035</a>] -         Executors#newCachedThreadPool could not work as expected
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18045'>FLINK-18045</a>] -         Fix Kerberos credentials checking to unblock Flink on secured MapR
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18048'>FLINK-18048</a>] -         &quot;--host&quot; option could not take effect for standalone application cluster
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18097'>FLINK-18097</a>] -         History server doesn&#39;t clean all job json files
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18168'>FLINK-18168</a>] -         Error results when use UDAF with Object Array return type
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18223'>FLINK-18223</a>] -         AvroSerializer does not correctly instantiate GenericRecord
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18241'>FLINK-18241</a>] -         Custom OptionsFactory in user code not working when configured via flink-conf.yaml
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18242'>FLINK-18242</a>] -         Custom OptionsFactory settings seem to have no effect on RocksDB
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18297'>FLINK-18297</a>] -         SQL client: setting execution.type to invalid value shuts down the session
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18329'>FLINK-18329</a>] -         Dist NOTICE issues
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18352'>FLINK-18352</a>] -         org.apache.flink.core.execution.DefaultExecutorServiceLoader not thread safe
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18517'>FLINK-18517</a>] -         kubernetes session test failed with &quot;java.net.SocketException: Broken pipe&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18539'>FLINK-18539</a>] -         StreamExecutionEnvironment#addSource(SourceFunction, TypeInformation) doesn&#39;t use the user defined type information
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18595'>FLINK-18595</a>] -         Deadlock during job shutdown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18646'>FLINK-18646</a>] -         Managed memory released check can block RPC thread
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18663'>FLINK-18663</a>] -         RestServerEndpoint may prevent server shutdown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18677'>FLINK-18677</a>] -         ZooKeeperLeaderRetrievalService does not invalidate leader in case of SUSPENDED connection
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18702'>FLINK-18702</a>] -         Flink elasticsearch connector leaks threads and classloaders thereof
</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-18821'>FLINK-18821</a>] -         Netty client retry mechanism may cause PartitionRequestClientFactory#createPartitionRequestClient to wait infinitely
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18859'>FLINK-18859</a>] -         ExecutionGraphNotEnoughResourceTest.testRestartWithSlotSharingAndNotEnoughResources failed with &quot;Condition was not met in given timeout.&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18902'>FLINK-18902</a>] -         Cannot serve results of asynchronous REST operations in per-job mode
</li>
</ul>
<h2>        New Feature
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17844'>FLINK-17844</a>] -         Activate japicmp-maven-plugin checks for @PublicEvolving between bug fix releases (x.y.u -&gt; x.y.v)
</li>
</ul>
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16217'>FLINK-16217</a>] -         SQL Client crashed when any uncatched exception is thrown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16225'>FLINK-16225</a>] -         Metaspace Out Of Memory should be handled as Fatal Error in TaskManager
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16619'>FLINK-16619</a>] -         Misleading SlotManagerImpl logging for slot reports of unknown task manager
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-16717'>FLINK-16717</a>] -         Use headless service for rpc and blob port when flink on K8S
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17248'>FLINK-17248</a>] -         Make the thread nums of io executor of ClusterEntrypoint and MiniCluster configurable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17503'>FLINK-17503</a>] -         Make memory configuration logging more user-friendly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17819'>FLINK-17819</a>] -         Yarn error unhelpful when forgetting HADOOP_CLASSPATH
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17920'>FLINK-17920</a>] -         Add the Python example of Interval Join in Table API doc
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17945'>FLINK-17945</a>] -         Improve error reporting of Python CI tests
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-17970'>FLINK-17970</a>] -         Increase default value of IO pool executor to 4 * #cores
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18010'>FLINK-18010</a>] -         Add more logging to HistoryServer
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18501'>FLINK-18501</a>] -         Mapping of Pluggable Filesystems to scheme is not properly logged
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18644'>FLINK-18644</a>] -         Remove obsolete doc for hive connector
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-18772'>FLINK-18772</a>] -         Hide submit job web ui elements when running in per-job/application mode
</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-08-25-release-1.10.2.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>






