<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Apache Flink: Flink Community Update - May'20</title>
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">

    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="/css/flink.css">
    <link rel="stylesheet" href="/css/syntax.css">

    <!-- Blog RSS feed -->
    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <!-- We need to load Jquery in the header for custom google analytics event tracking-->
    <script src="/js/jquery.min.js"></script>

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>  
    

    <!-- Main content. -->
    <div class="container">
    <div class="row">

      
     <div id="sidebar" class="col-sm-3">
        

<!-- Top navbar. -->
    <nav class="navbar navbar-default">
        <!-- The logo. -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <div class="navbar-logo">
            <a href="/">
              <img alt="Apache Flink" src="/img/flink-header-logo.svg" width="147px" height="73px">
            </a>
          </div>
        </div><!-- /.navbar-header -->

        <!-- The navigation links. -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
          <ul class="nav navbar-nav navbar-main">

            <!-- First menu section explains visitors what Flink is -->

            <!-- What is Stream Processing? -->
            <!--
            <li><a href="/streamprocessing1.html">What is Stream Processing?</a></li>
            -->

            <!-- What is Flink? -->
            <li><a href="/flink-architecture.html">What is Apache Flink?</a></li>

            

            <!-- What is Stateful Functions? -->

            <li><a href="/stateful-functions.html">What is Stateful Functions?</a></li>

            <!-- Use cases -->
            <li><a href="/usecases.html">Use Cases</a></li>

            <!-- Powered by -->
            <li><a href="/poweredby.html">Powered By</a></li>


            &nbsp;
            <!-- Second menu section aims to support Flink users -->

            <!-- Downloads -->
            <li><a href="/downloads.html">Downloads</a></li>

            <!-- Getting Started -->
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Getting Started<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.11/getting-started/index.html" target="_blank">With Flink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1/getting-started/project-setup.html" target="_blank">With Flink Stateful Functions <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
                <li><a href="/training.html">Training Course</a></li>
              </ul>
            </li>

            <!-- Documentation -->
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.11" target="_blank">Flink 1.11 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
                <li><a href="https://ci.apache.org/projects/flink/flink-docs-master" target="_blank">Flink Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1" target="_blank">Flink Stateful Functions 2.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-master" target="_blank">Flink Stateful Functions Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
              </ul>
            </li>

            <!-- getting help -->
            <li><a href="/gettinghelp.html">Getting Help</a></li>

            <!-- Blog -->
            <li class="active"><a href="/blog/"><b>Flink Blog</b></a></li>


            <!-- Flink-packages -->
            <li>
              <a href="https://flink-packages.org" target="_blank">flink-packages.org <small><span class="glyphicon glyphicon-new-window"></span></small></a>
            </li>
            &nbsp;

            <!-- Third menu section aim to support community and contributors -->

            <!-- Community -->
            <li><a href="/community.html">Community &amp; Project Info</a></li>

            <!-- Roadmap -->
            <li><a href="/roadmap.html">Roadmap</a></li>

            <!-- Contribute -->
            <li><a href="/contributing/how-to-contribute.html">How to Contribute</a></li>
            

            <!-- GitHub -->
            <li>
              <a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
            </li>

            &nbsp;

            <!-- Language Switcher -->
            <li>
              
                
                  <!-- link to the Chinese home page when current is blog page -->
                  <a href="/zh">中文版</a>
                
              
            </li>

          </ul>

          <ul class="nav navbar-nav navbar-bottom">
          <hr />

            <!-- Twitter -->
            <li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>

            <!-- Visualizer -->
            <li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>

          <hr />

            <li><a href="https://apache.org" target="_blank">Apache Software Foundation <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>

            <li>
              <style>
                .smalllinks:link {
                  display: inline-block !important; background: none; padding-top: 0px; padding-bottom: 0px; padding-right: 0px; min-width: 75px;
                }
              </style>

              <a class="smalllinks" href="https://www.apache.org/licenses/" target="_blank">License</a> <small><span class="glyphicon glyphicon-new-window"></span></small>

              <a class="smalllinks" href="https://www.apache.org/security/" target="_blank">Security</a> <small><span class="glyphicon glyphicon-new-window"></span></small>

              <a class="smalllinks" href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a> <small><span class="glyphicon glyphicon-new-window"></span></small>

              <a class="smalllinks" href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
            </li>

          </ul>
        </div><!-- /.navbar-collapse -->
    </nav>

      </div>
      <div class="col-sm-9">
      <div class="row-fluid">
  <div class="col-sm-12">
    <div class="row">
      <h1>Flink Community Update - May'20</h1>
      <p><i></i></p>

      <article>
        <p>07 May 2020 Marta Paes (<a href="https://twitter.com/morsapaes">@morsapaes</a>)</p>

