This is an automated email from the ASF dual-hosted git repository.

rmetzger pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/flink-web.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 75a8f23  regenerate page
75a8f23 is described below

commit 75a8f234de12cda035c54a065405d9ff028fd517
Author: Robert Metzger <[email protected]>
AuthorDate: Fri Jun 12 15:02:12 2020 +0200

    regenerate page
---
 content/blog/feed.xml                              | 322 ++++++++----------
 content/blog/index.html                            |  36 +-
 content/blog/page10/index.html                     |  37 +-
 content/blog/page11/index.html                     |  39 ++-
 content/blog/page12/index.html                     |  25 ++
 content/blog/page2/index.html                      |  38 ++-
 content/blog/page3/index.html                      |  38 ++-
 content/blog/page4/index.html                      |  38 ++-
 content/blog/page5/index.html                      |  40 ++-
 content/blog/page6/index.html                      |  38 ++-
 content/blog/page7/index.html                      |  37 +-
 content/blog/page8/index.html                      |  39 ++-
 content/blog/page9/index.html                      |  38 ++-
 .../FlinkForward_Banner_CFP_Global_2020.png        | Bin 0 -> 405263 bytes
 content/index.html                                 |   8 +-
 content/news/2020/06/11/community-update.html      | 374 +++++++++++++++++++++
 content/zh/index.html                              |   8 +-
 17 files changed, 799 insertions(+), 356 deletions(-)

diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index 7f51ba0..23b09f0 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -7,6 +7,137 @@
 <atom:link href="https://flink.apache.org/blog/feed.xml"; rel="self" 
type="application/rss+xml" />
 
 <item>
+<title>Flink Community Update - June&#39;20</title>
+<description>&lt;p&gt;And suddenly it’s June. The previous month has been calm 
on the surface, but quite hectic underneath — the final testing phase for Flink 
1.11 is moving at full speed, Stateful Functions 2.1 is out in the wild and 
Flink has made it into Google Season of Docs 2020.&lt;/p&gt;
+
+&lt;p&gt;To top it off, a piece of good news: &lt;a 
href=&quot;https://www.flink-forward.org/global-2020&quot;&gt;Flink 
Forward&lt;/a&gt; is back on October 19-22 as a free virtual event!&lt;/p&gt;
+
+&lt;div class=&quot;page-toc&quot;&gt;
+&lt;ul id=&quot;markdown-toc&quot;&gt;
+  &lt;li&gt;&lt;a href=&quot;#the-past-month-in-flink&quot; 
id=&quot;markdown-toc-the-past-month-in-flink&quot;&gt;The Past Month in 
Flink&lt;/a&gt;    &lt;ul&gt;
+      &lt;li&gt;&lt;a href=&quot;#flink-stateful-functions-21-release&quot; 
id=&quot;markdown-toc-flink-stateful-functions-21-release&quot;&gt;Flink 
Stateful Functions 2.1 Release&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href=&quot;#testing-is-on-for-flink-111&quot; 
id=&quot;markdown-toc-testing-is-on-for-flink-111&quot;&gt;Testing is ON for 
Flink 1.11&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href=&quot;#flink-minor-releases&quot; 
id=&quot;markdown-toc-flink-minor-releases&quot;&gt;Flink Minor 
Releases&lt;/a&gt;        &lt;ul&gt;
+          &lt;li&gt;&lt;a href=&quot;#flink-1101&quot; 
id=&quot;markdown-toc-flink-1101&quot;&gt;Flink 1.10.1&lt;/a&gt;&lt;/li&gt;
+        &lt;/ul&gt;
+      &lt;/li&gt;
+      &lt;li&gt;&lt;a href=&quot;#new-committers-and-pmc-members&quot; 
id=&quot;markdown-toc-new-committers-and-pmc-members&quot;&gt;New Committers 
and PMC Members&lt;/a&gt;        &lt;ul&gt;
+          &lt;li&gt;&lt;a href=&quot;#new-committers&quot; 
id=&quot;markdown-toc-new-committers&quot;&gt;New 
Committers&lt;/a&gt;&lt;/li&gt;
+        &lt;/ul&gt;
+      &lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;#the-bigger-picture&quot; 
id=&quot;markdown-toc-the-bigger-picture&quot;&gt;The Bigger Picture&lt;/a&gt;  
  &lt;ul&gt;
+      &lt;li&gt;&lt;a 
href=&quot;#flink-forward-global-virtual-conference-2020&quot; 
id=&quot;markdown-toc-flink-forward-global-virtual-conference-2020&quot;&gt;Flink
 Forward Global Virtual Conference 2020&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href=&quot;#google-season-of-docs-2020&quot; 
id=&quot;markdown-toc-google-season-of-docs-2020&quot;&gt;Google Season of Docs 
2020&lt;/a&gt;&lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;/div&gt;
+
+&lt;h1 id=&quot;the-past-month-in-flink&quot;&gt;The Past Month in 
Flink&lt;/h1&gt;
+
+&lt;h2 id=&quot;flink-stateful-functions-21-release&quot;&gt;Flink Stateful 
Functions 2.1 Release&lt;/h2&gt;
+
+&lt;p&gt;It might seem like &lt;a 
href=&quot;https://flink.apache.org/news/2020/04/07/release-statefun-2.0.0.html&quot;&gt;Stateful
 Functions 2.0 was announced&lt;/a&gt; only a handful of weeks ago (and it 
was!), but the Flink community has just released Stateful Functions 2.1! This 
release introduces two new features: state expiration for any kind of persisted 
state and support for UNIX Domain Sockets (UDS) to improve the performance of 
inter-container communication in co-located deploy [...]
+
+&lt;p&gt;As the community around StateFun grows, the release cycle will follow 
this pattern of smaller and more frequent releases to incorporate user feedback 
and allow for faster iteration. If you’d like to get involved, we’re always 
&lt;a 
href=&quot;https://github.com/apache/flink-statefun#contributing&quot;&gt;looking
 for new contributors&lt;/a&gt; — especially around SDKs for other languages 
(e.g. Go, Rust, Javascript).&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h2 id=&quot;testing-is-on-for-flink-111&quot;&gt;Testing is ON for Flink 
1.11&lt;/h2&gt;
+
+&lt;p&gt;Things have been pretty quiet in the Flink community, as all efforts 
shifted to testing the newest features shipping with Flink 1.11. While we wait 
for a voting Release Candidate (RC) to be out, you can check the progress of 
testing in &lt;a 
href=&quot;https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=364&amp;amp;projectKey=FLINK&quot;&gt;this
 JIRA burndown board&lt;/a&gt; and learn more about some of the &lt;a 
href=&quot;https://flink.apache.org/news/2020/05/07/co [...]
+
+&lt;ul&gt;
+  &lt;li&gt;
+    &lt;p&gt;&lt;a 
href=&quot;https://www.youtube.com/watch?v=ssEmeLcL5Uk&quot;&gt;Rethinking of 
fault tolerance in Flink: what lies ahead?&lt;/a&gt;&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;&lt;a 
href=&quot;https://www.youtube.com/watch?v=t7fAN3xNJ3Q&quot;&gt;It’s finally 
here: Python on Flink &amp;amp; Flink on Zeppelin&lt;/a&gt;&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;&lt;a 
href=&quot;https://www.youtube.com/watch?v=KDD8e4GE12w&quot;&gt;A deep dive 
into Flink SQL&lt;/a&gt;&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;&lt;a 
href=&quot;https://www.youtube.com/watch?v=4ce1H9CRyEc&quot;&gt;Production-Ready
 Flink and Hive Integration - what story you can tell now?&lt;/a&gt;&lt;/p&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;We encourage the wider community to also get involved in testing once 
the voting RC is out. Keep an eye on the &lt;a 
href=&quot;https://flink.apache.org/community.html#mailing-lists&quot;&gt;@dev 
mailing list&lt;/a&gt; for updates!&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h2 id=&quot;flink-minor-releases&quot;&gt;Flink Minor Releases&lt;/h2&gt;
+
+&lt;h3 id=&quot;flink-1101&quot;&gt;Flink 1.10.1&lt;/h3&gt;
+
+&lt;p&gt;The community released Flink 1.10.1, covering some outstanding bugs 
in Flink 1.10. You can find more in the &lt;a 
href=&quot;https://flink.apache.org/news/2020/05/12/release-1.10.1.html&quot;&gt;announcement
 blogpost&lt;/a&gt;!&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h2 id=&quot;new-committers-and-pmc-members&quot;&gt;New Committers and PMC 
