blob: f59a15eef8b815f1a359de8b521eb0f155455a7f [file] [log] [blame]
<!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: Apache Flink 1.6.3 Released</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>Apache Flink 1.6.3 Released</h1>
<p><i></i></p>
<article>
<p>22 Dec 2018</p>
<p>The Apache Flink community released the third bugfix version of the Apache Flink 1.6 series.</p>
<p>This release includes more than 80 fixes and minor improvements for Flink 1.6.2. The list below includes a detailed list of all fixes.</p>
<p>We highly recommend all users to upgrade to Flink 1.6.3.</p>
<p>Updated Maven dependencies:</p>
<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.6.3<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-streaming-java_2.11<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.6.3<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-clients_2.11<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.6.3<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
<p>You can find the binaries on the updated <a href="http://flink.apache.org/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-10097">FLINK-10097</a>] - More tests to increase StreamingFileSink test coverage
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10252">FLINK-10252</a>] - Handle oversized metric messages
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10367">FLINK-10367</a>] - Avoid recursion stack overflow during releasing SingleInputGate
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10863">FLINK-10863</a>] - Assign uids to all operators in general purpose testing job
</li>
</ul>
<h2> Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8336">FLINK-8336</a>] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9635">FLINK-9635</a>] - Local recovery scheduling can cause spread out of tasks
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9646">FLINK-9646</a>] - ExecutionGraphCoLocationRestartTest.testConstraintsAfterRestart failed on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9878">FLINK-9878</a>] - IO worker threads BLOCKED on SSL Session Cache while CMS full gc
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10149">FLINK-10149</a>] - Fink Mesos allocates extra port when not configured to do so.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10166">FLINK-10166</a>] - Dependency problems when executing SQL query in sql-client
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10309">FLINK-10309</a>] - Cancel with savepoint fails with java.net.ConnectException when using the per job-mode
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10357">FLINK-10357</a>] - Streaming File Sink end-to-end test failed with mismatch
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10359">FLINK-10359</a>] - Scala example in DataSet docs is broken
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10364">FLINK-10364</a>] - Test instability in NonHAQueryableStateFsBackendITCase#testMapState
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10419">FLINK-10419</a>] - ClassNotFoundException while deserializing user exceptions from checkpointing
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10425">FLINK-10425</a>] - taskmanager.host is not respected
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10455">FLINK-10455</a>] - Potential Kafka producer leak in case of failures
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10463">FLINK-10463</a>] - Null literal cannot be properly parsed in Java Table API function call
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10481">FLINK-10481</a>] - Wordcount end-to-end test in docker env unstable
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10482">FLINK-10482</a>] - java.lang.IllegalArgumentException: Negative number of in progress checkpoints
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10491">FLINK-10491</a>] - Deadlock during spilling data in SpillableSubpartition
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10566">FLINK-10566</a>] - Flink Planning is exponential in the number of stages
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10567">FLINK-10567</a>] - Lost serialize fields when ttl state store with the mutable serializer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10570">FLINK-10570</a>] - State grows unbounded when &quot;within&quot; constraint not applied
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10581">FLINK-10581</a>] - YarnConfigurationITCase.testFlinkContainerMemory test instability
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10642">FLINK-10642</a>] - CodeGen split fields errors when maxGeneratedCodeLength equals 1
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10655">FLINK-10655</a>] - RemoteRpcInvocation not overwriting ObjectInputStream&#39;s ClassNotFoundException
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10663">FLINK-10663</a>] - Closing StreamingFileSink can cause NPE
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10669">FLINK-10669</a>] - Exceptions &amp; errors are not properly checked in logs in e2e tests
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10670">FLINK-10670</a>] - Fix Correlate codegen error
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10674">FLINK-10674</a>] - Fix handling of retractions after clean up
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10681">FLINK-10681</a>] - elasticsearch6.ElasticsearchSinkITCase fails if wrong JNA library installed
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10690">FLINK-10690</a>] - Tests leak resources via Files.list
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10693">FLINK-10693</a>] - Fix Scala EitherSerializer duplication
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10715">FLINK-10715</a>] - E2e tests fail with ConcurrentModificationException in MetricRegistryImpl
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10750">FLINK-10750</a>] - SocketClientSinkTest.testRetry fails on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10752">FLINK-10752</a>] - Result of AbstractYarnClusterDescriptor#validateClusterResources is ignored
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10753">FLINK-10753</a>] - Propagate and log snapshotting exceptions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10763">FLINK-10763</a>] - Interval join produces wrong result type in Scala API
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10770">FLINK-10770</a>] - Some generated functions are not opened properly.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10773">FLINK-10773</a>] - Resume externalized checkpoint end-to-end test fails
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10809">FLINK-10809</a>] - Using DataStreamUtils.reinterpretAsKeyedStream produces corrupted keyed state after restore
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10816">FLINK-10816</a>] - Fix LockableTypeSerializer.duplicate()
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10821">FLINK-10821</a>] - Resuming Externalized Checkpoint E2E test does not resume from Externalized Checkpoint
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10839">FLINK-10839</a>] - Fix implementation of PojoSerializer.duplicate() w.r.t. subclass serializer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10842">FLINK-10842</a>] - Waiting loops are broken in e2e/common.sh
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10856">FLINK-10856</a>] - Harden resume from externalized checkpoint E2E test
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10857">FLINK-10857</a>] - Conflict between JMX and Prometheus Metrics reporter
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10880">FLINK-10880</a>] - Failover strategies should not be applied to Batch Execution
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10913">FLINK-10913</a>] - ExecutionGraphRestartTest.testRestartAutomatically unstable on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10925">FLINK-10925</a>] - NPE in PythonPlanStreamer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10946">FLINK-10946</a>] - Resuming Externalized Checkpoint (rocks, incremental, scale up) end-to-end test failed on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10990">FLINK-10990</a>] - Enforce minimum timespan in MeterView
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10992">FLINK-10992</a>] - Jepsen: Do not use /tmp as HDFS Data Directory
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10997">FLINK-10997</a>] - Avro-confluent-registry does not bundle any dependency
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10998">FLINK-10998</a>] - flink-metrics-ganglia has LGPL dependency
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11011">FLINK-11011</a>] - Elasticsearch 6 sink end-to-end test unstable
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11017">FLINK-11017</a>] - Time interval for window aggregations in SQL is wrongly translated if specified with YEAR_MONTH resolution
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11029">FLINK-11029</a>] - Incorrect parameter in Working with state doc
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11041">FLINK-11041</a>] - ReinterpretDataStreamAsKeyedStreamITCase.testReinterpretAsKeyedStream failed on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11045">FLINK-11045</a>] - UserCodeClassLoader has not been set correctly for RuntimeUDFContext in CollectionExecutor
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11083">FLINK-11083</a>] - CRowSerializerConfigSnapshot is not instantiable
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11087">FLINK-11087</a>] - Broadcast state migration Incompatibility from 1.5.3 to 1.7.0
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11123">FLINK-11123</a>] - Missing import in ML quickstart docs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11136">FLINK-11136</a>] - Fix the logical of merge for DISTINCT aggregates
</li>
</ul>
<h2> Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4173">FLINK-4173</a>] - Replace maven-assembly-plugin by maven-shade-plugin in flink-metrics
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10353">FLINK-10353</a>] - Restoring a KafkaProducer with Semantic.EXACTLY_ONCE from a savepoint written with Semantic.AT_LEAST_ONCE fails with NPE
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10608">FLINK-10608</a>] - Add avro files generated by datastream-allround-test to RAT exclusions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10613">FLINK-10613</a>] - Remove logger casts in HBaseConnectorITCase
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10614">FLINK-10614</a>] - Update test_batch_allround.sh e2e to new testing infrastructure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10637">FLINK-10637</a>] - Start MiniCluster with random REST port
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10678">FLINK-10678</a>] - Add a switch to run_test to configure if logs should be checked for errors/excepions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10692">FLINK-10692</a>] - Harden Confluent schema E2E test
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10883">FLINK-10883</a>] - Submitting a jobs without enough slots times out due to a unspecified timeout
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10906">FLINK-10906</a>] - docker-entrypoint.sh logs credentails during startup
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10916">FLINK-10916</a>] - Include duplicated user-specified uid into error message
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10951">FLINK-10951</a>] - Disable enforcing of YARN container virtual memory limits in tests
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-11005">FLINK-11005</a>] - Define flink-sql-client uber-jar dependencies via artifactSet
</li>
</ul>
<h2> Test
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10606">FLINK-10606</a>] - Construct NetworkEnvironment simple for tests
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10607">FLINK-10607</a>] - Unify to remove duplicated NoOpResultPartitionConsumableNotifier
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10827">FLINK-10827</a>] - Add test for duplicate() to SerializerTestBase
</li>
</ul>
<h2> Wish
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-10793">FLINK-10793</a>] - Change visibility of TtlValue and TtlSerializer to public for external tools
</li>
</ul>
</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>