<p>Can you smell it? It’s release month! It took a while, but now that we’re <a href="https://flink.apache.org/news/2020/04/01/community-update.html">all caught up with the past</a>, the Community Update is here to stay. This time around, we’re warming up for Flink 1.11 and peeping back to the month of April in the Flink community — with the release of Stateful Functions 2.0, a new self-paced Flink training and some efforts to improve the Flink documentation experience.</p>

<p>Last month also marked the debut of Flink Forward Virtual Conference 2020: what did you think? If you missed it altogether or just want to recap some of the sessions, the <a href="https://www.youtube.com/playlist?list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7">videos</a> and <a href="https://www.slideshare.net/FlinkForward">slides</a> are now available!</p>

<div class="page-toc">
<ul id="markdown-toc">
  <li><a href="#the-past-month-in-flink" id="markdown-toc-the-past-month-in-flink">The Past Month in Flink</a>    <ul>
      <li><a href="#flink-stateful-functions-20-is-out" id="markdown-toc-flink-stateful-functions-20-is-out">Flink Stateful Functions 2.0 is out!</a></li>
      <li><a href="#warming-up-for-flink-111" id="markdown-toc-warming-up-for-flink-111">Warming up for Flink 1.11</a></li>
      <li><a href="#flink-minor-releases" id="markdown-toc-flink-minor-releases">Flink Minor Releases</a>        <ul>
          <li><a href="#flink-193" id="markdown-toc-flink-193">Flink 1.9.3</a></li>
          <li><a href="#flink-1101" id="markdown-toc-flink-1101">Flink 1.10.1</a></li>
        </ul>
      </li>
      <li><a href="#new-committers-and-pmc-members" id="markdown-toc-new-committers-and-pmc-members">New Committers and PMC Members</a>        <ul>
          <li><a href="#new-pmc-members" id="markdown-toc-new-pmc-members">New PMC Members</a></li>
          <li><a href="#new-committers" id="markdown-toc-new-committers">New Committers</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="#the-bigger-picture" id="markdown-toc-the-bigger-picture">The Bigger Picture</a>    <ul>
      <li><a href="#a-new-self-paced-apache-flink-training" id="markdown-toc-a-new-self-paced-apache-flink-training">A new self-paced Apache Flink training</a></li>
      <li><a href="#google-season-of-docs-2020" id="markdown-toc-google-season-of-docs-2020">Google Season of Docs 2020</a></li>
    </ul>
  </li>
  <li><a href="#and-something-to-read" id="markdown-toc-and-something-to-read">…and something to read!</a></li>
</ul>

</div>

<h1 id="the-past-month-in-flink">The Past Month in Flink</h1>

<h2 id="flink-stateful-functions-20-is-out">Flink Stateful Functions 2.0 is out!</h2>

<p>In the beginning of April, the Flink community announced the <a href="https://flink.apache.org/news/2020/04/07/release-statefun-2.0.0.html">release of Stateful Functions 2.0</a> — the first as part of the Apache Flink project. From this release, you can use Flink as the base of a (stateful) serverless platform with out-of-the-box consistent and scalable state, and efficient messaging between functions. You can even run your stateful functions on platforms like AWS Lambda, as Gordon (<a href="https://twitter.com/tzulitai">@tzulitai</a>) demonstrated in <a href="https://www.youtube.com/watch?v=tuSylBadNSo&amp;list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7&amp;index=27&amp;t=8s">his Flink Forward talk</a>.</p>

<div style="line-height:60%;">
    <br />
</div>