Members&lt;/h2&gt;
+
+&lt;p&gt;The Apache Flink community has welcomed &lt;strong&gt;2 new 
Committers&lt;/strong&gt; since the last update. Congratulations!&lt;/p&gt;
+
+&lt;h3 id=&quot;new-committers&quot;&gt;New Committers&lt;/h3&gt;
+
+&lt;div class=&quot;row&quot;&gt;
+  &lt;div class=&quot;col-lg-3&quot;&gt;
+    &lt;div class=&quot;text-center&quot;&gt;
+      &lt;img class=&quot;img-circle&quot; 
src=&quot;https://avatars3.githubusercontent.com/u/4471524?s=400&amp;amp;v=4&quot;
 width=&quot;90&quot; height=&quot;90&quot; /&gt;
+      &lt;p&gt;Benchao Li&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;col-lg-3&quot;&gt;
+    &lt;div class=&quot;text-center&quot;&gt;
+      &lt;img class=&quot;img-circle&quot; 
src=&quot;https://avatars0.githubusercontent.com/u/6509172?s=400&amp;amp;v=4&quot;
 width=&quot;90&quot; height=&quot;90&quot; /&gt;
+      &lt;p&gt;Xintong Song&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+&lt;hr /&gt;
+
+&lt;h1 id=&quot;the-bigger-picture&quot;&gt;The Bigger Picture&lt;/h1&gt;
+
+&lt;h2 id=&quot;flink-forward-global-virtual-conference-2020&quot;&gt;Flink 
Forward Global Virtual Conference 2020&lt;/h2&gt;
+
+&lt;p&gt;After a first successful &lt;a 
href=&quot;https://www.youtube.com/playlist?list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7&quot;&gt;virtual
 conference&lt;/a&gt; last April, Flink Forward will be hosting a second free 
virtual edition on October 19-22. This time around, the conference will feature 
two days of hands-on training and two full days of conference talks!&lt;/p&gt;
+
+&lt;p&gt;Got a Flink story to share? Maybe your recent adventures with 
Stateful Functions? The &lt;a 
href=&quot;https://www.flink-forward.org/global-2020/call-for-presentations&quot;&gt;Call
 for Presentations is now open&lt;/a&gt; and accepting submissions from the 
community until &lt;strong&gt;June 19th, 11:59 PM CEST&lt;/strong&gt;.&lt;/p&gt;
+
+&lt;div style=&quot;line-height:60%;&quot;&gt;
+    &lt;br /&gt;
+&lt;/div&gt;
+
+&lt;center&gt;
+&lt;img 
src=&quot;/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png&quot;
 width=&quot;600px&quot; alt=&quot;Flink Forward Global 2020&quot; /&gt;
+&lt;/center&gt;
+
+&lt;div style=&quot;line-height:60%;&quot;&gt;
+    &lt;br /&gt;
+&lt;/div&gt;
+
+&lt;hr /&gt;
+
+&lt;h2 id=&quot;google-season-of-docs-2020&quot;&gt;Google Season of Docs 
2020&lt;/h2&gt;
+
+&lt;p&gt;In the last update, we announced that Flink was applying to &lt;a 
href=&quot;https://developers.google.com/season-of-docs&quot;&gt;Google Season 
of Docs (GSoD)&lt;/a&gt; again this year. The good news: we’ve made it into the 
shortlist of accepted projects! This represents an invaluable opportunity for 
the Flink community to collaborate with technical writers to improve the Table 
API &amp;amp; SQL documentation. We’re honored to have seen a great number of 
people reach out over t [...]
+
+&lt;p&gt;If you’re interested in learning more about our project idea or want 
to get involved in GSoD as a technical writer, check out the &lt;a 
href=&quot;https://flink.apache.org/news/2020/05/04/season-of-docs.html&quot;&gt;announcement
 blogpost&lt;/a&gt; and &lt;a 
href=&quot;https://developers.google.com/season-of-docs/docs/tech-writer-application-hints&quot;&gt;submit
 your application&lt;/a&gt;. The deadline for GSoD applications is 
&lt;strong&gt;July 9th, 18:00 UTC&lt;/strong&gt;.&l [...]
+
+&lt;hr /&gt;
+
+&lt;p&gt;If you’d like to keep a closer eye on what’s happening in the 
community, subscribe to the Flink &lt;a 
href=&quot;https://flink.apache.org/community.html#mailing-lists&quot;&gt;@community
 mailing list&lt;/a&gt; to get fine-grained weekly updates, upcoming event 
announcements and more.&lt;/p&gt;
+</description>
+<pubDate>Thu, 11 Jun 2020 10:00:00 +0200</pubDate>
+<link>https://flink.apache.org/news/2020/06/11/community-update.html</link>
+<guid isPermaLink="true">/news/2020/06/11/community-update.html</guid>
+</item>
+
+<item>
 <title>Stateful Functions 2.1.0 Release Announcement</title>
 <description>&lt;p&gt;The Apache Flink community is happy to announce the 
release of Stateful Functions (StateFun) 2.1.0! This release introduces new 
features around state expiration and performance improvements for co-located 
deployments, as well as other important changes that improve the stability and 
testability of the project. As the community around StateFun grows, the release 
cycle will follow this pattern of smaller and more frequent releases to 
incorporate user feedback and allo [...]
 
@@ -16823,196 +16954,5 @@ including Apache Flink.&lt;/p&gt;
 <guid isPermaLink="true">/news/2015/05/14/Community-update-April.html</guid>
 </item>
 
