blob: cf59cc24c97544646b9ebd7b90bf43afbf259c27 [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.1.4 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.1.4 Released</h1>
<p><i></i></p>
<article>
<p>21 Dec 2016</p>
<p>The Apache Flink community released the next bugfix version of the Apache Flink 1.1 series.</p>
<p>This release includes major robustness improvements for checkpoint cleanup on failures and consumption of intermediate streams. We highly recommend all users to upgrade to Flink 1.1.4.</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.1.4<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.10<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.1.4<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.10<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.1.4<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>
<h2 id="note-for-rocksdb-backend-users">Note for RocksDB Backend Users</h2>
<p>We updated Flink’s RocksDB dependency version from <code>4.5.1</code> to <code>4.11.2</code>. Between these versions some of RocksDB’s internal configuration defaults changed that would affect the memory footprint of running Flink with RocksDB. Therefore, we manually reset them to the previous defaults. If you want to run with the new Rocks 4.11.2 defaults, you can do this via:</p>
<div class="highlight"><pre><code class="language-java"><span class="n">RocksDBStateBackend</span> <span class="n">backend</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">RocksDBStateBackend</span><span class="o">(</span><span class="s">&quot;...&quot;</span><span class="o">);</span>
<span class="c1">// Use the new default options. Otherwise, the default for RocksDB 4.5.1</span>
<span class="c1">// `PredefinedOptions.DEFAULT_ROCKS_4_5_1` will be used.</span>
<span class="n">backend</span><span class="o">.</span><span class="na">setPredefinedOptions</span><span class="o">(</span><span class="n">PredefinedOptions</span><span class="o">.</span><span class="na">DEFAULT</span><span class="o">);</span></code></pre></div>
<h2 id="release-notes---flink---version-114">Release Notes - Flink - Version 1.1.4</h2>
<h3 id="sub-task">Sub-task</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4510">FLINK-4510</a>] - Always create CheckpointCoordinator
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4984">FLINK-4984</a>] - Add Cancellation Barriers to BarrierTracker and BarrierBuffer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4985">FLINK-4985</a>] - Report Declined/Canceled Checkpoints to Checkpoint Coordinator
</li>
</ul>
<h3 id="bug">Bug</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-2662">FLINK-2662</a>] - CompilerException: &quot;Bug: Plan generation for Unions picked a ship strategy between binary plan operators.&quot;
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-3680">FLINK-3680</a>] - Remove or improve (not set) text in the Job Plan UI
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-3813">FLINK-3813</a>] - YARNSessionFIFOITCase.testDetachedMode failed on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4108">FLINK-4108</a>] - NPE in Row.productArity
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4506">FLINK-4506</a>] - CsvOutputFormat defaults allowNullValues to false, even though doc and declaration says true
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4581">FLINK-4581</a>] - Table API throws &quot;No suitable driver found for jdbc:calcite&quot;
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4586">FLINK-4586</a>] - NumberSequenceIterator and Accumulator threading issue
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4619">FLINK-4619</a>] - JobManager does not answer to client when restore from savepoint fails
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4727">FLINK-4727</a>] - Kafka 0.9 Consumer should also checkpoint auto retrieved offsets even when no data is read
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4862">FLINK-4862</a>] - NPE on EventTimeSessionWindows with ContinuousEventTimeTrigger
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4932">FLINK-4932</a>] - Don&#39;t let ExecutionGraph fail when in state Restarting
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4933">FLINK-4933</a>] - ExecutionGraph.scheduleOrUpdateConsumers can fail the ExecutionGraph
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4977">FLINK-4977</a>] - Enum serialization does not work in all cases
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4991">FLINK-4991</a>] - TestTask hangs in testWatchDogInterruptsTask
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4998">FLINK-4998</a>] - ResourceManager fails when num task slots &gt; Yarn vcores
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5013">FLINK-5013</a>] - Flink Kinesis connector doesn&#39;t work on old EMR versions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5028">FLINK-5028</a>] - Stream Tasks must not go through clean shutdown logic on cancellation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5038">FLINK-5038</a>] - Errors in the &quot;cancelTask&quot; method prevent closeables from being closed early
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5039">FLINK-5039</a>] - Avro GenericRecord support is broken
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5040">FLINK-5040</a>] - Set correct input channel types with eager scheduling
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5050">FLINK-5050</a>] - JSON.org license is CatX
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5057">FLINK-5057</a>] - Cancellation timeouts are picked from wrong config
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5058">FLINK-5058</a>] - taskManagerMemory attribute set wrong value in FlinkShell
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5063">FLINK-5063</a>] - State handles are not properly cleaned up for declined or expired checkpoints
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5073">FLINK-5073</a>] - ZooKeeperCompleteCheckpointStore executes blocking delete operation in ZooKeeper client thread
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5075">FLINK-5075</a>] - Kinesis consumer incorrectly determines shards as newly discovered when tested against Kinesalite
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5082">FLINK-5082</a>] - Pull ExecutionService lifecycle management out of the JobManager
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5085">FLINK-5085</a>] - Execute CheckpointCoodinator&#39;s state discard calls asynchronously
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5114">FLINK-5114</a>] - PartitionState update with finished execution fails
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5142">FLINK-5142</a>] - Resource leak in CheckpointCoordinator
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5149">FLINK-5149</a>] - ContinuousEventTimeTrigger doesn&#39;t fire at the end of the window
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5154">FLINK-5154</a>] - Duplicate TypeSerializer when writing RocksDB Snapshot
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5158">FLINK-5158</a>] - Handle ZooKeeperCompletedCheckpointStore exceptions in CheckpointCoordinator
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5172">FLINK-5172</a>] - In RocksDBStateBackend, set flink-core and flink-streaming-java to &quot;provided&quot;
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5173">FLINK-5173</a>] - Upgrade RocksDB dependency
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5184">FLINK-5184</a>] - Error result of compareSerialized in RowComparator class
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5193">FLINK-5193</a>] - Recovering all jobs fails completely if a single recovery fails
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5197">FLINK-5197</a>] - Late JobStatusChanged messages can interfere with running jobs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5214">FLINK-5214</a>] - Clean up checkpoint files when failing checkpoint operation on TM
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5215">FLINK-5215</a>] - Close checkpoint streams upon cancellation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5216">FLINK-5216</a>] - CheckpointCoordinator&#39;s &#39;minPauseBetweenCheckpoints&#39; refers to checkpoint start rather then checkpoint completion
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5218">FLINK-5218</a>] - Eagerly close checkpoint streams on cancellation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5228">FLINK-5228</a>] - LocalInputChannel re-trigger request and release deadlock
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5229">FLINK-5229</a>] - Cleanup StreamTaskStates if a checkpoint operation of a subsequent operator fails
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5246">FLINK-5246</a>] - Don&#39;t discard unknown checkpoint messages in the CheckpointCoordinator
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5248">FLINK-5248</a>] - SavepointITCase doesn&#39;t catch savepoint restore failure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5274">FLINK-5274</a>] - LocalInputChannel throws NPE if partition reader is released
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5275">FLINK-5275</a>] - InputChanelDeploymentDescriptors throws misleading Exception if producer failed/cancelled
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5276">FLINK-5276</a>] - ExecutionVertex archiving can throw NPE with many previous attempts
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5285">FLINK-5285</a>] - CancelCheckpointMarker flood when using at least once mode
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5326">FLINK-5326</a>] - IllegalStateException: Bug in Netty consumer logic: reader queue got notified by partition about available data, but none was available
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5352">FLINK-5352</a>] - Restore RocksDB 1.1.3 memory behavior
</li>
</ul>
<h3 id="improvement">Improvement</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-3347">FLINK-3347</a>] - TaskManager (or its ActorSystem) need to restart in case they notice quarantine
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-3787">FLINK-3787</a>] - Yarn client does not report unfulfillable container constraints
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4445">FLINK-4445</a>] - Ignore unmatched state when restoring from savepoint
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4715">FLINK-4715</a>] - TaskManager should commit suicide after cancellation failure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4894">FLINK-4894</a>] - Don&#39;t block on buffer request after broadcastEvent
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4975">FLINK-4975</a>] - Add a limit for how much data may be buffered during checkpoint alignment
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4996">FLINK-4996</a>] - Make CrossHint @Public
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5046">FLINK-5046</a>] - Avoid redundant serialization when creating the TaskDeploymentDescriptor
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5123">FLINK-5123</a>] - Add description how to do proper shading to Flink docs.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5169">FLINK-5169</a>] - Make consumption of input channels fair
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5192">FLINK-5192</a>] - Provide better log config templates
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5194">FLINK-5194</a>] - Log heartbeats on TRACE level
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5196">FLINK-5196</a>] - Don&#39;t log InputChannelDescriptor
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5198">FLINK-5198</a>] - Overwrite TaskState toString
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5199">FLINK-5199</a>] - Improve logging of submitted job graph actions in HA case
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5201">FLINK-5201</a>] - Promote loaded config properties to INFO
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5207">FLINK-5207</a>] - Decrease HadoopFileSystem logging
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5249">FLINK-5249</a>] - description of datastream rescaling doesn&#39;t match the figure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5259">FLINK-5259</a>] - wrong execution environment in retry delays example
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5278">FLINK-5278</a>] - Improve Task and checkpoint logging
</li>
</ul>
<h3 id="new-feature">New Feature</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4976">FLINK-4976</a>] - Add a way to abort in flight checkpoints
</li>
</ul>
<h3 id="task">Task</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4778">FLINK-4778</a>] - Update program example in /docs/setup/cli.md due to the change in FLINK-2021
</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>