<center>
<img src="/img/blog/2020-05-06-community-update/2020-05-06-community-update_2.png" width="550px" alt="Stateful Functions" />
</center>

<div style="line-height:60%;">
    <br />
</div>

<p>It’s been encouraging to see so many questions about Stateful Functions popping up in the <a href="https://lists.apache.org/list.html?user@flink.apache.org:lte=3M:statefun">mailing list</a> and Stack Overflow! If you’d like to get involved, we’re always <a href="https://github.com/apache/flink-statefun#contributing">looking for new contributors</a> — especially around SDKs for other languages like Go, Javascript and Rust.</p>

<hr />

<h2 id="warming-up-for-flink-111">Warming up for Flink 1.11</h2>

<p>The final preparations for the release of Flink 1.11 are well underway, with the feature freeze scheduled for May 15th, and there’s a lot of new features and improvements to look out for:</p>

<ul>
  <li>
    <p>On the <strong>usability</strong> side, you can expect a big focus on smoothing data ingestion with contributions like support for Change Data Capture (CDC) in the Table API/SQL (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-105%3A+Support+to+Interpret+and+Emit+Changelog+in+Flink+SQL">FLIP-105</a>), easy streaming data ingestion into Apache Hive (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-115%3A+Filesystem+connector+in+Table">FLIP-115</a>) or support for Pandas DataFrames in PyFlink (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-120%3A+Support+conversion+between+PyFlink+Table+and+Pandas+DataFrame">FLIP-120</a>). A great deal of effort has also gone into maturing PyFlink, with the introduction of user defined metrics in Python UDFs (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-112%3A+Support+User-Defined+Metrics+in++Python+UDF">FLIP-112</a>) and the extension of Python UDF support beyond the Python Table API (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-106%3A+Support+Python+UDF+in+SQL+Function+DDL">FLIP-106</a>,<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-114%3A+Support+Python+UDF+in+SQL+Client">FLIP-114</a>).</p>
  </li>
  <li>
    <p>On the <strong>operational</strong> side, the much anticipated new Source API (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-27%3A+Refactor+Source+Interface">FLIP-27</a>) will unify batch and streaming sources, and improve out-of-the-box event-time behavior; while unaligned checkpoints (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-76%3A+Unaligned+Checkpoints">FLIP-76</a>) and changes to network memory management will allow to speed up checkpointing under backpressure — this is part of a bigger effort to rethink fault tolerance that will introduce many other non-trivial changes to Flink. You can learn more about it in <a href="https://youtu.be/ssEmeLcL5Uk">this</a> recent Flink Forward talk!</p>
  </li>
</ul>

<p>Throw into the mix improvements around type systems, the WebUI, metrics reporting, supported formats and…we can’t wait! To get an overview of the ongoing developments, have a look at <a href="http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/ANNOUNCE-Development-progress-of-Apache-Flink-1-11-tp40718.html">this thread</a>. We encourage the community to get involved in testing once an RC (Release Candidate) is out. Keep an eye on the <a href="https://flink.apache.org/community.html#mailing-lists">@dev mailing list</a> for updates!</p>

<hr />

<h2 id="flink-minor-releases">Flink Minor Releases</h2>

<h3 id="flink-193">Flink 1.9.3</h3>

<p>The community released Flink 1.9.3, covering some outstanding bugs from Flink 1.9! You can find more in the <a href="(https://flink.apache.org/news/2020/04/24/release-1.9.3.html)">announcement blogpost</a>.</p>

<h3 id="flink-1101">Flink 1.10.1</h3>

<p>Also in the pipeline is the release of Flink 1.10.1, already in the <a href="http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-Release-1-10-1-release-candidate-2-td41019.html">RC voting</a> phase. So, you can expect Flink 1.10.1 to be released soon!</p>

<hr />

<h2 id="new-committers-and-pmc-members">New Committers and PMC Members</h2>

<p>The Apache Flink community has welcomed <strong>3 PMC Members</strong> and <strong>2 new Committers</strong> since the last update. Congratulations!</p>

<h3 id="new-pmc-members">New PMC Members</h3>