-<item>
-<title>Juggling with Bits and Bytes</title>
-<description>&lt;h2 
id=&quot;how-apache-flink-operates-on-binary-data&quot;&gt;How Apache Flink 
operates on binary data&lt;/h2&gt;
-
-&lt;p&gt;Nowadays, a lot of open-source systems for analyzing large data sets 
are implemented in Java or other JVM-based programming languages. The most 
well-known example is Apache Hadoop, but also newer frameworks such as Apache 
Spark, Apache Drill, and also Apache Flink run on JVMs. A common challenge that 
JVM-based data analysis engines face is to store large amounts of data in 
memory - both for caching and for efficient processing such as sorting and 
joining of data. Managing the JV [...]
-
-&lt;p&gt;In this blog post we discuss how Apache Flink manages memory, talk 
about its custom data de/serialization stack, and show how it operates on 
binary data.&lt;/p&gt;
-
-&lt;h2 id=&quot;data-objects-lets-put-them-on-the-heap&quot;&gt;Data Objects? 
Let’s put them on the heap!&lt;/h2&gt;
-
-&lt;p&gt;The most straight-forward approach to process lots of data in a JVM 
is to put it as objects on the heap and operate on these objects. Caching a 
data set as objects would be as simple as maintaining a list containing an 
object for each record. An in-memory sort would simply sort the list of objects.
-However, this approach has a few notable drawbacks. First of all it is not 
trivial to watch and control heap memory usage when a lot of objects are 
created and invalidated constantly. Memory overallocation instantly kills the 
JVM with an &lt;code&gt;OutOfMemoryError&lt;/code&gt;. Another aspect is 
garbage collection on multi-GB JVMs which are flooded with new objects. The 
overhead of garbage collection in such environments can easily reach 50% and 
more. Finally, Java objects come with a  [...]
-
-&lt;h2 id=&quot;what-is-flink-doing-about-that&quot;&gt;What is Flink doing 
about that?&lt;/h2&gt;
-
-&lt;p&gt;Apache Flink has its roots at a research project which aimed to 
combine the best technologies of MapReduce-based systems and parallel database 
systems. Coming from this background, Flink has always had its own way of 
processing data in-memory. Instead of putting lots of objects on the heap, 
Flink serializes objects into a fixed number of pre-allocated memory segments. 
Its DBMS-style sort and join algorithms operate as much as possible on this 
binary data to keep the de/serializa [...]
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/memory-mgmt.png&quot; 
style=&quot;width:90%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;p&gt;Flink’s style of active memory management and operating on binary 
data has several benefits:&lt;/p&gt;
-
-&lt;ol&gt;
-  &lt;li&gt;&lt;strong&gt;Memory-safe execution &amp;amp; efficient 
out-of-core algorithms.&lt;/strong&gt; Due to the fixed amount of allocated 
memory segments, it is trivial to monitor remaining memory resources. In case 
of memory shortage, processing operators can efficiently write larger batches 
of memory segments to disk and later them read back. Consequently, 
&lt;code&gt;OutOfMemoryErrors&lt;/code&gt; are effectively prevented.&lt;/li&gt;
-  &lt;li&gt;&lt;strong&gt;Reduced garbage collection pressure.&lt;/strong&gt; 
Because all long-lived data is in binary representation in Flink’s managed 
memory, all data objects are short-lived or even mutable and can be reused. 
Short-lived objects can be more efficiently garbage-collected, which 
significantly reduces garbage collection pressure. Right now, the pre-allocated 
memory segments are long-lived objects on the JVM heap, but the Flink community 
is actively working on allocating  [...]
-  &lt;li&gt;&lt;strong&gt;Space efficient data representation.&lt;/strong&gt; 
Java objects have a storage overhead which can be avoided if the data is stored 
in a binary representation.&lt;/li&gt;
-  &lt;li&gt;&lt;strong&gt;Efficient binary operations &amp;amp; cache 
sensitivity.&lt;/strong&gt; Binary data can be efficiently compared and 
operated on given a suitable binary representation. Furthermore, the binary 
representations can put related values, as well as hash codes, keys, and 
pointers, adjacently into memory. This gives data structures with usually more 
cache efficient access patterns.&lt;/li&gt;
-&lt;/ol&gt;
-
-&lt;p&gt;These properties of active memory management are very desirable in a 
data processing systems for large-scale data analytics but have a significant 
price tag attached. Active memory management and operating on binary data is 
not trivial to implement, i.e., using 
&lt;code&gt;java.util.HashMap&lt;/code&gt; is much easier than implementing a 
spillable hash-table backed by byte arrays and a custom serialization stack. Of 
course Apache Flink is not the only JVM-based data processing s [...]
-
-&lt;p&gt;In the following we discuss in detail how Flink allocates memory, 
de/serializes objects, and operates on binary data. We will also show some 
performance numbers comparing processing objects on the heap and operating on 
binary data.&lt;/p&gt;
-
-&lt;h2 id=&quot;how-does-flink-allocate-memory&quot;&gt;How does Flink 
allocate memory?&lt;/h2&gt;
-
-&lt;p&gt;A Flink worker, called TaskManager, is composed of several internal 
components such as an actor system for coordination with the Flink master, an 
IOManager that takes care of spilling data to disk and reading it back, and a 
MemoryManager that coordinates memory usage. In the context of this blog post, 
the MemoryManager is of most interest.&lt;/p&gt;
-
-&lt;p&gt;The MemoryManager takes care of allocating, accounting, and 
distributing MemorySegments to data processing operators such as sort and join 
operators. A &lt;a 
href=&quot;https://github.com/apache/flink/blob/release-0.9.0-milestone-1/flink-core/src/main/java/org/apache/flink/core/memory/MemorySegment.java&quot;&gt;MemorySegment&lt;/a&gt;
 is Flink’s distribution unit of memory and is backed by a regular Java byte 
array (size is 32 KB by default). A MemorySegment provides very effic [...]
-
-&lt;p&gt;MemorySegments are allocated once at TaskManager start-up time and 
are destroyed when the TaskManager is shut down. Hence, they are reused and not 
garbage-collected over the whole lifetime of a TaskManager. After all internal 
data structures of a TaskManager have been initialized and all core services 
have been started, the MemoryManager starts creating MemorySegments. By default 
70% of the JVM heap that is available after service initialization is allocated 
by the MemoryManager [...]
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/memory-alloc.png&quot; 
style=&quot;width:60%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;h2 id=&quot;how-does-flink-serialize-objects&quot;&gt;How does Flink 
serialize objects?&lt;/h2&gt;
-
-&lt;p&gt;The Java ecosystem offers several libraries to convert objects into a 
binary representation and back. Common alternatives are standard Java 
serialization, &lt;a 
href=&quot;https://github.com/EsotericSoftware/kryo&quot;&gt;Kryo&lt;/a&gt;, 
&lt;a href=&quot;http://avro.apache.org/&quot;&gt;Apache Avro&lt;/a&gt;, &lt;a 
href=&quot;http://thrift.apache.org/&quot;&gt;Apache Thrift&lt;/a&gt;, or 
Google’s &lt;a 
href=&quot;https://github.com/google/protobuf&quot;&gt;Protobuf&lt;/a&gt;. Fl 
[...]
-
-&lt;p&gt;Flink programs can process data represented as arbitrary Java or 
Scala objects. Before a program is optimized, the data types at each processing 
step of the program’s data flow need to be identified. For Java programs, Flink 
features a reflection-based type extraction component to analyze the return 
types of user-defined functions. Scala programs are analyzed with help of the 
Scala compiler. Flink represents each data type with a &lt;a 
href=&quot;https://github.com/apache/flink/ [...]
-
-&lt;ul&gt;
-  &lt;li&gt;BasicTypeInfo: Any (boxed) Java primitive type or 
java.lang.String.&lt;/li&gt;
-  &lt;li&gt;BasicArrayTypeInfo: Any array of a (boxed) Java primitive type or 
java.lang.String.&lt;/li&gt;
-  &lt;li&gt;WritableTypeInfo: Any implementation of Hadoop’s Writable 
interface.&lt;/li&gt;
-  &lt;li&gt;TupleTypeInfo: Any Flink tuple (Tuple1 to Tuple25). Flink tuples 
are Java representations for fixed-length tuples with typed fields.&lt;/li&gt;
-  &lt;li&gt;CaseClassTypeInfo: Any Scala CaseClass (including Scala 
tuples).&lt;/li&gt;
-  &lt;li&gt;PojoTypeInfo: Any POJO (Java or Scala), i.e., an object with all 
fields either being public or accessible through getters and setter that follow 
the common naming conventions.&lt;/li&gt;
-  &lt;li&gt;GenericTypeInfo: Any data type that cannot be identified as 
another type.&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;Each TypeInformation provides a serializer for the data type it 
represents. For example, a BasicTypeInfo returns a serializer that writes the 
respective primitive type, the serializer of a WritableTypeInfo delegates 
de/serialization to the write() and readFields() methods of the object 
implementing Hadoop’s Writable interface, and a GenericTypeInfo returns a 
serializer that delegates serialization to Kryo. Object serialization to a 
DataOutput which is backed by Flink MemorySegme [...]
-
-&lt;p&gt;Tuple, Pojo, and CaseClass types are composite types, i.e., 
containers for one or more possibly nested data types. As such, their 
serializers and comparators are also composite and delegate the serialization 
and comparison of their member data types to the respective serializers and 
comparators. The following figure illustrates the serialization of a (nested) 
&lt;code&gt;Tuple3&amp;lt;Integer, Double, Person&amp;gt;&lt;/code&gt; object 
where &lt;code&gt;Person&lt;/code&gt; is a  [...]
-
-&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code 
class=&quot;language-java&quot;&gt;&lt;span 
class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span 
class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span 
class=&quot;nc&quot;&gt;Person&lt;/span&gt; &lt;span 
class=&quot;o&quot;&gt;{&lt;/span&gt;
-    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span 
class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span 
class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span 
class=&quot;o&quot;&gt;;&lt;/span&gt;
-    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span 
class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span 
class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span 
class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span 
class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/data-serialization.png&quot; 
style=&quot;width:80%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;p&gt;Flink’s type system can be easily extended by providing custom 
TypeInformations, Serializers, and Comparators to improve the performance of 
serializing and comparing custom data types.&lt;/p&gt;
-
-&lt;h2 id=&quot;how-does-flink-operate-on-binary-data&quot;&gt;How does Flink 
operate on binary data?&lt;/h2&gt;
-
-&lt;p&gt;Similar to many other data processing APIs (including SQL), Flink’s 
APIs provide transformations to group, sort, and join data sets. These 
transformations operate on potentially very large data sets. Relational 
database systems feature very efficient algorithms for these purposes since 
several decades including external merge-sort, merge-join, and hybrid 
hash-join. Flink builds on this technology, but generalizes it to handle 
arbitrary objects using its custom serialization and  [...]
-
-&lt;p&gt;Flink assigns a memory budget to its data processing operators. Upon 
initialization, a sort algorithm requests its memory budget from the 
MemoryManager and receives a corresponding set of MemorySegments. The set of 
MemorySegments becomes the memory pool of a so-called sort buffer which 
collects the data that is be sorted. The following figure illustrates how data 
objects are serialized into the sort buffer.&lt;/p&gt;
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/sorting-binary-data-1.png&quot; 
style=&quot;width:90%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;p&gt;The sort buffer is internally organized into two memory regions. The 
first region holds the full binary data of all objects. The second region 
contains pointers to the full binary object data and - depending on the key 
data type - fixed-length sort keys. When an object is added to the sort buffer, 
its binary data is appended to the first region, and a pointer (and possibly a 
key) is appended to the second region. The separation of actual data and 
pointers plus fixed-length keys  [...]
-The following figure shows how two objects are compared.&lt;/p&gt;
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/sorting-binary-data-2.png&quot; 
style=&quot;width:80%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;p&gt;The sort buffer compares two elements by comparing their binary 
fix-length sort keys. The comparison is successful if either done on a full key 
(not a prefix key) or if the binary prefix keys are not equal. If the prefix 
keys are equal (or the sort key data type does not provide a binary prefix 
key), the sort buffer follows the pointers to the actual object data, 
deserializes both objects and compares the objects. Depending on the result of 
the comparison, the sort algorithm dec [...]
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/sorting-binary-data-3.png&quot; 
style=&quot;width:80%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;p&gt;The sorted data is returned by sequentially reading the pointer 
region of the sort buffer, skipping the sort keys and following the sorted 
pointers to the actual data. This data is either deserialized and returned as 
objects or the binary representation is copied and written to disk in case of 
an external merge-sort (see this &lt;a 
href=&quot;http://flink.apache.org/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html&quot;&gt;blog
 post on joins in Flink&lt;/a&gt;).&lt;/p&gt;
-
-&lt;h2 id=&quot;show-me-numbers&quot;&gt;Show me numbers!&lt;/h2&gt;
-
-&lt;p&gt;So, what does operating on binary data mean for performance? We’ll 
run a benchmark that sorts 10 million &lt;code&gt;Tuple2&amp;lt;Integer, 
String&amp;gt;&lt;/code&gt; objects to find out. The values of the Integer 
field are sampled from a uniform distribution. The String field values have a 
length of 12 characters and are sampled from a long-tail distribution. The 
input data is provided by an iterator that returns a mutable object, i.e., the 
same tuple object instance is return [...]
-
-&lt;ol&gt;
-  &lt;li&gt;&lt;strong&gt;Object-on-heap.&lt;/strong&gt; The tuples are stored 
in a regular &lt;code&gt;java.util.ArrayList&lt;/code&gt; with initial capacity 
set to 10 million entries and sorted using Java’s regular collection 
sort.&lt;/li&gt;
-  &lt;li&gt;&lt;strong&gt;Flink-serialized.&lt;/strong&gt; The tuple fields 
are serialized into a sort buffer of 600 MB size using Flink’s custom 
serializers, sorted as described above, and finally deserialized again. When 
sorting on the Integer field, the full Integer is used as sort key such that 
the sort happens entirely on binary data (no deserialization of objects 
required). For sorting on the String field a 8-byte prefix key is used and 
tuple objects are deserialized if the prefix  [...]
-  &lt;li&gt;&lt;strong&gt;Kryo-serialized.&lt;/strong&gt; The tuple fields are 
serialized into a sort buffer of 600 MB size using Kryo serialization and 
sorted without binary sort keys. This means that each pair-wise comparison 
requires two object to be deserialized.&lt;/li&gt;
-&lt;/ol&gt;
-
-&lt;p&gt;All sort methods are implemented using a single thread. The reported 
times are averaged over ten runs. After each run, we call 
&lt;code&gt;System.gc()&lt;/code&gt; to request a garbage collection run which 
does not go into measured execution time. The following figure shows the time 
to store the input data in memory, sort it, and read it back as 
objects.&lt;/p&gt;
-
-&lt;center&gt;
-&lt;img src=&quot;/img/blog/sort-benchmark.png&quot; 
style=&quot;width:90%;margin:15px&quot; /&gt;
-&lt;/center&gt;
-
-&lt;p&gt;We see that Flink’s sort on binary data using its own serializers 
significantly outperforms the other two methods. Comparing to the 
object-on-heap method, we see that loading the data into memory is much faster. 
Since we actually collect the objects, there is no opportunity to reuse the 
object instances, but have to re-create every tuple. This is less efficient 
than Flink’s serializers (or Kryo serialization). On the other hand, reading 
objects from the heap comes for free compa [...]
-
-&lt;table width=&quot;100%&quot;&gt;
-  &lt;tr&gt;
-    &lt;th&gt;&lt;/th&gt;
-    &lt;th&gt;&lt;center&gt;&lt;b&gt;Garbage 
Collection&lt;/b&gt;&lt;/center&gt;&lt;/th&gt;
-    &lt;th&gt;&lt;center&gt;&lt;b&gt;Memory 
Usage&lt;/b&gt;&lt;/center&gt;&lt;/th&gt;
-  &lt;/tr&gt;
-  &lt;tr&gt;
-    &lt;td&gt;&lt;b&gt;Object-on-Heap (int)&lt;/b&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;img src=&quot;/img/blog/objHeap-int-gc.png&quot; 
style=&quot;width:80%&quot; /&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;img src=&quot;/img/blog/objHeap-int-mem.png&quot; 
style=&quot;width:80%&quot; /&gt;&lt;/td&gt;
-  &lt;/tr&gt;
-  &lt;tr&gt;
-    &lt;td&gt;&lt;b&gt;Flink-Serialized (int)&lt;/b&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;img src=&quot;/img/blog/flinkSer-int-gc.png&quot; 
style=&quot;width:80%&quot; /&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;img src=&quot;/img/blog/flinkSer-int-mem.png&quot; 
style=&quot;width:80%&quot; /&gt;&lt;/td&gt;
-  &lt;/tr&gt;
-  &lt;tr&gt;
-    &lt;td&gt;&lt;b&gt;Kryo-Serialized (int)&lt;/b&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;img src=&quot;/img/blog/kryoSer-int-gc.png&quot; 
style=&quot;width:80%&quot; /&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;img src=&quot;/img/blog/kryoSer-int-mem.png&quot; 
style=&quot;width:80%&quot; /&gt;&lt;/td&gt;
-  &lt;/tr&gt;
-&lt;/table&gt;
-
-&lt;p&gt;The experiments run single-threaded on an 8-core machine, so full 
utilization of one core only corresponds to a 12.5% overall utilization. The 
screenshots show that operating on binary data significantly reduces garbage 
collection activity. For the object-on-heap approach, the garbage collector 
runs in very short intervals while filling the sort buffer and causes a lot of 
CPU usage even for a single processing thread (sorting itself does not trigger 
the garbage collector). The J [...]
-
-&lt;p&gt;The memory usage charts shows that the flink-serialized and 
kryo-serialized constantly occupy a high amount of memory (plus some objects 
for operation). This is due to the pre-allocation of MemorySegments. The actual 
memory usage is much lower, because the sort buffers are not completely filled. 
The following table shows the memory consumption of each method. 10 million 
records result in about 280 MB of binary data (object data plus pointers and 
sort keys) depending on the used  [...]
-
-&lt;table width=&quot;100%&quot;&gt;
-  &lt;tr&gt;
-       &lt;th&gt;Occupied Memory&lt;/th&gt;
-    &lt;th&gt;Object-on-Heap&lt;/th&gt;
-    &lt;th&gt;Flink-Serialized&lt;/th&gt;
-    &lt;th&gt;Kryo-Serialized&lt;/th&gt;
-  &lt;/tr&gt;
-  &lt;tr&gt;
-    &lt;td&gt;&lt;b&gt;Sort on Integer&lt;/b&gt;&lt;/td&gt;
-    &lt;td&gt;approx. 700 MB (heap)&lt;/td&gt;
-    &lt;td&gt;277 MB (sort buffer)&lt;/td&gt;
-    &lt;td&gt;266 MB (sort buffer)&lt;/td&gt;
-  &lt;/tr&gt;
-  &lt;tr&gt;
-    &lt;td&gt;&lt;b&gt;Sort on String&lt;/b&gt;&lt;/td&gt;
-    &lt;td&gt;approx. 700 MB (heap)&lt;/td&gt;
-    &lt;td&gt;315 MB (sort buffer)&lt;/td&gt;
-    &lt;td&gt;266 MB (sort buffer)&lt;/td&gt;
-  &lt;/tr&gt;
-&lt;/table&gt;
-
-&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
-
-&lt;p&gt;To summarize, the experiments verify the previously stated benefits 
of operating on binary data.&lt;/p&gt;
-
-&lt;h2 id=&quot;were-not-done-yet&quot;&gt;We’re not done yet!&lt;/h2&gt;
-
-&lt;p&gt;Apache Flink features quite a bit of advanced techniques to safely 
and efficiently process huge amounts of data with limited memory resources. 
However, there are a few points that could make Flink even more efficient. The 
Flink community is working on moving the managed memory to off-heap memory. 
This will allow for smaller JVMs, lower garbage collection overhead, and also 
easier system configuration. With Flink’s Table API, the semantics of all 
operations such as aggregations a [...]
-
-&lt;p&gt;The groundwork (and a lot more) for operating on binary data is done 
but there is still some room for making Flink even better and faster. If you 
are crazy about performance and like to juggle with lot of bits and bytes, join 
the Flink community!&lt;/p&gt;
-
-&lt;h2 id=&quot;tldr-give-me-three-things-to-remember&quot;&gt;TL;DR; Give me 
three things to remember!&lt;/h2&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;Flink’s active memory management avoids nasty 
&lt;code&gt;OutOfMemoryErrors&lt;/code&gt; that kill your JVMs and reduces 
garbage collection overhead.&lt;/li&gt;
-  &lt;li&gt;Flink features a highly efficient data de/serialization stack that 
facilitates operations on binary data and makes more data fit into 
memory.&lt;/li&gt;
-  &lt;li&gt;Flink’s DBMS-style operators operate natively on binary data 
yielding high performance in-memory and destage gracefully to disk if 
necessary.&lt;/li&gt;
-&lt;/ul&gt;
-</description>
-<pubDate>Mon, 11 May 2015 12:00:00 +0200</pubDate>
-<link>https://flink.apache.org/news/2015/05/11/Juggling-with-Bits-and-Bytes.html</link>
-<guid 
isPermaLink="true">/news/2015/05/11/Juggling-with-Bits-and-Bytes.html</guid>
-</item>
-
 </channel>
 </rss>
diff --git a/content/blog/index.html b/content/blog/index.html
index 5cf1b73..eb6fba3 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/06/11/community-update.html">Flink Community Update - 
June'20</a></h2>
+
+      <p>11 Jun 2020
+       Marta Paes (<a href="https://twitter.com/morsapaes";>@morsapaes</a>)</p>
+
+      <p>And suddenly it’s June. The previous month has been calm on the 
surface, but quite hectic underneath — the final testing phase for Flink 1.11 
is moving at full speed, Stateful Functions 2.1 is out in the wild and Flink 
has made it into Google Season of Docs 2020.</p>
+
+      <p><a href="/news/2020/06/11/community-update.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful Functions 2.1.0 
Release Announcement</a></h2>
 