<div class="row">
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars2.githubusercontent.com/u/6242259?s=400&amp;u=6e39f4fdbabc8ce4ccde9125166f791957d3ae80&amp;v=4" width="90" height="90" />
      <p><a href="https://twitter.com/dwysakowicz">Dawid Wysakowicz</a></p>
    </div>
  </div>
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars1.githubusercontent.com/u/4971479?s=400&amp;u=49d4f217e26186606ab13a17a23a038b62b86682&amp;v=4" width="90" height="90" />
      <p><a href="https://twitter.com/HequnC">Hequn Cheng</a></p>
    </div>
  </div>
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars3.githubusercontent.com/u/12387855?s=400&amp;u=37edbfccb6908541f359433f420f9f1bc25bc714&amp;v=4" width="90" height="90" />
      <p>Zhijiang Wang</p>
    </div>
  </div>
</div>

<h3 id="new-committers">New Committers</h3>

<div class="row">
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars3.githubusercontent.com/u/11538663?s=400&amp;u=f4643f1981e2a8f8a1962c34511b0d32a31d9502&amp;v=4" width="90" height="90" />
      <p><a href="https://twitter.com/snntrable">Konstantin Knauf</a></p>
    </div>
  </div>
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars1.githubusercontent.com/u/1891970?s=400&amp;u=b7718355ceb1f4a8d1e554c3ae7221e2f32cc8e0&amp;v=4" width="90" height="90" />
      <p><a href="https://twitter.com/sjwiesman">Seth Wiesman</a></p>
    </div>
  </div>
</div>

<hr />

<h1 id="the-bigger-picture">The Bigger Picture</h1>

<h2 id="a-new-self-paced-apache-flink-training">A new self-paced Apache Flink training</h2>

<div style="line-height:60%;">
    <br />
</div>

<p>This week, the Flink website received the invaluable contribution of a self-paced training course curated by David (<a href="https://twitter.com/alpinegizmo">@alpinegizmo</a>) — or, what used to be the entire training materials under <a href="training.ververica.com">training.ververica.com</a>. The new materials guide you through the very basics of Flink and the DataStream API, and round off every concepts section with hands-on exercises to help you better assimilate what you learned.</p>

<div style="line-height:60%;">
    <br />
</div>

<center>
<img src="/img/blog/2020-05-06-community-update/2020-05-06-community-update_1.png" width="1000px" alt="Self-paced Flink Training" />
</center>

<div style="line-height:140%;">
    <br />
</div>

<p>Whether you’re new to Flink or just looking to strengthen your foundations, this training is the most comprehensive way to get started and is now completely open source: <a href="https://flink.apache.org/training.html">https://flink.apache.org/training.html</a>. For now, the materials are only available in English, but the community intends to also provide a Chinese translation in the future.</p>

<hr />

<h2 id="google-season-of-docs-2020">Google Season of Docs 2020</h2>

<p>Google Season of Docs (GSOD) is a great initiative organized by <a href="https://opensource.google.com/">Google Open Source</a> to pair technical writers with mentors to work on documentation for open source projects. Last year, the Flink community submitted <a href="https://flink.apache.org/news/2019/04/17/sod.html">an application</a> that unfortunately didn’t make the cut — but we are trying again! This time, with a project idea to improve the Table API &amp; SQL documentation:</p>

<p><strong>1) Restructure the Table API &amp; SQL Documentation</strong></p>

<p>Reworking the current documentation structure would allow to:</p>

<ul>
  <li>
    <p>Lower the entry barrier to Flink for non-programmatic (i.e. SQL) users.</p>
  </li>
  <li>
    <p>Make the available features more easily discoverable.</p>
  </li>
  <li>
    <p>Improve the flow and logical correlation of topics.</p>
  </li>
</ul>

<p><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=127405685">FLIP-60</a> contains a detailed proposal on how to reorganize the existing documentation, which can be used as a starting point.</p>

<p><strong>2) Extend the Table API &amp; SQL Documentation</strong></p>