       <p>09 Jun 2020
@@ -321,19 +334,6 @@ This release marks a big milestone: Stateful Functions 2.0 
is not only an API up
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2020/04/01/community-update.html">Flink Community Update - 
April'20</a></h2>
-
-      <p>01 Apr 2020
-       Marta Paes (<a href="https://twitter.com/morsapaes";>@morsapaes</a>)</p>
-
-      <p>While things slow down around us, the Apache Flink community is 
privileged to remain as active as ever. This blogpost combs through the past 
few months to give you an update on the state of things in Flink — from core 
releases to Stateful Functions; from some good old community stats to a new 
development blog.</p>
-
-      <p><a href="/news/2020/04/01/community-update.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -366,6 +366,16 @@ This release marks a big milestone: Stateful Functions 2.0 
is not only an API up
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page10/index.html b/content/blog/page10/index.html
index 32b61e6..bdc80d3 100644
--- a/content/blog/page10/index.html
+++ b/content/blog/page10/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2015/12/11/storm-compatibility.html">Storm Compatibility in Apache 
Flink: How to run existing Storm topologies on Flink</a></h2>
+
+      <p>11 Dec 2015 by Matthias J. Sax (<a 
href="https://twitter.com/";>@MatthiasJSax</a>)
+      </p>
+
+      <p>In this blog post, we describe Flink's compatibility package for <a 
href="https://storm.apache.org";>Apache Storm</a> that allows to embed Spouts 
(sources) and Bolts (operators) in a regular Flink streaming job. Furthermore, 
the compatibility package provides a Storm compatible API in order to execute 
whole Storm topologies with (almost) no code adaption.</p>
+
+      <p><a href="/news/2015/12/11/storm-compatibility.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2015/12/04/Introducing-windows.html">Introducing Stream Windows in 
Apache Flink</a></h2>
 
       <p>04 Dec 2015 by Fabian Hueske (<a 
href="https://twitter.com/";>@fhueske</a>)
@@ -333,20 +346,6 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Juggling with Bits 
and Bytes</a></h2>
-
-      <p>11 May 2015 by Fabian Hüske (<a 
href="https://twitter.com/";>@fhueske</a>)
-      </p>
-
-      <p><p>Nowadays, a lot of open-source systems for analyzing large data 
sets are implemented in Java or other JVM-based programming languages. The most 
well-known example is Apache Hadoop, but also newer frameworks such as Apache 
Spark, Apache Drill, and also Apache Flink run on JVMs. A common challenge that 
JVM-based data analysis engines face is to store large amounts of data in 
memory - both for caching and for efficient processing such as sorting and 
joining of data. Managing the [...]
-<p>In this blog post we discuss how Apache Flink manages memory, talk about 
its custom data de/serialization stack, and show how it operates on binary 
data.</p></p>
-
-      <p><a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Continue 
reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -379,6 +378,16 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page11/index.html b/content/blog/page11/index.html
index 26bb52a..a78b694 100644
--- a/content/blog/page11/index.html
+++ b/content/blog/page11/index.html
@@ -196,6 +196,20 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Juggling with Bits 
and Bytes</a></h2>
+
+      <p>11 May 2015 by Fabian Hüske (<a 
href="https://twitter.com/";>@fhueske</a>)
+      </p>
+
+      <p><p>Nowadays, a lot of open-source systems for analyzing large data 
sets are implemented in Java or other JVM-based programming languages. The most 
well-known example is Apache Hadoop, but also newer frameworks such as Apache 
Spark, Apache Drill, and also Apache Flink run on JVMs. A common challenge that 
JVM-based data analysis engines face is to store large amounts of data in 
memory - both for caching and for efficient processing such as sorting and 
joining of data. Managing the [...]
+<p>In this blog post we discuss how Apache Flink manages memory, talk about 
its custom data de/serialization stack, and show how it operates on binary 
data.</p></p>
+
+      <p><a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Continue 
reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2015/04/13/release-0.9.0-milestone1.html">Announcing Flink 
0.9.0-milestone1 preview release</a></h2>
 
       <p>13 Apr 2015
@@ -340,21 +354,6 @@ and offers a new API including definition of flexible 
windows.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2014/11/04/release-0.7.0.html">Apache Flink 0.7.0 available</a></h2>
-
-      <p>04 Nov 2014
-      </p>
-
-      <p><p>We are pleased to announce the availability of Flink 0.7.0. This 
release includes new user-facing features as well as performance and bug fixes, 
brings the Scala and Java APIs in sync, and introduces Flink Streaming. A total 
of 34 people have contributed to this release, a big thanks to all of them!</p>
-
-</p>
-
-      <p><a href="/news/2014/11/04/release-0.7.0.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -387,6 +386,16 @@ and offers a new API including definition of flexible 
windows.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page12/index.html b/content/blog/page12/index.html
index 8f8ef22..da58d39 100644
--- a/content/blog/page12/index.html
+++ b/content/blog/page12/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2014/11/04/release-0.7.0.html">Apache Flink 0.7.0 available</a></h2>
+
+      <p>04 Nov 2014
+      </p>
+
+      <p><p>We are pleased to announce the availability of Flink 0.7.0. This 
release includes new user-facing features as well as performance and bug fixes, 
brings the Scala and Java APIs in sync, and introduces Flink Streaming. A total 
of 34 people have contributed to this release, a big thanks to all of them!</p>
+
+</p>
+
+      <p><a href="/news/2014/11/04/release-0.7.0.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2014/10/03/upcoming_events.html">Upcoming Events</a></h2>
 
       <p>03 Oct 2014
@@ -275,6 +290,16 @@ academic and open source project that Flink originates 
from.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page2/index.html b/content/blog/page2/index.html
index 4458a5c..9460f41 100644
--- a/content/blog/page2/index.html
+++ b/content/blog/page2/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/04/01/community-update.html">Flink Community Update - 
April'20</a></h2>
+
+      <p>01 Apr 2020
+       Marta Paes (<a href="https://twitter.com/morsapaes";>@morsapaes</a>)</p>
+
+      <p>While things slow down around us, the Apache Flink community is 
privileged to remain as active as ever. This blogpost combs through the past 
few months to give you an update on the state of things in Flink — from core 
releases to Stateful Functions; from some good old community stats to a new 
development blog.</p>
+
+      <p><a href="/news/2020/04/01/community-update.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/features/2020/03/27/flink-for-data-warehouse.html">Flink as Unified 
Engine for Modern Data Warehousing: Production-Ready Hive Integration</a></h2>
 
       <p>27 Mar 2020
@@ -318,21 +331,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2019/12/11/release-1.8.3.html">Apache Flink 1.8.3 Released</a></h2>
-
-      <p>11 Dec 2019
-       Hequn Cheng </p>
-
-      <p><p>The Apache Flink community released the third bugfix version of 
the Apache Flink 1.8 series.</p>
-
-</p>
-
-      <p><a href="/news/2019/12/11/release-1.8.3.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -365,6 +363,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page3/index.html b/content/blog/page3/index.html
index 4be9e38..fb8404e 100644
--- a/content/blog/page3/index.html
+++ b/content/blog/page3/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2019/12/11/release-1.8.3.html">Apache Flink 1.8.3 Released</a></h2>
+
+      <p>11 Dec 2019
+       Hequn Cheng </p>
+
+      <p><p>The Apache Flink community released the third bugfix version of 
the Apache Flink 1.8 series.</p>
+
+</p>
+
+      <p><a href="/news/2019/12/11/release-1.8.3.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2019/12/09/flink-kubernetes-kudo.html">Running Apache Flink on 
Kubernetes with KUDO</a></h2>
 
       <p>09 Dec 2019
@@ -321,19 +336,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/2019/06/26/broadcast-state.html">A 
Practical Guide to Broadcast State in Apache Flink</a></h2>
-
-      <p>26 Jun 2019
-       Fabian Hueske (<a href="https://twitter.com/fhueske";>@fhueske</a>)</p>
-
-      <p>Apache Flink has multiple types of operator state, one of which is 
called Broadcast State. In this post, we explain what Broadcast State is, and 
show an example of how it can be applied to an application that evaluates 
dynamic patterns on an event stream.</p>
-
-      <p><a href="/2019/06/26/broadcast-state.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -366,6 +368,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page4/index.html b/content/blog/page4/index.html
index 3760181..0c64f0c 100644
--- a/content/blog/page4/index.html
+++ b/content/blog/page4/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/2019/06/26/broadcast-state.html">A 
Practical Guide to Broadcast State in Apache Flink</a></h2>
+
+      <p>26 Jun 2019
+       Fabian Hueske (<a href="https://twitter.com/fhueske";>@fhueske</a>)</p>
+
+      <p>Apache Flink has multiple types of operator state, one of which is 
called Broadcast State. In this post, we explain what Broadcast State is, and 
show an example of how it can be applied to an application that evaluates 
dynamic patterns on an event stream.</p>
+
+      <p><a href="/2019/06/26/broadcast-state.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/2019/06/05/flink-network-stack.html">A 
Deep-Dive into Flink's Network Stack</a></h2>
 
       <p>05 Jun 2019
@@ -320,21 +333,6 @@ for more details.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2019/02/25/release-1.6.4.html">Apache Flink 1.6.4 Released</a></h2>
-
-      <p>25 Feb 2019
-      </p>
-
-      <p><p>The Apache Flink community released the fourth bugfix version of 
the Apache Flink 1.6 series.</p>
-
-</p>
-
-      <p><a href="/news/2019/02/25/release-1.6.4.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -367,6 +365,16 @@ for more details.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page5/index.html b/content/blog/page5/index.html
index a12e65e..496ddc2 100644
--- a/content/blog/page5/index.html
+++ b/content/blog/page5/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2019/02/25/release-1.6.4.html">Apache Flink 1.6.4 Released</a></h2>
+
+      <p>25 Feb 2019
+      </p>
+
+      <p><p>The Apache Flink community released the fourth bugfix version of 
the Apache Flink 1.6 series.</p>
+
+</p>
+
+      <p><a href="/news/2019/02/25/release-1.6.4.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2019/02/15/release-1.7.2.html">Apache Flink 1.7.2 Released</a></h2>
 
       <p>15 Feb 2019
@@ -330,21 +345,6 @@ Please check the <a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2018/09/20/release-1.5.4.html">Apache Flink 1.5.4 Released</a></h2>
-
-      <p>20 Sep 2018
-      </p>
-
-      <p><p>The Apache Flink community released the fourth bugfix version of 
the Apache Flink 1.5 series.</p>
-
-</p>
-
-      <p><a href="/news/2018/09/20/release-1.5.4.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -377,6 +377,16 @@ Please check the <a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page6/index.html b/content/blog/page6/index.html
index 5a0a6cf..bbea907 100644
--- a/content/blog/page6/index.html
+++ b/content/blog/page6/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2018/09/20/release-1.5.4.html">Apache Flink 1.5.4 Released</a></h2>
+
+      <p>20 Sep 2018
+      </p>
+
+      <p><p>The Apache Flink community released the fourth bugfix version of 
the Apache Flink 1.5 series.</p>
+
+</p>
+
+      <p><a href="/news/2018/09/20/release-1.5.4.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2018/08/21/release-1.5.3.html">Apache Flink 1.5.3 Released</a></h2>
 
       <p>21 Aug 2018
@@ -328,19 +343,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/features/2018/01/30/incremental-checkpointing.html">Managing Large State 
in Apache Flink: An Intro to Incremental Checkpointing</a></h2>
-
-      <p>30 Jan 2018
-       Stefan Ricther (<a 
href="https://twitter.com/StefanRRicther";>@StefanRRicther</a>) &amp; Chris Ward 
(<a href="https://twitter.com/chrischinch";>@chrischinch</a>)</p>
-
-      <p>Flink 1.3.0 introduced incremental checkpointing, making it possible 
for applications with large state to generate checkpoints more efficiently.</p>
-
-      <p><a 
href="/features/2018/01/30/incremental-checkpointing.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -373,6 +375,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page7/index.html b/content/blog/page7/index.html
index 6362ef2..632f4dc 100644
--- a/content/blog/page7/index.html
+++ b/content/blog/page7/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/features/2018/01/30/incremental-checkpointing.html">Managing Large State 
in Apache Flink: An Intro to Incremental Checkpointing</a></h2>
+
+      <p>30 Jan 2018
+       Stefan Ricther (<a 
href="https://twitter.com/StefanRRicther";>@StefanRRicther</a>) &amp; Chris Ward 
(<a href="https://twitter.com/chrischinch";>@chrischinch</a>)</p>
+
+      <p>Flink 1.3.0 introduced incremental checkpointing, making it possible 
for applications with large state to generate checkpoints more efficiently.</p>
+
+      <p><a 
href="/features/2018/01/30/incremental-checkpointing.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2017/12/21/2017-year-in-review.html">Apache Flink in 2017: Year in 
Review</a></h2>
 