<p>Some areas of the documentation have insufficient detail or are not <a href="https://flink.apache.org/contributing/docs-style.html#general-guiding-principles">accessible</a> for new Flink users. Examples of topics and sections that require attention are: planners, built-in functions, connectors, overview and concepts sections. There is a lot of work to be done and the technical writer could choose what areas to focus on — these improvements could then be added to the documentation rework umbrella issue (<a href="https://issues.apache.org/jira/browse/FLINK-12639">FLINK-12639</a>).</p>

<p>If you’re interested in learning more about this project idea or want to get involved in GSoD as a technical writer, check out the <a href="https://flink.apache.org/news/2020/05/04/season-of-docs.html">announcement blogpost</a>.</p>

<hr />

<h1 id="and-something-to-read">…and something to read!</h1>

<p>Events across the globe have pretty much come to a halt, so we’ll leave you with some interesting resources to read and explore instead. In addition to this written content, you can also recap the sessions from the <a href="https://www.youtube.com/playlist?list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7">Flink Forward Virtual Conference</a>!</p>

<table class="table table-bordered">
  <thead>
    <tr>
      <th>Type</th>
      <th>Links</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><span class="glyphicon glyphicon glyphicon-bookmark" aria-hidden="true"></span> Blogposts</td>
      <td><ul>
		  <li><a href="https://medium.com/@abdelkrim.hadjidj/event-driven-supply-chain-for-crisis-with-flinksql-be80cb3ad4f9">Event-Driven Supply Chain for Crisis with FlinkSQL and Zeppelin</a></li>
		  </ul>
		  <ul>
		  <li><a href="https://flink.apache.org/news/2020/04/21/memory-management-improvements-flink-1.10.html">Memory Management Improvements with Apache Flink 1.10</a></li>
		  <li><a href="https://flink.apache.org/news/2020/04/15/flink-serialization-tuning-vol-1.html">Flink Serialization Tuning Vol. 1: Choosing your Serializer — if you can</a></li>
		</ul>
	  </td>
    </tr>
    <tr>
      <td><span class="glyphicon glyphicon-console" aria-hidden="true"></span> Tutorials</td>
      <td><ul>
      	  <li><a href="https://flink.apache.org/2020/04/09/pyflink-udf-support-flink.html">PyFlink: Introducing Python Support for UDFs in Flink's Table API</a></li>
      	  <li><a href="https://dev.to/morsapaes/flink-stateful-functions-where-to-start-2j39">Flink Stateful Functions: where to start?</a></li>
		  </ul>
	  </td>
    </tr>
    <tr>
      <td><span class="glyphicon glyphicon glyphicon-certificate" aria-hidden="true"></span> Flink Packages</td>
      <td><ul><p><a href="https://flink-packages.org/">Flink Packages</a> is a website where you can explore (and contribute to) the Flink <br /> ecosystem of connectors, extensions, APIs, tools and integrations. <b>New in:</b> </p>
      	  <li><a href="https://flink-packages.org/packages/spillable-state-backend-for-flink">Spillable State Backend for Flink</a></li>
		  <li><a href="https://flink-packages.org/packages/flink-memory-calculator">Flink Memory Calculator</a></li>
		  <li><a href="https://flink-packages.org/packages/ververica-platform-community-edition">Ververica Platform Community Edition</a></li>
		  </ul>
	  </td>
    </tr>
  </tbody>
</table>

<p>If you’d like to keep a closer eye on what’s happening in the community, subscribe to the Flink <a href="https://flink.apache.org/community.html#mailing-lists">@community mailing list</a> to get fine-grained weekly updates, upcoming event announcements and more.</p>

      </article>
    </div>

    <div class="row">
      <div id="disqus_thread"></div>
      <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'stratosphere-eu'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
             (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
      </script>
    </div>
  </div>
</div>
      </div>
    </div>

    <hr />

    <div class="row">
      <div class="footer text-center col-sm-12">
        <p>Copyright © 2014-2019 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
        <p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
      </div>
    </div>
    </div><!-- /.container -->

    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js"></script>
    <script src="/js/codetabs.js"></script>
    <script src="/js/stickysidebar.js"></script>

    <!-- Google Analytics -->
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-52545728-1', 'auto');
      ga('send', 'pageview');
    </script>
  </body>
</html>