       <p>21 Dec 2017
@@ -331,20 +344,6 @@ what’s coming in Flink 1.4.0 as well as a preview of what 
the Flink community
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2017/04/04/dynamic-tables.html">Continuous Queries on Dynamic 
Tables</a></h2>
-
-      <p>04 Apr 2017 by Fabian Hueske, Shaoxuan Wang, and Xiaowei Jiang
-      </p>
-
-      <p><p>Flink's relational APIs, the Table API and SQL, are unified APIs 
for stream and batch processing, meaning that a query produces the same result 
when being evaluated on streaming or static data.</p>
-<p>In this blog post we discuss the future of these APIs and introduce the 
concept of Dynamic Tables. Dynamic tables will significantly expand the scope 
of the Table API and SQL on streams and enable many more advanced use cases. We 
discuss how streams and dynamic tables relate to each other and explain the 
semantics of continuously evaluating queries on dynamic tables.</p></p>
-
-      <p><a href="/news/2017/04/04/dynamic-tables.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -377,6 +376,16 @@ what’s coming in Flink 1.4.0 as well as a preview of what 
the Flink community
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page8/index.html b/content/blog/page8/index.html
index 55ce291..4cbf258 100644
--- a/content/blog/page8/index.html
+++ b/content/blog/page8/index.html
@@ -196,6 +196,20 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2017/04/04/dynamic-tables.html">Continuous Queries on Dynamic 
Tables</a></h2>
+
+      <p>04 Apr 2017 by Fabian Hueske, Shaoxuan Wang, and Xiaowei Jiang
+      </p>
+
+      <p><p>Flink's relational APIs, the Table API and SQL, are unified APIs 
for stream and batch processing, meaning that a query produces the same result 
when being evaluated on streaming or static data.</p>
+<p>In this blog post we discuss the future of these APIs and introduce the 
concept of Dynamic Tables. Dynamic tables will significantly expand the scope 
of the Table API and SQL on streams and enable many more advanced use cases. We 
discuss how streams and dynamic tables relate to each other and explain the 
semantics of continuously evaluating queries on dynamic tables.</p></p>
+
+      <p><a href="/news/2017/04/04/dynamic-tables.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2017/03/29/table-sql-api-update.html">From Streams to Tables and 
Back Again: An Update on Flink's Table & SQL API</a></h2>
 
       <p>29 Mar 2017 by Timo Walther (<a 
href="https://twitter.com/";>@twalthr</a>)
@@ -324,21 +338,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2016/08/08/release-1.1.0.html">Announcing Apache Flink 
1.1.0</a></h2>
-
-      <p>08 Aug 2016
-      </p>
-
-      <p><div class="alert alert-success"><strong>Important</strong>: The 
Maven artifacts published with version 1.1.0 on Maven central have a Hadoop 
dependency issue. It is highly recommended to use <strong>1.1.1</strong> or 
<strong>1.1.1-hadoop1</strong> as the Flink version.</div>
-
-</p>
-
-      <p><a href="/news/2016/08/08/release-1.1.0.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -371,6 +370,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git a/content/blog/page9/index.html b/content/blog/page9/index.html
index 388e6e8..3bd741d 100644
--- a/content/blog/page9/index.html
+++ b/content/blog/page9/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2016/08/08/release-1.1.0.html">Announcing Apache Flink 
1.1.0</a></h2>
+
+      <p>08 Aug 2016
+      </p>
+
+      <p><div class="alert alert-success"><strong>Important</strong>: The 
Maven artifacts published with version 1.1.0 on Maven central have a Hadoop 
dependency issue. It is highly recommended to use <strong>1.1.1</strong> or 
<strong>1.1.1-hadoop1</strong> as the Flink version.</div>
+
+</p>
+
+      <p><a href="/news/2016/08/08/release-1.1.0.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2016/05/24/stream-sql.html">Stream 
Processing for Everyone with SQL and Apache Flink</a></h2>
 
       <p>24 May 2016 by Fabian Hueske (<a 
href="https://twitter.com/";>@fhueske</a>)
@@ -325,19 +340,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2015/12/11/storm-compatibility.html">Storm Compatibility in Apache 
Flink: How to run existing Storm topologies on Flink</a></h2>
-
-      <p>11 Dec 2015 by Matthias J. Sax (<a 
href="https://twitter.com/";>@MatthiasJSax</a>)
-      </p>
-
-      <p>In this blog post, we describe Flink's compatibility package for <a 
href="https://storm.apache.org";>Apache Storm</a> that allows to embed Spouts 
(sources) and Bolts (operators) in a regular Flink streaming job. Furthermore, 
the compatibility package provides a Storm compatible API in order to execute 
whole Storm topologies with (almost) no code adaption.</p>
-
-      <p><a href="/news/2015/12/11/storm-compatibility.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -370,6 +372,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></li>
 
       
diff --git 
a/content/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png
 
b/content/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png
new file mode 100644
index 0000000..8813d88
Binary files /dev/null and 
b/content/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png
 differ
diff --git a/content/index.html b/content/index.html
index e867f72..b4f74a2 100644
--- a/content/index.html
+++ b/content/index.html
@@ -568,6 +568,9 @@
 
   <dl>
       
+        <dt> <a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></dt>
+        <dd>And suddenly it’s June. The previous month has been calm on the 
surface, but quite hectic underneath — the final testing phase for Flink 1.11 
is moving at full speed, Stateful Functions 2.1 is out in the wild and Flink 
has made it into Google Season of Docs 2020.</dd>
+      
         <dt> <a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></dt>
         <dd><p>The Apache Flink community is happy to announce the release of 
Stateful Functions (StateFun) 2.1.0! This release introduces new features 
around state expiration and performance improvements for co-located 
deployments, as well as other important changes that improve the stability and 
testability of the project. As the community around StateFun grows, the release 
cycle will follow this pattern of smaller and more frequent releases to 
incorporate user feedback and allow for f [...]
 
@@ -583,11 +586,6 @@
       
         <dt> <a href="/news/2020/05/04/season-of-docs.html">Applying to Google 
Season of Docs 2020</a></dt>
         <dd>The Flink community is thrilled to share that the project is 
applying again to Google Season of Docs (GSoD) this year! If you’re unfamiliar 
with the program, GSoD is a great initiative organized by Google Open Source to 
pair technical writers with mentors to work on documentation for open source 
projects. Does working shoulder to shoulder with the Flink community on 
documentation sound exciting? We’d love to hear from you!</dd>
-      
-        <dt> <a href="/news/2020/04/24/release-1.9.3.html">Apache Flink 1.9.3 
Released</a></dt>
-        <dd><p>The Apache Flink community released the third bugfix version of 
the Apache Flink 1.9 series.</p>
-
-</dd>
     
   </dl>
 
diff --git a/content/news/2020/06/11/community-update.html 
b/content/news/2020/06/11/community-update.html
new file mode 100644
index 0000000..4781b40
--- /dev/null
+++ b/content/news/2020/06/11/community-update.html
@@ -0,0 +1,374 @@
+<!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 - June'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.10/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.10"; 
target="_blank">Flink 1.10 (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 - June'20</h1>
+      <p><i></i></p>
+
+      <article>
+        <p>11 Jun 2020 Marta Paes (<a 
href="https://twitter.com/morsapaes";>@morsapaes</a>)</p>
+
+<p>And suddenly it’s June. The previous month has been calm on the surface, 
but quite hectic underneath — the final testing phase for Flink 1.11 is moving 
at full speed, Stateful Functions 2.1 is out in the wild and Flink has made it 
into Google Season of Docs 2020.</p>
+
+<p>To top it off, a piece of good news: <a 
href="https://www.flink-forward.org/global-2020";>Flink Forward</a> is back on 
October 19-22 as a free virtual event!</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-21-release" 
id="markdown-toc-flink-stateful-functions-21-release">Flink Stateful Functions 
2.1 Release</a></li>
+      <li><a href="#testing-is-on-for-flink-111" 
id="markdown-toc-testing-is-on-for-flink-111">Testing is ON 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-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-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="#flink-forward-global-virtual-conference-2020" 
id="markdown-toc-flink-forward-global-virtual-conference-2020">Flink Forward 
Global Virtual Conference 2020</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>
+</ul>
+
+</div>
+
+<h1 id="the-past-month-in-flink">The Past Month in Flink</h1>
+
+<h2 id="flink-stateful-functions-21-release">Flink Stateful Functions 2.1 
Release</h2>
+
+<p>It might seem like <a 
href="https://flink.apache.org/news/2020/04/07/release-statefun-2.0.0.html";>Stateful
 Functions 2.0 was announced</a> only a handful of weeks ago (and it was!), but 
the Flink community has just released Stateful Functions 2.1! This release 
introduces two new features: state expiration for any kind of persisted state 
and support for UNIX Domain Sockets (UDS) to improve the performance of 
inter-container communication in co-located deployments; as well as other impo 
[...]
+
+<p>As the community around StateFun grows, the release cycle will follow this 
pattern of smaller and more frequent releases to incorporate user feedback and 
allow for faster iteration. 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 (e.g. Go, Rust, 
Javascript).</p>
+
+<hr />
+
+<h2 id="testing-is-on-for-flink-111">Testing is ON for Flink 1.11</h2>
+
+<p>Things have been pretty quiet in the Flink community, as all efforts 
shifted to testing the newest features shipping with Flink 1.11. While we wait 
for a voting Release Candidate (RC) to be out, you can check the progress of 
testing in <a 
href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=364&amp;projectKey=FLINK";>this
 JIRA burndown board</a> and learn more about some of the <a 
href="https://flink.apache.org/news/2020/05/07/community-update.html#warming-up-for-flink
 [...]
+
+<ul>
+  <li>
+    <p><a href="https://www.youtube.com/watch?v=ssEmeLcL5Uk";>Rethinking of 
fault tolerance in Flink: what lies ahead?</a></p>
+  </li>
+  <li>
+    <p><a href="https://www.youtube.com/watch?v=t7fAN3xNJ3Q";>It’s finally 
here: Python on Flink &amp; Flink on Zeppelin</a></p>
+  </li>
+  <li>
+    <p><a href="https://www.youtube.com/watch?v=KDD8e4GE12w";>A deep dive into 
Flink SQL</a></p>
+  </li>
+  <li>
+    <p><a href="https://www.youtube.com/watch?v=4ce1H9CRyEc";>Production-Ready 
Flink and Hive Integration - what story you can tell now?</a></p>
+  </li>
+</ul>
+
+<p>We encourage the wider community to also get involved in testing once the 
voting RC 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-1101">Flink 1.10.1</h3>
+
+<p>The community released Flink 1.10.1, covering some outstanding bugs in 
Flink 1.10. You can find more in the <a 
href="https://flink.apache.org/news/2020/05/12/release-1.10.1.html";>announcement
 blogpost</a>!</p>
+
+<hr />
+
+<h2 id="new-committers-and-pmc-members">New Committers and PMC Members</h2>
+
+<p>The Apache Flink community has welcomed <strong>2 new Committers</strong> 
since the last update. Congratulations!</p>
+
+<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/4471524?s=400&amp;v=4"; width="90" 
height="90" />
+      <p>Benchao Li</p>
+    </div>
+  </div>
+  <div class="col-lg-3">
+    <div class="text-center">
+      <img class="img-circle" 
src="https://avatars0.githubusercontent.com/u/6509172?s=400&amp;v=4"; width="90" 
height="90" />
+      <p>Xintong Song</p>
+    </div>
+  </div>
+</div>
+
+<hr />
+
+<h1 id="the-bigger-picture">The Bigger Picture</h1>
+
+<h2 id="flink-forward-global-virtual-conference-2020">Flink Forward Global 
Virtual Conference 2020</h2>
+
+<p>After a first successful <a 
href="https://www.youtube.com/playlist?list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7";>virtual
 conference</a> last April, Flink Forward will be hosting a second free virtual 
edition on October 19-22. This time around, the conference will feature two 
days of hands-on training and two full days of conference talks!</p>
+
+<p>Got a Flink story to share? Maybe your recent adventures with Stateful 
Functions? The <a 
href="https://www.flink-forward.org/global-2020/call-for-presentations";>Call 
for Presentations is now open</a> and accepting submissions from the community 
until <strong>June 19th, 11:59 PM CEST</strong>.</p>
+
+<div style="line-height:60%;">
+    <br />
+</div>
+
+<center>
+<img 
src="/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png"
 width="600px" alt="Flink Forward Global 2020" />
+</center>
+
+<div style="line-height:60%;">
+    <br />
+</div>
+
+<hr />
+
+<h2 id="google-season-of-docs-2020">Google Season of Docs 2020</h2>
+
+<p>In the last update, we announced that Flink was applying to <a 
href="https://developers.google.com/season-of-docs";>Google Season of Docs 
(GSoD)</a> again this year. The good news: we’ve made it into the shortlist of 
accepted projects! This represents an invaluable opportunity for the Flink 
community to collaborate with technical writers to improve the Table API &amp; 
SQL documentation. We’re honored to have seen a great number of people reach 
out over the last couple of weeks, and loo [...]
+
+<p>If you’re interested in learning more about our 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> and <a 
href="https://developers.google.com/season-of-docs/docs/tech-writer-application-hints";>submit
 your application</a>. The deadline for GSoD applications is <strong>July 9th, 
18:00 UTC</strong>.</p>
+
+<hr />
+
+<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>
diff --git a/content/zh/index.html b/content/zh/index.html
index f85b7f1..d89be9a 100644
--- a/content/zh/index.html
+++ b/content/zh/index.html
@@ -565,6 +565,9 @@
 
   <dl>
       
+        <dt> <a href="/news/2020/06/11/community-update.html">Flink Community 
Update - June'20</a></dt>
+        <dd>And suddenly it’s June. The previous month has been calm on the 
surface, but quite hectic underneath — the final testing phase for Flink 1.11 
is moving at full speed, Stateful Functions 2.1 is out in the wild and Flink 
has made it into Google Season of Docs 2020.</dd>
+      
         <dt> <a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful 
Functions 2.1.0 Release Announcement</a></dt>
         <dd><p>The Apache Flink community is happy to announce the release of 
Stateful Functions (StateFun) 2.1.0! This release introduces new features 
around state expiration and performance improvements for co-located 
deployments, as well as other important changes that improve the stability and 
testability of the project. As the community around StateFun grows, the release 
cycle will follow this pattern of smaller and more frequent releases to 
incorporate user feedback and allow for f [...]
 
@@ -580,11 +583,6 @@
       
         <dt> <a href="/news/2020/05/04/season-of-docs.html">Applying to Google 
Season of Docs 2020</a></dt>
         <dd>The Flink community is thrilled to share that the project is 
applying again to Google Season of Docs (GSoD) this year! If you’re unfamiliar 
with the program, GSoD is a great initiative organized by Google Open Source to 
pair technical writers with mentors to work on documentation for open source 
projects. Does working shoulder to shoulder with the Flink community on 
documentation sound exciting? We’d love to hear from you!</dd>
-      
-        <dt> <a href="/news/2020/04/24/release-1.9.3.html">Apache Flink 1.9.3 
Released</a></dt>
-        <dd><p>The Apache Flink community released the third bugfix version of 
the Apache Flink 1.9 series.</p>
-
-</dd>
     
   </dl>
 

Reply via email to