You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by re...@apache.org on 2024/05/17 08:12:50 UTC

(flink-web) branch asf-site updated (6356efb0c -> edace5b76)

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

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


    from 6356efb0c Update flink-operations.md 修正错字
     new 79bb0bf34 Add release announcement for Flink CDC 3.1.0
     new edace5b76 Rebuild website

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../08/26/apache-flink-0.6-available/index.html    |   2 +-
 .../09/26/apache-flink-0.6.1-available/index.html  |   2 +-
 content/2014/10/03/upcoming-events/index.html      |   2 +-
 .../11/04/apache-flink-0.7.0-available/index.html  |   2 +-
 .../11/18/hadoop-compatibility-in-flink/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../01/21/apache-flink-0.8.0-available/index.html  |   2 +-
 .../january-2015-in-the-flink-community/index.html |   2 +-
 .../02/09/introducing-flink-streaming/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../march-2015-in-the-flink-community/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../05/11/juggling-with-bits-and-bytes/index.html  |   2 +-
 .../april-2015-in-the-flink-community/index.html   |   2 +-
 .../06/24/announcing-apache-flink-0.9.0/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../09/01/apache-flink-0.9.1-available/index.html  |   2 +-
 .../09/03/announcing-flink-forward-2015/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../16/announcing-apache-flink-0.10.0/index.html   |   2 +-
 .../2015/11/27/flink-0.10.1-released/index.html    |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../2016/02/11/flink-0.10.2-released/index.html    |   2 +-
 .../03/08/announcing-apache-flink-1.0.0/index.html |   2 +-
 content/2016/04/06/flink-1.0.1-released/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 content/2016/04/22/flink-1.0.2-released/index.html |   2 +-
 content/2016/05/11/flink-1.0.3-released/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../08/04/announcing-apache-flink-1.1.0/index.html |   2 +-
 content/2016/08/04/flink-1.1.1-released/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../09/05/apache-flink-1.1.2-released/index.html   |   2 +-
 .../10/12/apache-flink-1.1.3-released/index.html   |   2 +-
 .../apache-flink-in-2016-year-in-review/index.html |   2 +-
 .../12/21/apache-flink-1.1.4-released/index.html   |   2 +-
 .../02/06/announcing-apache-flink-1.2.0/index.html |   2 +-
 .../03/23/apache-flink-1.1.5-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../04/26/apache-flink-1.2.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../06/23/apache-flink-1.3.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../08/05/apache-flink-1.3.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../apache-flink-in-2017-year-in-review/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../02/15/apache-flink-1.4.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../03/08/apache-flink-1.4.2-released/index.html   |   2 +-
 .../03/15/apache-flink-1.3.3-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../07/12/apache-flink-1.5.1-released/index.html   |   2 +-
 .../07/31/apache-flink-1.5.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../08/21/apache-flink-1.5.3-released/index.html   |   2 +-
 .../09/20/apache-flink-1.5.4-released/index.html   |   2 +-
 .../09/20/apache-flink-1.6.1-released/index.html   |   2 +-
 .../10/29/apache-flink-1.5.5-released/index.html   |   2 +-
 .../10/29/apache-flink-1.6.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../12/21/apache-flink-1.7.1-released/index.html   |   2 +-
 .../12/22/apache-flink-1.6.3-released/index.html   |   2 +-
 .../12/26/apache-flink-1.5.6-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../02/15/apache-flink-1.7.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../02/25/apache-flink-1.6.4-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../03/when-flink-pulsar-come-together/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../07/02/apache-flink-1.8.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../flink-community-update-september19/index.html  |   2 +-
 .../09/11/apache-flink-1.8.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../10/18/apache-flink-1.9.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../12/11/apache-flink-1.8.3-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../01/30/apache-flink-1.9.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../30/flink-community-update-april20/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../04/24/apache-flink-1.9.3-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../05/06/flink-community-update-may20/index.html  |   2 +-
 .../05/12/apache-flink-1.10.1-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../06/10/flink-community-update-june20/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../07/21/apache-flink-1.11.1-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../07/29/flink-community-update-july20/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../08/20/the-state-of-flink-on-docker/index.html  |   2 +-
 .../08/25/apache-flink-1.10.2-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../04/flink-community-update-august20/index.html  |   2 +-
 .../09/17/apache-flink-1.11.2-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../12/18/apache-flink-1.11.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../01/19/apache-flink-1.12.1-released/index.html  |   2 +-
 .../01/29/apache-flink-1.10.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../03/03/apache-flink-1.12.2-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../04/29/apache-flink-1.12.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../05/21/apache-flink-1.12.4-released/index.html  |   2 +-
 .../05/28/apache-flink-1.13.1-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../08/06/apache-flink-1.12.5-released/index.html  |   2 +-
 .../08/06/apache-flink-1.13.2-released/index.html  |   2 +-
 .../08/09/apache-flink-1.11.4-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../10/19/apache-flink-1.13.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../01/20/pravega-flink-connector-101/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../02/22/scala-free-in-one-fifteen/index.html     |   2 +-
 .../index.html                                     |   2 +-
 .../the-generic-asynchronous-base-sink/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../08/regarding-akkas-licensing-change/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     | 148 ++++---
 content/404.html                                   |   2 +-
 content/categories/index.html                      |   2 +-
 content/documentation/flink-cdc-master/index.html  |   2 +-
 content/documentation/flink-cdc-stable/index.html  |   2 +-
 .../flink-kubernetes-operator-master/index.html    |   2 +-
 .../flink-kubernetes-operator-stable/index.html    |   2 +-
 content/documentation/flink-master/index.html      |   2 +-
 content/documentation/flink-stable/index.html      |   2 +-
 .../flink-stateful-functions-master/index.html     |   2 +-
 .../flink-stateful-functions-stable/index.html     |   2 +-
 content/documentation/flinkml-master/index.html    |   2 +-
 content/documentation/flinkml-stable/index.html    |   2 +-
 content/documentation/index.html                   |   2 +-
 content/downloads/index.html                       |   2 +-
 ...56e407d09bab19a9474a98bc4846cf470c8b3925fef.js} | 493 +++++++++++----------
 ...958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js} |   2 +-
 content/en/sitemap.xml                             |  11 +-
 content/flink-packages/index.html                  |   2 +-
 content/getting-started/index.html                 |   2 +-
 content/getting-started/training-course/index.html |   2 +-
 content/getting-started/with-flink-cdc/index.html  |   2 +-
 .../with-flink-kubernetes-operator/index.html      |   2 +-
 content/getting-started/with-flink-ml/index.html   |   2 +-
 .../with-flink-stateful-functions/index.html       |   2 +-
 content/getting-started/with-flink/index.html      |   2 +-
 .../code-style-and-quality-common/index.html       |  30 +-
 .../code-style-and-quality-components/index.html   |  30 +-
 .../code-style-and-quality-formatting/index.html   |  30 +-
 .../code-style-and-quality-java/index.html         |  30 +-
 .../code-style-and-quality-preamble/index.html     |  30 +-
 .../index.html                                     |   2 +-
 .../code-style-and-quality-scala/index.html        |   2 +-
 .../how-to-contribute/contribute-code/index.html   |   2 +-
 .../contribute-documentation/index.html            |   2 +-
 .../documentation-style-guide/index.html           |   2 +-
 content/how-to-contribute/getting-help/index.html  |   2 +-
 .../how-to-contribute/improve-website/index.html   |   2 +-
 content/how-to-contribute/index.html               |   2 +-
 content/how-to-contribute/overview/index.html      |   2 +-
 content/how-to-contribute/reviewing-prs/index.html |   2 +-
 content/index.html                                 |  37 +-
 content/index.xml                                  |   9 +-
 content/material/index.html                        |   2 +-
 content/news/2024/05/17/release-cdc-3.1.0.html     |  10 +
 content/posts/index.html                           |  59 +--
 content/posts/index.xml                            |   9 +-
 content/posts/page/10/index.html                   |  59 ++-
 content/posts/page/11/index.html                   |  63 +--
 content/posts/page/12/index.html                   |  61 +--
 content/posts/page/13/index.html                   |  60 +--
 content/posts/page/14/index.html                   |  55 ++-
 content/posts/page/15/index.html                   |  58 ++-
 content/posts/page/16/index.html                   |  71 ++-
 content/posts/page/17/index.html                   |  69 +--
 content/posts/page/18/index.html                   |  65 ++-
 content/posts/page/19/index.html                   |  60 ++-
 content/posts/page/2/index.html                    |  58 +--
 content/posts/page/20/index.html                   |  50 ++-
 content/posts/page/21/index.html                   |  50 ++-
 content/posts/page/22/index.html                   |  50 ++-
 content/posts/page/23/index.html                   |  48 +-
 content/posts/page/24/index.html                   |  26 +-
 content/posts/page/3/index.html                    |  57 +--
 content/posts/page/4/index.html                    |  62 +--
 content/posts/page/5/index.html                    |  64 +--
 content/posts/page/6/index.html                    |  61 +--
 content/posts/page/7/index.html                    |  64 +--
 content/posts/page/8/index.html                    |  64 +--
 content/posts/page/9/index.html                    |  56 ++-
 content/sitemap.xml                                |   2 +-
 content/tags/index.html                            |   2 +-
 content/what-is-flink-ml/index.html                |   2 +-
 content/what-is-flink-table-store/index.html       |   2 +-
 content/what-is-flink/community/index.html         |   2 +-
 .../what-is-flink/flink-applications/index.html    |   2 +-
 .../what-is-flink/flink-architecture/index.html    |   2 +-
 content/what-is-flink/flink-operations/index.html  |   2 +-
 content/what-is-flink/index.html                   |   2 +-
 content/what-is-flink/powered-by/index.html        |   2 +-
 content/what-is-flink/roadmap/index.html           |   2 +-
 content/what-is-flink/security/index.html          |   2 +-
 content/what-is-flink/special-thanks/index.html    |   2 +-
 content/what-is-flink/use-cases/index.html         |   2 +-
 content/what-is-stateful-functions/index.html      |   2 +-
 .../index.html                                     |   2 +-
 ...55e46df3d2a3f6dbde095503912f06392399ec854dc.js} |  20 +-
 ...bd6e38450755808e3f4ea743d541778705752fbf8c9.js} |   2 +-
 content/zh/404.html                                |   2 +-
 content/zh/categories/index.html                   |   2 +-
 .../zh/documentation/flink-cdc-master/index.html   |   2 +-
 .../zh/documentation/flink-cdc-stable/index.html   |   2 +-
 .../flink-kubernetes-operator-master/index.html    |   2 +-
 .../flink-kubernetes-operator-stable/index.html    |   2 +-
 content/zh/documentation/flink-master/index.html   |   2 +-
 content/zh/documentation/flink-stable/index.html   |   2 +-
 .../flink-stateful-functions-master/index.html     |   2 +-
 .../flink-stateful-functions-stable/index.html     |   2 +-
 content/zh/documentation/flinkml-master/index.html |   2 +-
 content/zh/documentation/flinkml-stable/index.html |   2 +-
 content/zh/documentation/index.html                |   2 +-
 content/zh/downloads/index.html                    |   2 +-
 content/zh/flink-packages/index.html               |   2 +-
 content/zh/getting-started/index.html              |   2 +-
 .../zh/getting-started/training-course/index.html  |   2 +-
 .../zh/getting-started/with-flink-cdc/index.html   |   2 +-
 .../with-flink-kubernetes-operator/index.html      |   2 +-
 .../zh/getting-started/with-flink-ml/index.html    |   2 +-
 .../with-flink-stateful-functions/index.html       |   2 +-
 content/zh/getting-started/with-flink/index.html   |   2 +-
 .../code-style-and-quality-common/index.html       |  30 +-
 .../code-style-and-quality-components/index.html   |   2 +-
 .../code-style-and-quality-formatting/index.html   |  30 +-
 .../code-style-and-quality-java/index.html         |  30 +-
 .../code-style-and-quality-preamble/index.html     |  30 +-
 .../index.html                                     |   2 +-
 .../code-style-and-quality-scala/index.html        |   2 +-
 .../how-to-contribute/contribute-code/index.html   |   2 +-
 .../contribute-documentation/index.html            |   2 +-
 .../documentation-style-guide/index.html           |   2 +-
 .../zh/how-to-contribute/getting-help/index.html   |   2 +-
 .../how-to-contribute/improve-website/index.html   |   2 +-
 content/zh/how-to-contribute/index.html            |   2 +-
 content/zh/how-to-contribute/index.xml             |   2 +-
 content/zh/how-to-contribute/overview/index.html   |  12 +-
 .../zh/how-to-contribute/reviewing-prs/index.html  |   2 +-
 content/zh/index.html                              |  37 +-
 content/zh/index.xml                               |   4 +-
 content/zh/material/index.html                     |   2 +-
 content/zh/tags/index.html                         |   2 +-
 content/zh/what-is-flink-ml/index.html             |   2 +-
 content/zh/what-is-flink-table-store/index.html    |   2 +-
 content/zh/what-is-flink/community/index.html      |   2 +-
 .../zh/what-is-flink/flink-applications/index.html |   2 +-
 .../zh/what-is-flink/flink-architecture/index.html |   2 +-
 .../zh/what-is-flink/flink-operations/index.html   |   8 +-
 content/zh/what-is-flink/index.html                |   2 +-
 content/zh/what-is-flink/index.xml                 |   2 +-
 content/zh/what-is-flink/powered-by/index.html     |   2 +-
 content/zh/what-is-flink/roadmap/index.html        |   2 +-
 content/zh/what-is-flink/security/index.html       |   2 +-
 content/zh/what-is-flink/special-thanks/index.html |   2 +-
 content/zh/what-is-flink/use-cases/index.html      |   2 +-
 content/zh/what-is-stateful-functions/index.html   |   2 +-
 .../index.html                                     |   2 +-
 docs/content/posts/2024-05-17-release-cdc-3.1.0.md |  71 +++
 377 files changed, 1733 insertions(+), 1458 deletions(-)
 copy content/{2023/09/19/stateful-functions-3.3.0-release-announcement => 2024/05/17/apache-flink-cdc-3.1.0-release-announcement}/index.html (64%)
 rename content/{en.search-data.min.2de190ac736d5a1a2e24f419dcb87d9de1f5fe40b85cd4d4b6201e4fddaff67a.js => en.search-data.min.60496c3c09deb8f0a540d56e407d09bab19a9474a98bc4846cf470c8b3925fef.js} (99%)
 rename content/{en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js => en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js} (84%)
 create mode 100644 content/news/2024/05/17/release-cdc-3.1.0.html
 rename content/{zh.search-data.min.39fbb668d16eeb78006f4acbcd64df2017934483befd80883e491b06246f8dfc.js => zh.search-data.min.88c04d5bb119225a3aafd55e46df3d2a3f6dbde095503912f06392399ec854dc.js} (97%)
 rename content/{zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js => zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js} (84%)
 create mode 100644 docs/content/posts/2024-05-17-release-cdc-3.1.0.md


(flink-web) 01/02: Add release announcement for Flink CDC 3.1.0

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 79bb0bf3459ed86bebc3efc3d464e9dd075493a7
Author: Qingsheng Ren <re...@gmail.com>
AuthorDate: Tue Apr 30 13:04:59 2024 +0800

    Add release announcement for Flink CDC 3.1.0
---
 docs/content/posts/2024-05-17-release-cdc-3.1.0.md | 71 ++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/docs/content/posts/2024-05-17-release-cdc-3.1.0.md b/docs/content/posts/2024-05-17-release-cdc-3.1.0.md
new file mode 100644
index 000000000..3ba7eef67
--- /dev/null
+++ b/docs/content/posts/2024-05-17-release-cdc-3.1.0.md
@@ -0,0 +1,71 @@
+---
+title:  "Apache Flink CDC 3.1.0 Release Announcement"
+date: "2024-05-17T08:00:00.000Z"
+authors:
+- renqs:
+  name: "Qingsheng Ren"
+  twitter: "renqstuite"
+aliases:
+- /news/2024/05/17/release-cdc-3.1.0.html
+---
+
+The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.
+
+We'd like to invite you to check out [Flink CDC documentation](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1) and have a try on [the quickstart tutorial](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/get-started/introduction) to explore the world of Flink CDC. Also we encourage you to [download the release](https://flink.apache.org/downloads.html#flink-cdc) and share your feedback with the community through the Flink [mailing lists](https://flink.apac [...]
+
+## Highlights
+
+### Transformation Support in Pipeline
+
+Flink CDC 3.1.0 introduces the ability of making transformations in the CDC pipeline. By incorporating a `transform` section within the YAML pipeline definitions, users can now easily apply a variety of transformations to data change event from source, including projections, calculations, and addition of constant columns, enhancing the effectiveness of data integration pipelines. Leveraging an SQL-like syntax for defining these transformations, the new feature ensures that users can quic [...]
+
+You can find examples of using transformations in the [Flink CDC documentation](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/core-concept/transform/#example).
+
+### Table Merging Support
+
+Flink CDC 3.1.0 now supports merging multiple tables into one by configuring `route` in the YAML pipeline definition.  It is a prevalent occurrence where business data is partitioned across tables even databases due to the substantial volume. By configuring `route`s that map multiple tables into one, data change events will be merged into the same destination table. Moreover, schema changes on source tables will also be applied to the destination.
+
+You can find examples of using routes in the [Flink CDC documentation](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/core-concept/route/#example).
+
+### Connectors
+
+#### Distributions of MySQL / Oracle / OceanBase / Db2 connectors
+
+Unfortunately due to the license incompatibility, we cannot ship JDBC drivers of the following connectors together with our binary release:
+
+- Db2
+- MySQL
+- Oracle
+- OceanBase
+
+Please manually download the corresponding JDBC driver into `$FLINK_HOME/lib` of your Flink cluster, or specify the path of driver when submitting YAML pipelines with `--jar`. Please make sure they are under the classpath if you are using Flink SQL.
+
+#### SinkFunction Support
+
+Although `SinkFunction` has been marked as deprecated in Flink, considering some connectors are still using the API, we also support `SinkFunction` API for CDC pipeline sinks to help expand the ecosystem of Flink CDC.
+
+#### New Pipeline Connectors
+
+Flink CDC 3.1.0 introduces 2 new pipeline connectors:
+
+- Apache Kafka sink (depends on Kafka 3.2.3)
+- Apache Paimon sink (depends on Paimon 0.7.0)
+
+#### MySQL
+
+In this release, MySQL pipeline source introduces a new option `tables.exclude` to exclude unnecessary tables from capturing with an easier expression. MySQL CDC source is now shipped with a custom converter `MysqlDebeziumTimeConverter` for converting temporal type columns to a more human-readable and serialize-friendly string.
+
+#### OceanBase
+
+OceanBase CDC source now supports specifying the general `DebeziumDeserializationSchema` for reusing existing Debezium deserializers.
+
+#### Db2
+
+Db2 CDC source is now migrated to the unified incremental snapshot framework.
+
+### CLI
+
+Flink CDC pipeline submission CLI now supports recovering a pipeline execution from a specific savepoint file by using command line argument `--from-savepoint`
+
+## List of Contributors
+Check Null, FocusComputing, GOODBOY008, Hang Ruan, He Wang, Hongshun Wang, Jiabao Sun, Kunni, L, Laffery, Leonard Xu, Muhammet Orazov, Paul Lin, PengFei Li, Qingsheng Ren, Qishang Zhong, Shawn Huang, Thorne, TorinJie, Xianxun Ye, Xin Gong, Yaroslav Tkachenko, e-mhui, gongzhongqiang, joyCurry30, kunni, lzshlzsh, qwding, shikai93, sky, skylines, wenmo, wudi, xleoken, xuzifu666, yanghuaiGit, yux, yuxiqian, 张田
\ No newline at end of file


(flink-web) 02/02: Rebuild website

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit edace5b7609b2047d6c52e1ba7665a7504a771a0
Author: Qingsheng Ren <re...@gmail.com>
AuthorDate: Fri May 17 16:11:05 2024 +0800

    Rebuild website
---
 .../08/26/apache-flink-0.6-available/index.html    |   2 +-
 .../09/26/apache-flink-0.6.1-available/index.html  |   2 +-
 content/2014/10/03/upcoming-events/index.html      |   2 +-
 .../11/04/apache-flink-0.7.0-available/index.html  |   2 +-
 .../11/18/hadoop-compatibility-in-flink/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../01/21/apache-flink-0.8.0-available/index.html  |   2 +-
 .../january-2015-in-the-flink-community/index.html |   2 +-
 .../02/09/introducing-flink-streaming/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../march-2015-in-the-flink-community/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../05/11/juggling-with-bits-and-bytes/index.html  |   2 +-
 .../april-2015-in-the-flink-community/index.html   |   2 +-
 .../06/24/announcing-apache-flink-0.9.0/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../09/01/apache-flink-0.9.1-available/index.html  |   2 +-
 .../09/03/announcing-flink-forward-2015/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../16/announcing-apache-flink-0.10.0/index.html   |   2 +-
 .../2015/11/27/flink-0.10.1-released/index.html    |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../2016/02/11/flink-0.10.2-released/index.html    |   2 +-
 .../03/08/announcing-apache-flink-1.0.0/index.html |   2 +-
 content/2016/04/06/flink-1.0.1-released/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 content/2016/04/22/flink-1.0.2-released/index.html |   2 +-
 content/2016/05/11/flink-1.0.3-released/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../08/04/announcing-apache-flink-1.1.0/index.html |   2 +-
 content/2016/08/04/flink-1.1.1-released/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../09/05/apache-flink-1.1.2-released/index.html   |   2 +-
 .../10/12/apache-flink-1.1.3-released/index.html   |   2 +-
 .../apache-flink-in-2016-year-in-review/index.html |   2 +-
 .../12/21/apache-flink-1.1.4-released/index.html   |   2 +-
 .../02/06/announcing-apache-flink-1.2.0/index.html |   2 +-
 .../03/23/apache-flink-1.1.5-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../04/26/apache-flink-1.2.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../06/23/apache-flink-1.3.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../08/05/apache-flink-1.3.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../apache-flink-in-2017-year-in-review/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../02/15/apache-flink-1.4.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../03/08/apache-flink-1.4.2-released/index.html   |   2 +-
 .../03/15/apache-flink-1.3.3-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../07/12/apache-flink-1.5.1-released/index.html   |   2 +-
 .../07/31/apache-flink-1.5.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../08/21/apache-flink-1.5.3-released/index.html   |   2 +-
 .../09/20/apache-flink-1.5.4-released/index.html   |   2 +-
 .../09/20/apache-flink-1.6.1-released/index.html   |   2 +-
 .../10/29/apache-flink-1.5.5-released/index.html   |   2 +-
 .../10/29/apache-flink-1.6.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../12/21/apache-flink-1.7.1-released/index.html   |   2 +-
 .../12/22/apache-flink-1.6.3-released/index.html   |   2 +-
 .../12/26/apache-flink-1.5.6-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../02/15/apache-flink-1.7.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../02/25/apache-flink-1.6.4-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../03/when-flink-pulsar-come-together/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../07/02/apache-flink-1.8.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../flink-community-update-september19/index.html  |   2 +-
 .../09/11/apache-flink-1.8.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../10/18/apache-flink-1.9.1-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../12/11/apache-flink-1.8.3-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../01/30/apache-flink-1.9.2-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../30/flink-community-update-april20/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../04/24/apache-flink-1.9.3-released/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../05/06/flink-community-update-may20/index.html  |   2 +-
 .../05/12/apache-flink-1.10.1-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../06/10/flink-community-update-june20/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../07/21/apache-flink-1.11.1-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../07/29/flink-community-update-july20/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../08/20/the-state-of-flink-on-docker/index.html  |   2 +-
 .../08/25/apache-flink-1.10.2-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../04/flink-community-update-august20/index.html  |   2 +-
 .../09/17/apache-flink-1.11.2-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../12/18/apache-flink-1.11.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../01/19/apache-flink-1.12.1-released/index.html  |   2 +-
 .../01/29/apache-flink-1.10.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../03/03/apache-flink-1.12.2-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../04/29/apache-flink-1.12.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../05/21/apache-flink-1.12.4-released/index.html  |   2 +-
 .../05/28/apache-flink-1.13.1-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../08/06/apache-flink-1.12.5-released/index.html  |   2 +-
 .../08/06/apache-flink-1.13.2-released/index.html  |   2 +-
 .../08/09/apache-flink-1.11.4-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../10/19/apache-flink-1.13.3-released/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../01/20/pravega-flink-connector-101/index.html   |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../02/22/scala-free-in-one-fifteen/index.html     |   2 +-
 .../index.html                                     |   2 +-
 .../the-generic-asynchronous-base-sink/index.html  |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../08/regarding-akkas-licensing-change/index.html |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   2 +-
 .../index.html                                     | 148 ++++---
 content/404.html                                   |   2 +-
 content/categories/index.html                      |   2 +-
 content/documentation/flink-cdc-master/index.html  |   2 +-
 content/documentation/flink-cdc-stable/index.html  |   2 +-
 .../flink-kubernetes-operator-master/index.html    |   2 +-
 .../flink-kubernetes-operator-stable/index.html    |   2 +-
 content/documentation/flink-master/index.html      |   2 +-
 content/documentation/flink-stable/index.html      |   2 +-
 .../flink-stateful-functions-master/index.html     |   2 +-
 .../flink-stateful-functions-stable/index.html     |   2 +-
 content/documentation/flinkml-master/index.html    |   2 +-
 content/documentation/flinkml-stable/index.html    |   2 +-
 content/documentation/index.html                   |   2 +-
 content/downloads/index.html                       |   2 +-
 ...56e407d09bab19a9474a98bc4846cf470c8b3925fef.js} | 493 +++++++++++----------
 ...958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js} |   2 +-
 content/en/sitemap.xml                             |  11 +-
 content/flink-packages/index.html                  |   2 +-
 content/getting-started/index.html                 |   2 +-
 content/getting-started/training-course/index.html |   2 +-
 content/getting-started/with-flink-cdc/index.html  |   2 +-
 .../with-flink-kubernetes-operator/index.html      |   2 +-
 content/getting-started/with-flink-ml/index.html   |   2 +-
 .../with-flink-stateful-functions/index.html       |   2 +-
 content/getting-started/with-flink/index.html      |   2 +-
 .../code-style-and-quality-common/index.html       |  30 +-
 .../code-style-and-quality-components/index.html   |  30 +-
 .../code-style-and-quality-formatting/index.html   |  30 +-
 .../code-style-and-quality-java/index.html         |  30 +-
 .../code-style-and-quality-preamble/index.html     |  30 +-
 .../index.html                                     |   2 +-
 .../code-style-and-quality-scala/index.html        |   2 +-
 .../how-to-contribute/contribute-code/index.html   |   2 +-
 .../contribute-documentation/index.html            |   2 +-
 .../documentation-style-guide/index.html           |   2 +-
 content/how-to-contribute/getting-help/index.html  |   2 +-
 .../how-to-contribute/improve-website/index.html   |   2 +-
 content/how-to-contribute/index.html               |   2 +-
 content/how-to-contribute/overview/index.html      |   2 +-
 content/how-to-contribute/reviewing-prs/index.html |   2 +-
 content/index.html                                 |  37 +-
 content/index.xml                                  |   9 +-
 content/material/index.html                        |   2 +-
 content/news/2024/05/17/release-cdc-3.1.0.html     |  10 +
 content/posts/index.html                           |  59 +--
 content/posts/index.xml                            |   9 +-
 content/posts/page/10/index.html                   |  59 ++-
 content/posts/page/11/index.html                   |  63 +--
 content/posts/page/12/index.html                   |  61 +--
 content/posts/page/13/index.html                   |  60 +--
 content/posts/page/14/index.html                   |  55 ++-
 content/posts/page/15/index.html                   |  58 ++-
 content/posts/page/16/index.html                   |  71 ++-
 content/posts/page/17/index.html                   |  69 +--
 content/posts/page/18/index.html                   |  65 ++-
 content/posts/page/19/index.html                   |  60 ++-
 content/posts/page/2/index.html                    |  58 +--
 content/posts/page/20/index.html                   |  50 ++-
 content/posts/page/21/index.html                   |  50 ++-
 content/posts/page/22/index.html                   |  50 ++-
 content/posts/page/23/index.html                   |  48 +-
 content/posts/page/24/index.html                   |  26 +-
 content/posts/page/3/index.html                    |  57 +--
 content/posts/page/4/index.html                    |  62 +--
 content/posts/page/5/index.html                    |  64 +--
 content/posts/page/6/index.html                    |  61 +--
 content/posts/page/7/index.html                    |  64 +--
 content/posts/page/8/index.html                    |  64 +--
 content/posts/page/9/index.html                    |  56 ++-
 content/sitemap.xml                                |   2 +-
 content/tags/index.html                            |   2 +-
 content/what-is-flink-ml/index.html                |   2 +-
 content/what-is-flink-table-store/index.html       |   2 +-
 content/what-is-flink/community/index.html         |   2 +-
 .../what-is-flink/flink-applications/index.html    |   2 +-
 .../what-is-flink/flink-architecture/index.html    |   2 +-
 content/what-is-flink/flink-operations/index.html  |   2 +-
 content/what-is-flink/index.html                   |   2 +-
 content/what-is-flink/powered-by/index.html        |   2 +-
 content/what-is-flink/roadmap/index.html           |   2 +-
 content/what-is-flink/security/index.html          |   2 +-
 content/what-is-flink/special-thanks/index.html    |   2 +-
 content/what-is-flink/use-cases/index.html         |   2 +-
 content/what-is-stateful-functions/index.html      |   2 +-
 .../index.html                                     |   2 +-
 ...55e46df3d2a3f6dbde095503912f06392399ec854dc.js} |  20 +-
 ...bd6e38450755808e3f4ea743d541778705752fbf8c9.js} |   2 +-
 content/zh/404.html                                |   2 +-
 content/zh/categories/index.html                   |   2 +-
 .../zh/documentation/flink-cdc-master/index.html   |   2 +-
 .../zh/documentation/flink-cdc-stable/index.html   |   2 +-
 .../flink-kubernetes-operator-master/index.html    |   2 +-
 .../flink-kubernetes-operator-stable/index.html    |   2 +-
 content/zh/documentation/flink-master/index.html   |   2 +-
 content/zh/documentation/flink-stable/index.html   |   2 +-
 .../flink-stateful-functions-master/index.html     |   2 +-
 .../flink-stateful-functions-stable/index.html     |   2 +-
 content/zh/documentation/flinkml-master/index.html |   2 +-
 content/zh/documentation/flinkml-stable/index.html |   2 +-
 content/zh/documentation/index.html                |   2 +-
 content/zh/downloads/index.html                    |   2 +-
 content/zh/flink-packages/index.html               |   2 +-
 content/zh/getting-started/index.html              |   2 +-
 .../zh/getting-started/training-course/index.html  |   2 +-
 .../zh/getting-started/with-flink-cdc/index.html   |   2 +-
 .../with-flink-kubernetes-operator/index.html      |   2 +-
 .../zh/getting-started/with-flink-ml/index.html    |   2 +-
 .../with-flink-stateful-functions/index.html       |   2 +-
 content/zh/getting-started/with-flink/index.html   |   2 +-
 .../code-style-and-quality-common/index.html       |  30 +-
 .../code-style-and-quality-components/index.html   |   2 +-
 .../code-style-and-quality-formatting/index.html   |  30 +-
 .../code-style-and-quality-java/index.html         |  30 +-
 .../code-style-and-quality-preamble/index.html     |  30 +-
 .../index.html                                     |   2 +-
 .../code-style-and-quality-scala/index.html        |   2 +-
 .../how-to-contribute/contribute-code/index.html   |   2 +-
 .../contribute-documentation/index.html            |   2 +-
 .../documentation-style-guide/index.html           |   2 +-
 .../zh/how-to-contribute/getting-help/index.html   |   2 +-
 .../how-to-contribute/improve-website/index.html   |   2 +-
 content/zh/how-to-contribute/index.html            |   2 +-
 content/zh/how-to-contribute/index.xml             |   2 +-
 content/zh/how-to-contribute/overview/index.html   |  12 +-
 .../zh/how-to-contribute/reviewing-prs/index.html  |   2 +-
 content/zh/index.html                              |  37 +-
 content/zh/index.xml                               |   4 +-
 content/zh/material/index.html                     |   2 +-
 content/zh/tags/index.html                         |   2 +-
 content/zh/what-is-flink-ml/index.html             |   2 +-
 content/zh/what-is-flink-table-store/index.html    |   2 +-
 content/zh/what-is-flink/community/index.html      |   2 +-
 .../zh/what-is-flink/flink-applications/index.html |   2 +-
 .../zh/what-is-flink/flink-architecture/index.html |   2 +-
 .../zh/what-is-flink/flink-operations/index.html   |   8 +-
 content/zh/what-is-flink/index.html                |   2 +-
 content/zh/what-is-flink/index.xml                 |   2 +-
 content/zh/what-is-flink/powered-by/index.html     |   2 +-
 content/zh/what-is-flink/roadmap/index.html        |   2 +-
 content/zh/what-is-flink/security/index.html       |   2 +-
 content/zh/what-is-flink/special-thanks/index.html |   2 +-
 content/zh/what-is-flink/use-cases/index.html      |   2 +-
 content/zh/what-is-stateful-functions/index.html   |   2 +-
 .../index.html                                     |   2 +-
 376 files changed, 1662 insertions(+), 1458 deletions(-)

diff --git a/content/2014/08/26/apache-flink-0.6-available/index.html b/content/2014/08/26/apache-flink-0.6-available/index.html
index 81cd31e44..de0da1f25 100644
--- a/content/2014/08/26/apache-flink-0.6-available/index.html
+++ b/content/2014/08/26/apache-flink-0.6-available/index.html
@@ -28,7 +28,7 @@ What is Flink? # Apache Flink is a general-purpose data processing engine for cl
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2014/09/26/apache-flink-0.6.1-available/index.html b/content/2014/09/26/apache-flink-0.6.1-available/index.html
index e460c7ac1..fd5188089 100644
--- a/content/2014/09/26/apache-flink-0.6.1-available/index.html
+++ b/content/2014/09/26/apache-flink-0.6.1-available/index.html
@@ -30,7 +30,7 @@ Download the release today." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2014/10/03/upcoming-events/index.html b/content/2014/10/03/upcoming-events/index.html
index b88f43c0d..3b752d2ea 100644
--- a/content/2014/10/03/upcoming-events/index.html
+++ b/content/2014/10/03/upcoming-events/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2014/11/04/apache-flink-0.7.0-available/index.html b/content/2014/11/04/apache-flink-0.7.0-available/index.html
index 68442129c..67733755c 100644
--- a/content/2014/11/04/apache-flink-0.7.0-available/index.html
+++ b/content/2014/11/04/apache-flink-0.7.0-available/index.html
@@ -32,7 +32,7 @@ Overview of major new features # Flink Streaming: The gem of the 0." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2014/11/18/hadoop-compatibility-in-flink/index.html b/content/2014/11/18/hadoop-compatibility-in-flink/index.html
index 407a367a4..4d63a01bc 100644
--- a/content/2014/11/18/hadoop-compatibility-in-flink/index.html
+++ b/content/2014/11/18/hadoop-compatibility-in-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/01/06/december-2014-in-the-flink-community/index.html b/content/2015/01/06/december-2014-in-the-flink-community/index.html
index 28a0787d2..4eb59a19f 100644
--- a/content/2015/01/06/december-2014-in-the-flink-community/index.html
+++ b/content/2015/01/06/december-2014-in-the-flink-community/index.html
@@ -28,7 +28,7 @@ Flink graduation # The biggest news is that the Apache board approved Flink as a
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/01/21/apache-flink-0.8.0-available/index.html b/content/2015/01/21/apache-flink-0.8.0-available/index.html
index 86693b063..11a021f65 100644
--- a/content/2015/01/21/apache-flink-0.8.0-available/index.html
+++ b/content/2015/01/21/apache-flink-0.8.0-available/index.html
@@ -32,7 +32,7 @@ Overview of major new features # Extended filesystem support: The former Distrib
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/02/04/january-2015-in-the-flink-community/index.html b/content/2015/02/04/january-2015-in-the-flink-community/index.html
index 73809c255..919533cfe 100644
--- a/content/2015/02/04/january-2015-in-the-flink-community/index.html
+++ b/content/2015/02/04/january-2015-in-the-flink-community/index.html
@@ -32,7 +32,7 @@ Articles in the press # The Apache Software Foundation announced Flink as a Top-
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/02/09/introducing-flink-streaming/index.html b/content/2015/02/09/introducing-flink-streaming/index.html
index a531c75c2..6f46cbf98 100644
--- a/content/2015/02/09/introducing-flink-streaming/index.html
+++ b/content/2015/02/09/introducing-flink-streaming/index.html
@@ -28,7 +28,7 @@ In this post, we go through an example that uses the Flink Streaming API to comp
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/03/02/february-2015-in-the-flink-community/index.html b/content/2015/03/02/february-2015-in-the-flink-community/index.html
index 3b1512141..06bd494d7 100644
--- a/content/2015/03/02/february-2015-in-the-flink-community/index.html
+++ b/content/2015/03/02/february-2015-in-the-flink-community/index.html
@@ -30,7 +30,7 @@ New committer # Max Michels has been voted a committer by the Flink PMC." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/03/13/peeking-into-apache-flinks-engine-room/index.html b/content/2015/03/13/peeking-into-apache-flinks-engine-room/index.html
index 3d8f37ec8..61f5925b2 100644
--- a/content/2015/03/13/peeking-into-apache-flinks-engine-room/index.html
+++ b/content/2015/03/13/peeking-into-apache-flinks-engine-room/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/04/07/march-2015-in-the-flink-community/index.html b/content/2015/04/07/march-2015-in-the-flink-community/index.html
index 80b1f8597..89fb8e006 100644
--- a/content/2015/04/07/march-2015-in-the-flink-community/index.html
+++ b/content/2015/04/07/march-2015-in-the-flink-community/index.html
@@ -30,7 +30,7 @@ Learn about the internals of Flink # The community has started an effort to bett
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/index.html b/content/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/index.html
index 094446b2d..dbb2ce4d7 100644
--- a/content/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/index.html
+++ b/content/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/index.html
@@ -28,7 +28,7 @@ You can download the release here and check out the latest documentation here."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/05/11/juggling-with-bits-and-bytes/index.html b/content/2015/05/11/juggling-with-bits-and-bytes/index.html
index a0b09322f..7bbc316f0 100644
--- a/content/2015/05/11/juggling-with-bits-and-bytes/index.html
+++ b/content/2015/05/11/juggling-with-bits-and-bytes/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/05/14/april-2015-in-the-flink-community/index.html b/content/2015/05/14/april-2015-in-the-flink-community/index.html
index a8752fd2b..1b87fc259 100644
--- a/content/2015/05/14/april-2015-in-the-flink-community/index.html
+++ b/content/2015/05/14/april-2015-in-the-flink-community/index.html
@@ -30,7 +30,7 @@ Flink 0." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/06/24/announcing-apache-flink-0.9.0/index.html b/content/2015/06/24/announcing-apache-flink-0.9.0/index.html
index 20ce4d9b3..e7416df7b 100644
--- a/content/2015/06/24/announcing-apache-flink-0.9.0/index.html
+++ b/content/2015/06/24/announcing-apache-flink-0.9.0/index.html
@@ -28,7 +28,7 @@ Download the release and check out the documentation. Feedback through the Flink
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/08/24/introducing-gelly-graph-processing-with-apache-flink/index.html b/content/2015/08/24/introducing-gelly-graph-processing-with-apache-flink/index.html
index 5666fdeda..82682d17c 100644
--- a/content/2015/08/24/introducing-gelly-graph-processing-with-apache-flink/index.html
+++ b/content/2015/08/24/introducing-gelly-graph-processing-with-apache-flink/index.html
@@ -28,7 +28,7 @@ Gelly allows Flink users to perform end-to-end data analysis in a single system.
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/09/01/apache-flink-0.9.1-available/index.html b/content/2015/09/01/apache-flink-0.9.1-available/index.html
index 9929a2b8a..1ba224c4a 100644
--- a/content/2015/09/01/apache-flink-0.9.1-available/index.html
+++ b/content/2015/09/01/apache-flink-0.9.1-available/index.html
@@ -32,7 +32,7 @@ The following issues were fixed for this release:" />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/09/03/announcing-flink-forward-2015/index.html b/content/2015/09/03/announcing-flink-forward-2015/index.html
index e8a4745e8..5b588bbdc 100644
--- a/content/2015/09/03/announcing-flink-forward-2015/index.html
+++ b/content/2015/09/03/announcing-flink-forward-2015/index.html
@@ -28,7 +28,7 @@ The conference program has been announced by the organizers and a program commit
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/09/16/off-heap-memory-in-apache-flink-and-the-curious-jit-compiler/index.html b/content/2015/09/16/off-heap-memory-in-apache-flink-and-the-curious-jit-compiler/index.html
index 6239eec41..5355ee8f5 100644
--- a/content/2015/09/16/off-heap-memory-in-apache-flink-and-the-curious-jit-compiler/index.html
+++ b/content/2015/09/16/off-heap-memory-in-apache-flink-and-the-curious-jit-compiler/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/11/16/announcing-apache-flink-0.10.0/index.html b/content/2015/11/16/announcing-apache-flink-0.10.0/index.html
index 6ba05a191..cdf590fb1 100644
--- a/content/2015/11/16/announcing-apache-flink-0.10.0/index.html
+++ b/content/2015/11/16/announcing-apache-flink-0.10.0/index.html
@@ -28,7 +28,7 @@ For Flink 0.10.0, the focus of the community was to graduate the DataStream API
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/11/27/flink-0.10.1-released/index.html b/content/2015/11/27/flink-0.10.1-released/index.html
index 84b613f66..4b2085578 100644
--- a/content/2015/11/27/flink-0.10.1-released/index.html
+++ b/content/2015/11/27/flink-0.10.1-released/index.html
@@ -30,7 +30,7 @@ Issues fixed # [FLINK-2879] - Links in documentation are broken [FLINK-2938] - S
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/12/04/introducing-stream-windows-in-apache-flink/index.html b/content/2015/12/04/introducing-stream-windows-in-apache-flink/index.html
index 637a439e3..f7ab864d6 100644
--- a/content/2015/12/04/introducing-stream-windows-in-apache-flink/index.html
+++ b/content/2015/12/04/introducing-stream-windows-in-apache-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/index.html b/content/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/index.html
index ff328e6cb..2c76ee79b 100644
--- a/content/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/index.html
+++ b/content/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2015/12/18/flink-2015-a-year-in-review-and-a-lookout-to-2016/index.html b/content/2015/12/18/flink-2015-a-year-in-review-and-a-lookout-to-2016/index.html
index 065d2d901..c07f0e25f 100644
--- a/content/2015/12/18/flink-2015-a-year-in-review-and-a-lookout-to-2016/index.html
+++ b/content/2015/12/18/flink-2015-a-year-in-review-and-a-lookout-to-2016/index.html
@@ -28,7 +28,7 @@ Overall, we have seen Flink grow in terms of functionality from an engine to one
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/02/11/flink-0.10.2-released/index.html b/content/2016/02/11/flink-0.10.2-released/index.html
index 4698c0fce..e0a9a8872 100644
--- a/content/2016/02/11/flink-0.10.2-released/index.html
+++ b/content/2016/02/11/flink-0.10.2-released/index.html
@@ -30,7 +30,7 @@ Issues fixed # FLINK-3242: Adjust StateBackendITCase for 0.10 signatures of stat
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/03/08/announcing-apache-flink-1.0.0/index.html b/content/2016/03/08/announcing-apache-flink-1.0.0/index.html
index e636b6ee2..14e1c5d28 100644
--- a/content/2016/03/08/announcing-apache-flink-1.0.0/index.html
+++ b/content/2016/03/08/announcing-apache-flink-1.0.0/index.html
@@ -28,7 +28,7 @@ Flink version 1.0.0 marks the beginning of the 1.X.X series of releases, which w
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/04/06/flink-1.0.1-released/index.html b/content/2016/04/06/flink-1.0.1-released/index.html
index 135e5ac50..80356d2f5 100644
--- a/content/2016/04/06/flink-1.0.1-released/index.html
+++ b/content/2016/04/06/flink-1.0.1-released/index.html
@@ -30,7 +30,7 @@ Fixed Issues # Bug [FLINK-3179] - Combiner is not injected if Reduce or GroupRed
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/index.html b/content/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/index.html
index a5867f565..c96b803e0 100644
--- a/content/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/index.html
+++ b/content/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/04/14/flink-forward-2016-call-for-submissions-is-now-open/index.html b/content/2016/04/14/flink-forward-2016-call-for-submissions-is-now-open/index.html
index fa847bdc1..4fe83318b 100644
--- a/content/2016/04/14/flink-forward-2016-call-for-submissions-is-now-open/index.html
+++ b/content/2016/04/14/flink-forward-2016-call-for-submissions-is-now-open/index.html
@@ -28,7 +28,7 @@ The conference welcomes submissions on everything Flink-related, including exper
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/04/22/flink-1.0.2-released/index.html b/content/2016/04/22/flink-1.0.2-released/index.html
index fa605b6a2..e8dc3ccb4 100644
--- a/content/2016/04/22/flink-1.0.2-released/index.html
+++ b/content/2016/04/22/flink-1.0.2-released/index.html
@@ -30,7 +30,7 @@ Fixed Issues # Bug # [FLINK-3657] [dataSet] Change access of DataSetUtils.countE
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/05/11/flink-1.0.3-released/index.html b/content/2016/05/11/flink-1.0.3-released/index.html
index b99bad533..f150940ff 100644
--- a/content/2016/05/11/flink-1.0.3-released/index.html
+++ b/content/2016/05/11/flink-1.0.3-released/index.html
@@ -30,7 +30,7 @@ Fixed Issues # Bug # [FLINK-3790] [streaming] Use proper hadoop config in rollin
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/index.html b/content/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/index.html
index 7718fe9e5..d4f9b4f8a 100644
--- a/content/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/index.html
+++ b/content/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/08/04/announcing-apache-flink-1.1.0/index.html b/content/2016/08/04/announcing-apache-flink-1.1.0/index.html
index c9697eb22..f34542757 100644
--- a/content/2016/08/04/announcing-apache-flink-1.1.0/index.html
+++ b/content/2016/08/04/announcing-apache-flink-1.1.0/index.html
@@ -28,7 +28,7 @@ This release is the first major release in the 1.X.X series of releases, which m
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/08/04/flink-1.1.1-released/index.html b/content/2016/08/04/flink-1.1.1-released/index.html
index bb26bb71d..e92b14403 100644
--- a/content/2016/08/04/flink-1.1.1-released/index.html
+++ b/content/2016/08/04/flink-1.1.1-released/index.html
@@ -30,7 +30,7 @@ This was fixed with this release and we highly recommend all users to use this v
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/08/24/flink-forward-2016-announcing-schedule-keynotes-and-panel-discussion/index.html b/content/2016/08/24/flink-forward-2016-announcing-schedule-keynotes-and-panel-discussion/index.html
index 46ee5efaf..d0a23f1b4 100644
--- a/content/2016/08/24/flink-forward-2016-announcing-schedule-keynotes-and-panel-discussion/index.html
+++ b/content/2016/08/24/flink-forward-2016-announcing-schedule-keynotes-and-panel-discussion/index.html
@@ -28,7 +28,7 @@ Ted Dunning has been announced as a keynote speaker at the event. Ted is the VP
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/09/05/apache-flink-1.1.2-released/index.html b/content/2016/09/05/apache-flink-1.1.2-released/index.html
index 8e9fe4303..7580be5b4 100644
--- a/content/2016/09/05/apache-flink-1.1.2-released/index.html
+++ b/content/2016/09/05/apache-flink-1.1.2-released/index.html
@@ -32,7 +32,7 @@ Release Notes - Flink - Version 1.1.2 [FLINK-4236] - Flink Dashboard stops showi
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/10/12/apache-flink-1.1.3-released/index.html b/content/2016/10/12/apache-flink-1.1.3-released/index.html
index f4993808c..a052d24cd 100644
--- a/content/2016/10/12/apache-flink-1.1.3-released/index.html
+++ b/content/2016/10/12/apache-flink-1.1.3-released/index.html
@@ -32,7 +32,7 @@ Note for RocksDB Backend Users # It is highly recommended to use the &ldquo;full
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/12/19/apache-flink-in-2016-year-in-review/index.html b/content/2016/12/19/apache-flink-in-2016-year-in-review/index.html
index f3fc45bf7..bbe4346ed 100644
--- a/content/2016/12/19/apache-flink-in-2016-year-in-review/index.html
+++ b/content/2016/12/19/apache-flink-in-2016-year-in-review/index.html
@@ -28,7 +28,7 @@ In this post, we’ll look back on the project’s progress over the course of 2
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2016/12/21/apache-flink-1.1.4-released/index.html b/content/2016/12/21/apache-flink-1.1.4-released/index.html
index 944144d8f..b960f9a5e 100644
--- a/content/2016/12/21/apache-flink-1.1.4-released/index.html
+++ b/content/2016/12/21/apache-flink-1.1.4-released/index.html
@@ -32,7 +32,7 @@ Note for RocksDB Backend Users # We updated Flink&rsquo;s RocksDB dependency ver
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/02/06/announcing-apache-flink-1.2.0/index.html b/content/2017/02/06/announcing-apache-flink-1.2.0/index.html
index ca7650c29..d88c1034d 100644
--- a/content/2017/02/06/announcing-apache-flink-1.2.0/index.html
+++ b/content/2017/02/06/announcing-apache-flink-1.2.0/index.html
@@ -30,7 +30,7 @@ We encourage everyone to download the release and check out the documentation."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/03/23/apache-flink-1.1.5-released/index.html b/content/2017/03/23/apache-flink-1.1.5-released/index.html
index 3e5b3fb75..5a061cfda 100644
--- a/content/2017/03/23/apache-flink-1.1.5-released/index.html
+++ b/content/2017/03/23/apache-flink-1.1.5-released/index.html
@@ -30,7 +30,7 @@ This release includes critical fixes for HA recovery robustness, fault tolerance
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/index.html b/content/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/index.html
index 28c7e59ad..8747867c5 100644
--- a/content/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/index.html
+++ b/content/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/index.html
@@ -28,7 +28,7 @@ Flink&rsquo;s DataStream abstraction is a powerful API which lets you flexibly d
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/03/30/continuous-queries-on-dynamic-tables/index.html b/content/2017/03/30/continuous-queries-on-dynamic-tables/index.html
index e2f3849f8..a84b52e35 100644
--- a/content/2017/03/30/continuous-queries-on-dynamic-tables/index.html
+++ b/content/2017/03/30/continuous-queries-on-dynamic-tables/index.html
@@ -28,7 +28,7 @@ Apache Flink is very well suited to power streaming analytics applications becau
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/04/26/apache-flink-1.2.1-released/index.html b/content/2017/04/26/apache-flink-1.2.1-released/index.html
index 737567214..0a57a1b24 100644
--- a/content/2017/04/26/apache-flink-1.2.1-released/index.html
+++ b/content/2017/04/26/apache-flink-1.2.1-released/index.html
@@ -34,7 +34,7 @@ FLINK-6353 Restoring using CheckpointedRestoring does not work from 1.2 to 1.2 F
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/05/16/introducing-docker-images-for-apache-flink/index.html b/content/2017/05/16/introducing-docker-images-for-apache-flink/index.html
index ef27c0e97..4de3a16f2 100644
--- a/content/2017/05/16/introducing-docker-images-for-apache-flink/index.html
+++ b/content/2017/05/16/introducing-docker-images-for-apache-flink/index.html
@@ -28,7 +28,7 @@ A community-maintained way to run Apache Flink on Docker and other container run
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/06/01/apache-flink-1.3.0-release-announcement/index.html b/content/2017/06/01/apache-flink-1.3.0-release-announcement/index.html
index 265c7dda1..4e02cc940 100644
--- a/content/2017/06/01/apache-flink-1.3.0-release-announcement/index.html
+++ b/content/2017/06/01/apache-flink-1.3.0-release-announcement/index.html
@@ -30,7 +30,7 @@ Users can expect Flink releases now in a 4 month cycle." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/06/23/apache-flink-1.3.1-released/index.html b/content/2017/06/23/apache-flink-1.3.1-released/index.html
index ec0d1789b..9007db2d9 100644
--- a/content/2017/06/23/apache-flink-1.3.1-released/index.html
+++ b/content/2017/06/23/apache-flink-1.3.1-released/index.html
@@ -32,7 +32,7 @@ We highly recommend all users to upgrade to Flink 1.3.1.
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/07/04/a-deep-dive-into-rescalable-state-in-apache-flink/index.html b/content/2017/07/04/a-deep-dive-into-rescalable-state-in-apache-flink/index.html
index 7d830b90b..9e5e92369 100644
--- a/content/2017/07/04/a-deep-dive-into-rescalable-state-in-apache-flink/index.html
+++ b/content/2017/07/04/a-deep-dive-into-rescalable-state-in-apache-flink/index.html
@@ -28,7 +28,7 @@ In contrast, operators in stateless stream processing only consider their curren
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/08/05/apache-flink-1.3.2-released/index.html b/content/2017/08/05/apache-flink-1.3.2-released/index.html
index 03c94755d..3516a7da8 100644
--- a/content/2017/08/05/apache-flink-1.3.2-released/index.html
+++ b/content/2017/08/05/apache-flink-1.3.2-released/index.html
@@ -32,7 +32,7 @@ Important Notice: A user reported a bug in the FlinkKafkaConsumer (FLINK-7143) t
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/index.html b/content/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/index.html
index 10fdd71cf..c6bc20324 100644
--- a/content/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/index.html
+++ b/content/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/index.html
@@ -28,7 +28,7 @@ Both releases include ambitious features that we believe will move Flink to an e
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/12/12/apache-flink-1.4.0-release-announcement/index.html b/content/2017/12/12/apache-flink-1.4.0-release-announcement/index.html
index b91f8229c..99eb7a634 100644
--- a/content/2017/12/12/apache-flink-1.4.0-release-announcement/index.html
+++ b/content/2017/12/12/apache-flink-1.4.0-release-announcement/index.html
@@ -30,7 +30,7 @@ We encourage everyone to download the release and check out the documentation."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2017/12/21/apache-flink-in-2017-year-in-review/index.html b/content/2017/12/21/apache-flink-in-2017-year-in-review/index.html
index ee2cde665..256bac819 100644
--- a/content/2017/12/21/apache-flink-in-2017-year-in-review/index.html
+++ b/content/2017/12/21/apache-flink-in-2017-year-in-review/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/01/30/managing-large-state-in-apache-flink-an-intro-to-incremental-checkpointing/index.html b/content/2018/01/30/managing-large-state-in-apache-flink-an-intro-to-incremental-checkpointing/index.html
index 74e348c7a..cc4bc9d25 100644
--- a/content/2018/01/30/managing-large-state-in-apache-flink-an-intro-to-incremental-checkpointing/index.html
+++ b/content/2018/01/30/managing-large-state-in-apache-flink-an-intro-to-incremental-checkpointing/index.html
@@ -28,7 +28,7 @@ State is a fundamental, enabling concept in stream processing required for a maj
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/02/15/apache-flink-1.4.1-released/index.html b/content/2018/02/15/apache-flink-1.4.1-released/index.html
index d7064d928..8f276e61f 100644
--- a/content/2018/02/15/apache-flink-1.4.1-released/index.html
+++ b/content/2018/02/15/apache-flink-1.4.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/02/28/an-overview-of-end-to-end-exactly-once-processing-in-apache-flink-with-apache-kafka-too/index.html b/content/2018/02/28/an-overview-of-end-to-end-exactly-once-processing-in-apache-flink-with-apache-kafka-too/index.html
index bbd6f8fc4..b2d37922b 100644
--- a/content/2018/02/28/an-overview-of-end-to-end-exactly-once-processing-in-apache-flink-with-apache-kafka-too/index.html
+++ b/content/2018/02/28/an-overview-of-end-to-end-exactly-once-processing-in-apache-flink-with-apache-kafka-too/index.html
@@ -28,7 +28,7 @@ Apache Flink 1.4.0, released in December 2017, introduced a significant mileston
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/03/08/apache-flink-1.4.2-released/index.html b/content/2018/03/08/apache-flink-1.4.2-released/index.html
index 9df3ed760..ff19a835f 100644
--- a/content/2018/03/08/apache-flink-1.4.2-released/index.html
+++ b/content/2018/03/08/apache-flink-1.4.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/03/15/apache-flink-1.3.3-released/index.html b/content/2018/03/15/apache-flink-1.3.3-released/index.html
index 2de98affd..9f9e52966 100644
--- a/content/2018/03/15/apache-flink-1.3.3-released/index.html
+++ b/content/2018/03/15/apache-flink-1.3.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/05/18/apache-flink-1.5.0-release-announcement/index.html b/content/2018/05/18/apache-flink-1.5.0-release-announcement/index.html
index d8d8bce55..ada92bfa1 100644
--- a/content/2018/05/18/apache-flink-1.5.0-release-announcement/index.html
+++ b/content/2018/05/18/apache-flink-1.5.0-release-announcement/index.html
@@ -30,7 +30,7 @@ We encourage everyone to download the release and check out the documentation."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/07/12/apache-flink-1.5.1-released/index.html b/content/2018/07/12/apache-flink-1.5.1-released/index.html
index ae741c4b9..e09e8b25e 100644
--- a/content/2018/07/12/apache-flink-1.5.1-released/index.html
+++ b/content/2018/07/12/apache-flink-1.5.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/07/31/apache-flink-1.5.2-released/index.html b/content/2018/07/31/apache-flink-1.5.2-released/index.html
index 142c2105b..498282e94 100644
--- a/content/2018/07/31/apache-flink-1.5.2-released/index.html
+++ b/content/2018/07/31/apache-flink-1.5.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/08/09/apache-flink-1.6.0-release-announcement/index.html b/content/2018/08/09/apache-flink-1.6.0-release-announcement/index.html
index e42aa2c58..80161dd02 100644
--- a/content/2018/08/09/apache-flink-1.6.0-release-announcement/index.html
+++ b/content/2018/08/09/apache-flink-1.6.0-release-announcement/index.html
@@ -30,7 +30,7 @@ We encourage everyone to download the release and check out the documentation."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/08/21/apache-flink-1.5.3-released/index.html b/content/2018/08/21/apache-flink-1.5.3-released/index.html
index 64ce7bc1e..fa9ed45ac 100644
--- a/content/2018/08/21/apache-flink-1.5.3-released/index.html
+++ b/content/2018/08/21/apache-flink-1.5.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/09/20/apache-flink-1.5.4-released/index.html b/content/2018/09/20/apache-flink-1.5.4-released/index.html
index d0ce86a94..6dab876a9 100644
--- a/content/2018/09/20/apache-flink-1.5.4-released/index.html
+++ b/content/2018/09/20/apache-flink-1.5.4-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/09/20/apache-flink-1.6.1-released/index.html b/content/2018/09/20/apache-flink-1.6.1-released/index.html
index d24a84938..850c2d76a 100644
--- a/content/2018/09/20/apache-flink-1.6.1-released/index.html
+++ b/content/2018/09/20/apache-flink-1.6.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/10/29/apache-flink-1.5.5-released/index.html b/content/2018/10/29/apache-flink-1.5.5-released/index.html
index 01e4eba98..34f60fdba 100644
--- a/content/2018/10/29/apache-flink-1.5.5-released/index.html
+++ b/content/2018/10/29/apache-flink-1.5.5-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/10/29/apache-flink-1.6.2-released/index.html b/content/2018/10/29/apache-flink-1.6.2-released/index.html
index 4f0e0595f..54ee65a0e 100644
--- a/content/2018/10/29/apache-flink-1.6.2-released/index.html
+++ b/content/2018/10/29/apache-flink-1.6.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/11/30/apache-flink-1.7.0-release-announcement/index.html b/content/2018/11/30/apache-flink-1.7.0-release-announcement/index.html
index 88cdefcb1..dc6c46bd9 100644
--- a/content/2018/11/30/apache-flink-1.7.0-release-announcement/index.html
+++ b/content/2018/11/30/apache-flink-1.7.0-release-announcement/index.html
@@ -28,7 +28,7 @@ Flink 1.7.0 is API-compatible with previous 1.x.y releases for APIs annotated wi
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/12/21/apache-flink-1.7.1-released/index.html b/content/2018/12/21/apache-flink-1.7.1-released/index.html
index 241606263..b4ed650c9 100644
--- a/content/2018/12/21/apache-flink-1.7.1-released/index.html
+++ b/content/2018/12/21/apache-flink-1.7.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/12/22/apache-flink-1.6.3-released/index.html b/content/2018/12/22/apache-flink-1.6.3-released/index.html
index 1de5c025c..047d87d03 100644
--- a/content/2018/12/22/apache-flink-1.6.3-released/index.html
+++ b/content/2018/12/22/apache-flink-1.6.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2018/12/26/apache-flink-1.5.6-released/index.html b/content/2018/12/26/apache-flink-1.5.6-released/index.html
index a4c7458a6..26ed3ee68 100644
--- a/content/2018/12/26/apache-flink-1.5.6-released/index.html
+++ b/content/2018/12/26/apache-flink-1.5.6-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/index.html b/content/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/index.html
index 3dd6c2751..cf9aa42ea 100644
--- a/content/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/index.html
+++ b/content/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/index.html
@@ -28,7 +28,7 @@ A Unified Approach to Batch and Streaming # Since its early days, Apache Flink h
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/02/15/apache-flink-1.7.2-released/index.html b/content/2019/02/15/apache-flink-1.7.2-released/index.html
index e54260d4f..009246952 100644
--- a/content/2019/02/15/apache-flink-1.7.2-released/index.html
+++ b/content/2019/02/15/apache-flink-1.7.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/02/21/monitoring-apache-flink-applications-101/index.html b/content/2019/02/21/monitoring-apache-flink-applications-101/index.html
index 130f8d341..65ce0c139 100644
--- a/content/2019/02/21/monitoring-apache-flink-applications-101/index.html
+++ b/content/2019/02/21/monitoring-apache-flink-applications-101/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/02/25/apache-flink-1.6.4-released/index.html b/content/2019/02/25/apache-flink-1.6.4-released/index.html
index 7c8910b68..21f41ce60 100644
--- a/content/2019/02/25/apache-flink-1.6.4-released/index.html
+++ b/content/2019/02/25/apache-flink-1.6.4-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/index.html b/content/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/index.html
index 80035625f..7f1b87421 100644
--- a/content/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/index.html
+++ b/content/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/index.html b/content/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/index.html
index 6171e7dfe..c5397fd1c 100644
--- a/content/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/index.html
+++ b/content/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/04/09/apache-flink-1.8.0-release-announcement/index.html b/content/2019/04/09/apache-flink-1.8.0-release-announcement/index.html
index 0679eff50..ea3803358 100644
--- a/content/2019/04/09/apache-flink-1.8.0-release-announcement/index.html
+++ b/content/2019/04/09/apache-flink-1.8.0-release-announcement/index.html
@@ -28,7 +28,7 @@ Flink 1.8.0 is API-compatible with previous 1.x.y releases for APIs annotated wi
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/04/17/apache-flinks-application-to-season-of-docs/index.html b/content/2019/04/17/apache-flinks-application-to-season-of-docs/index.html
index c69f8969f..6b4d1db2a 100644
--- a/content/2019/04/17/apache-flinks-application-to-season-of-docs/index.html
+++ b/content/2019/04/17/apache-flinks-application-to-season-of-docs/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/05/03/when-flink-pulsar-come-together/index.html b/content/2019/05/03/when-flink-pulsar-come-together/index.html
index 02fcba3f1..ecfb8d455 100644
--- a/content/2019/05/03/when-flink-pulsar-come-together/index.html
+++ b/content/2019/05/03/when-flink-pulsar-come-together/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/index.html b/content/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/index.html
index 41dfdb160..bb225a5a0 100644
--- a/content/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/index.html
+++ b/content/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/index.html b/content/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/index.html
index 3e34f2691..03bf3110d 100644
--- a/content/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/index.html
+++ b/content/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/index.html
@@ -28,7 +28,7 @@ In this post, we motivate the State TTL feature and discuss its use cases." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/06/05/a-deep-dive-into-flinks-network-stack/index.html b/content/2019/06/05/a-deep-dive-into-flinks-network-stack/index.html
index 53c5cdaf2..6424491e6 100644
--- a/content/2019/06/05/a-deep-dive-into-flinks-network-stack/index.html
+++ b/content/2019/06/05/a-deep-dive-into-flinks-network-stack/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/06/26/a-practical-guide-to-broadcast-state-in-apache-flink/index.html b/content/2019/06/26/a-practical-guide-to-broadcast-state-in-apache-flink/index.html
index 09d71e52c..d61df62c6 100644
--- a/content/2019/06/26/a-practical-guide-to-broadcast-state-in-apache-flink/index.html
+++ b/content/2019/06/26/a-practical-guide-to-broadcast-state-in-apache-flink/index.html
@@ -28,7 +28,7 @@ What is Broadcast State? # The Broadcast State can be used to combine and jointl
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/07/02/apache-flink-1.8.1-released/index.html b/content/2019/07/02/apache-flink-1.8.1-released/index.html
index 19dfd6a48..ea56a9bee 100644
--- a/content/2019/07/02/apache-flink-1.8.1-released/index.html
+++ b/content/2019/07/02/apache-flink-1.8.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/index.html b/content/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/index.html
index 49cfdb419..0ccbf4a7f 100644
--- a/content/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/index.html
+++ b/content/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/08/22/apache-flink-1.9.0-release-announcement/index.html b/content/2019/08/22/apache-flink-1.9.0-release-announcement/index.html
index dc8bafc8f..77b93b052 100644
--- a/content/2019/08/22/apache-flink-1.9.0-release-announcement/index.html
+++ b/content/2019/08/22/apache-flink-1.9.0-release-announcement/index.html
@@ -28,7 +28,7 @@ The Apache Flink project&rsquo;s goal is to develop a stream processing system t
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/09/05/flink-community-update-september19/index.html b/content/2019/09/05/flink-community-update-september19/index.html
index 58c7c7333..b60a4d31a 100644
--- a/content/2019/09/05/flink-community-update-september19/index.html
+++ b/content/2019/09/05/flink-community-update-september19/index.html
@@ -28,7 +28,7 @@ The first post in the series takes you on an little detour across the year, to f
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/09/11/apache-flink-1.8.2-released/index.html b/content/2019/09/11/apache-flink-1.8.2-released/index.html
index 5f8602d78..bcf013b70 100644
--- a/content/2019/09/11/apache-flink-1.8.2-released/index.html
+++ b/content/2019/09/11/apache-flink-1.8.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/09/13/the-state-processor-api-how-to-read-write-and-modify-the-state-of-flink-applications/index.html b/content/2019/09/13/the-state-processor-api-how-to-read-write-and-modify-the-state-of-flink-applications/index.html
index 15a9830a9..fa971242e 100644
--- a/content/2019/09/13/the-state-processor-api-how-to-read-write-and-modify-the-state-of-flink-applications/index.html
+++ b/content/2019/09/13/the-state-processor-api-how-to-read-write-and-modify-the-state-of-flink-applications/index.html
@@ -28,7 +28,7 @@ In this post, we explain why this feature is a big step for Flink, what you can
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/10/18/apache-flink-1.9.1-released/index.html b/content/2019/10/18/apache-flink-1.9.1-released/index.html
index 591dd8e4a..726f77971 100644
--- a/content/2019/10/18/apache-flink-1.9.1-released/index.html
+++ b/content/2019/10/18/apache-flink-1.9.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/index.html b/content/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/index.html
index 51da04810..820dbd5db 100644
--- a/content/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/index.html
+++ b/content/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/11/25/how-to-query-pulsar-streams-using-apache-flink/index.html b/content/2019/11/25/how-to-query-pulsar-streams-using-apache-flink/index.html
index 833378eae..33869c1a7 100644
--- a/content/2019/11/25/how-to-query-pulsar-streams-using-apache-flink/index.html
+++ b/content/2019/11/25/how-to-query-pulsar-streams-using-apache-flink/index.html
@@ -28,7 +28,7 @@ A short intro to Apache Pulsar # Apache Pulsar is a flexible pub/sub messaging s
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2019/12/11/apache-flink-1.8.3-released/index.html b/content/2019/12/11/apache-flink-1.8.3-released/index.html
index e9f8ed52c..cf97464e5 100644
--- a/content/2019/12/11/apache-flink-1.8.3-released/index.html
+++ b/content/2019/12/11/apache-flink-1.8.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/index.html b/content/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/index.html
index 8f7782788..8b2fe0501 100644
--- a/content/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/index.html
+++ b/content/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/index.html
@@ -30,7 +30,7 @@ Dynamic updates of application logic allow Flink jobs to change at runtime, with
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/01/29/state-unlocked-interacting-with-state-in-apache-flink/index.html b/content/2020/01/29/state-unlocked-interacting-with-state-in-apache-flink/index.html
index 20ce18f07..5aafc20b0 100644
--- a/content/2020/01/29/state-unlocked-interacting-with-state-in-apache-flink/index.html
+++ b/content/2020/01/29/state-unlocked-interacting-with-state-in-apache-flink/index.html
@@ -28,7 +28,7 @@ In order to provide a state-of-the-art experience to Flink developers, the Apach
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/01/30/apache-flink-1.9.2-released/index.html b/content/2020/01/30/apache-flink-1.9.2-released/index.html
index 565effe23..783d6c4b0 100644
--- a/content/2020/01/30/apache-flink-1.9.2-released/index.html
+++ b/content/2020/01/30/apache-flink-1.9.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/02/03/a-guide-for-unit-testing-in-apache-flink/index.html b/content/2020/02/03/a-guide-for-unit-testing-in-apache-flink/index.html
index cac49ecf0..92ad90bee 100644
--- a/content/2020/02/03/a-guide-for-unit-testing-in-apache-flink/index.html
+++ b/content/2020/02/03/a-guide-for-unit-testing-in-apache-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/02/11/apache-flink-1.10.0-release-announcement/index.html b/content/2020/02/11/apache-flink-1.10.0-release-announcement/index.html
index 31346f317..44e2b71a7 100644
--- a/content/2020/02/11/apache-flink-1.10.0-release-announcement/index.html
+++ b/content/2020/02/11/apache-flink-1.10.0-release-announcement/index.html
@@ -28,7 +28,7 @@ Flink 1.10 also marks the completion of the Blink integration, hardening streami
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/index.html b/content/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/index.html
index 277ca5391..c16cf0559 100644
--- a/content/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/index.html
+++ b/content/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/index.html b/content/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/index.html
index 1fe090457..0d92d89fe 100644
--- a/content/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/index.html
+++ b/content/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/index.html
@@ -28,7 +28,7 @@ Apache Flink and Apache Beam are open-source frameworks for parallel, distribute
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/index.html b/content/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/index.html
index 55ca2622f..38f4be15b 100644
--- a/content/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/index.html
+++ b/content/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/index.html
@@ -28,7 +28,7 @@ We intentionally omitted details of how the applied rules are initialized and wh
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/index.html b/content/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/index.html
index 3c5a1f077..a8b9a350c 100644
--- a/content/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/index.html
+++ b/content/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/index.html
@@ -32,7 +32,7 @@ Firstly, today’s business is shifting to a more real-time fashion, and thus de
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/03/30/flink-community-update-april20/index.html b/content/2020/03/30/flink-community-update-april20/index.html
index df7a4415c..901fa83a7 100644
--- a/content/2020/03/30/flink-community-update-april20/index.html
+++ b/content/2020/03/30/flink-community-update-april20/index.html
@@ -28,7 +28,7 @@ And since now it&rsquo;s more important than ever to keep up the spirits, we’d
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/index.html b/content/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/index.html
index b4575d525..62b49a5f8 100644
--- a/content/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/index.html
+++ b/content/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/index.html
@@ -28,7 +28,7 @@ Stateful Functions 2.0 makes it possible to combine StateFun’s powerful approa
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/index.html b/content/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/index.html
index 1ea61544d..c4642122e 100644
--- a/content/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/index.html
+++ b/content/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/index.html
@@ -28,7 +28,7 @@ In Flink 1.10, the community further extended the support for Python by adding P
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/index.html b/content/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/index.html
index 30f52caf6..188d3b909 100644
--- a/content/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/index.html
+++ b/content/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/04/21/memory-management-improvements-with-apache-flink-1.10/index.html b/content/2020/04/21/memory-management-improvements-with-apache-flink-1.10/index.html
index 464bc7b35..211383753 100644
--- a/content/2020/04/21/memory-management-improvements-with-apache-flink-1.10/index.html
+++ b/content/2020/04/21/memory-management-improvements-with-apache-flink-1.10/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/04/24/apache-flink-1.9.3-released/index.html b/content/2020/04/24/apache-flink-1.9.3-released/index.html
index 2fe684149..95ecbaddd 100644
--- a/content/2020/04/24/apache-flink-1.9.3-released/index.html
+++ b/content/2020/04/24/apache-flink-1.9.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/05/04/applying-to-google-season-of-docs-2020/index.html b/content/2020/05/04/applying-to-google-season-of-docs-2020/index.html
index 4adc338c5..2ec787a0c 100644
--- a/content/2020/05/04/applying-to-google-season-of-docs-2020/index.html
+++ b/content/2020/05/04/applying-to-google-season-of-docs-2020/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/05/06/flink-community-update-may20/index.html b/content/2020/05/06/flink-community-update-may20/index.html
index 958e6e56b..f3e5a810e 100644
--- a/content/2020/05/06/flink-community-update-may20/index.html
+++ b/content/2020/05/06/flink-community-update-may20/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/05/12/apache-flink-1.10.1-released/index.html b/content/2020/05/12/apache-flink-1.10.1-released/index.html
index 56c9b62e2..cc8bb2268 100644
--- a/content/2020/05/12/apache-flink-1.10.1-released/index.html
+++ b/content/2020/05/12/apache-flink-1.10.1-released/index.html
@@ -32,7 +32,7 @@ Note FLINK-16684 changed the builders of the StreamingFileSink to make them comp
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/06/09/stateful-functions-2.1.0-release-announcement/index.html b/content/2020/06/09/stateful-functions-2.1.0-release-announcement/index.html
index 71b9b7228..05b64a4dc 100644
--- a/content/2020/06/09/stateful-functions-2.1.0-release-announcement/index.html
+++ b/content/2020/06/09/stateful-functions-2.1.0-release-announcement/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/06/10/flink-community-update-june20/index.html b/content/2020/06/10/flink-community-update-june20/index.html
index 25559323e..f9588824c 100644
--- a/content/2020/06/10/flink-community-update-june20/index.html
+++ b/content/2020/06/10/flink-community-update-june20/index.html
@@ -28,7 +28,7 @@ To top it off, a piece of good news: Flink Forward is back on October 19-22 as a
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/index.html b/content/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/index.html
index d38575049..d96ab6787 100644
--- a/content/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/index.html
+++ b/content/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/index.html b/content/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/index.html
index e0dfad45c..e7382e89c 100644
--- a/content/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/index.html
+++ b/content/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/index.html
@@ -28,7 +28,7 @@ Streaming Data Visualization # With Zeppelin, you can build a real time streamin
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/06/apache-flink-1.11.0-release-announcement/index.html b/content/2020/07/06/apache-flink-1.11.0-release-announcement/index.html
index 6f1ef638c..13164bc2d 100644
--- a/content/2020/07/06/apache-flink-1.11.0-release-announcement/index.html
+++ b/content/2020/07/06/apache-flink-1.11.0-release-announcement/index.html
@@ -28,7 +28,7 @@ The core engine is introducing unaligned checkpoints, a major change to Flink&rs
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/14/application-deployment-in-flink-current-state-and-the-new-application-mode/index.html b/content/2020/07/14/application-deployment-in-flink-current-state-and-the-new-application-mode/index.html
index f3be6488d..9f2440536 100644
--- a/content/2020/07/14/application-deployment-in-flink-current-state-and-the-new-application-mode/index.html
+++ b/content/2020/07/14/application-deployment-in-flink-current-state-and-the-new-application-mode/index.html
@@ -28,7 +28,7 @@ These platforms aim at simplifying application submission internally by lifting
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/21/apache-flink-1.11.1-released/index.html b/content/2020/07/21/apache-flink-1.11.1-released/index.html
index a9a88ed73..d5e89da94 100644
--- a/content/2020/07/21/apache-flink-1.11.1-released/index.html
+++ b/content/2020/07/21/apache-flink-1.11.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/index.html b/content/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/index.html
index dcf2352dd..6ae99e655 100644
--- a/content/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/index.html
+++ b/content/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/index.html b/content/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/index.html
index 7ee273ab8..186f757fc 100644
--- a/content/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/index.html
+++ b/content/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/index.html
@@ -28,7 +28,7 @@ In the following sections, we describe how to integrate Kafka, MySQL, Elasticsea
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/29/flink-community-update-july20/index.html b/content/2020/07/29/flink-community-update-july20/index.html
index 22b04f397..a68d2614e 100644
--- a/content/2020/07/29/flink-community-update-july20/index.html
+++ b/content/2020/07/29/flink-community-update-july20/index.html
@@ -30,7 +30,7 @@ The Past Month in Flink # Flink Releases # Flink 1.11 # A couple of weeks ago, F
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/index.html b/content/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/index.html
index 86c26b922..0ede9c2c3 100644
--- a/content/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/index.html
+++ b/content/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/index.html b/content/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/index.html
index e24a791a7..d0ad7de02 100644
--- a/content/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/index.html
+++ b/content/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/index.html
@@ -28,7 +28,7 @@ Pic source: VanderPlas 2017, slide 52." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/index.html b/content/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/index.html
index bd9503b58..d75aa5415 100644
--- a/content/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/index.html
+++ b/content/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/index.html b/content/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/index.html
index 7d2452443..18254390f 100644
--- a/content/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/index.html
+++ b/content/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/index.html
@@ -28,7 +28,7 @@ IoT networks are composed of many individual, but interconnected components, whi
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/08/20/the-state-of-flink-on-docker/index.html b/content/2020/08/20/the-state-of-flink-on-docker/index.html
index 9a8f77900..46b3ece47 100644
--- a/content/2020/08/20/the-state-of-flink-on-docker/index.html
+++ b/content/2020/08/20/the-state-of-flink-on-docker/index.html
@@ -32,7 +32,7 @@ Reduce confusion: Flink used to have 2 Dockerfiles and a 3rd file maintained out
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/08/25/apache-flink-1.10.2-released/index.html b/content/2020/08/25/apache-flink-1.10.2-released/index.html
index 933b83f4e..91cbe9879 100644
--- a/content/2020/08/25/apache-flink-1.10.2-released/index.html
+++ b/content/2020/08/25/apache-flink-1.10.2-released/index.html
@@ -32,7 +32,7 @@ Note After FLINK-18242, the deprecated `OptionsFactory` and `ConfigurableOptions
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/index.html b/content/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/index.html
index 0640494a0..d070e86c8 100644
--- a/content/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/index.html
+++ b/content/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/index.html
@@ -28,7 +28,7 @@ The previous blog post focused on the memory model of the TaskManagers and how i
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/09/04/flink-community-update-august20/index.html b/content/2020/09/04/flink-community-update-august20/index.html
index d05e85df2..1ed881105 100644
--- a/content/2020/09/04/flink-community-update-august20/index.html
+++ b/content/2020/09/04/flink-community-update-august20/index.html
@@ -28,7 +28,7 @@ The Past Month in Flink # Flink Releases # Getting Ready for Flink Stateful Func
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/09/17/apache-flink-1.11.2-released/index.html b/content/2020/09/17/apache-flink-1.11.2-released/index.html
index 8a3bb8a1d..a1b792af2 100644
--- a/content/2020/09/17/apache-flink-1.11.2-released/index.html
+++ b/content/2020/09/17/apache-flink-1.11.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/09/28/stateful-functions-2.2.0-release-announcement/index.html b/content/2020/09/28/stateful-functions-2.2.0-release-announcement/index.html
index 82c160d7f..dacd117b8 100644
--- a/content/2020/09/28/stateful-functions-2.2.0-release-announcement/index.html
+++ b/content/2020/09/28/stateful-functions-2.2.0-release-announcement/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/index.html b/content/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/index.html
index ac5affa42..4b8a32d8a 100644
--- a/content/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/index.html
+++ b/content/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1-checkpoints-alignment-and-backpressure/index.html b/content/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1-checkpoints-alignment-and-backpressure/index.html
index 7d301c6b5..74a029dee 100644
--- a/content/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1-checkpoints-alignment-and-backpressure/index.html
+++ b/content/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1-checkpoints-alignment-and-backpressure/index.html
@@ -28,7 +28,7 @@ Despite all these great properties, Flink&rsquo;s checkpointing method has an Ac
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/11/11/stateful-functions-2.2.1-release-announcement/index.html b/content/2020/11/11/stateful-functions-2.2.1-release-announcement/index.html
index cb4d08789..d6b3d8a77 100644
--- a/content/2020/11/11/stateful-functions-2.2.1-release-announcement/index.html
+++ b/content/2020/11/11/stateful-functions-2.2.1-release-announcement/index.html
@@ -30,7 +30,7 @@ We strongly recommend all users to upgrade to 2." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/index.html b/content/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/index.html
index 3481870be..a4bd4591b 100644
--- a/content/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/index.html
+++ b/content/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/12/10/apache-flink-1.12.0-release-announcement/index.html b/content/2020/12/10/apache-flink-1.12.0-release-announcement/index.html
index 913b886b6..77e6a01c7 100644
--- a/content/2020/12/10/apache-flink-1.12.0-release-announcement/index.html
+++ b/content/2020/12/10/apache-flink-1.12.0-release-announcement/index.html
@@ -30,7 +30,7 @@ The community has added support for efficient batch execution in the DataStream
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2020/12/18/apache-flink-1.11.3-released/index.html b/content/2020/12/18/apache-flink-1.11.3-released/index.html
index d671be5d2..ef34e6527 100644
--- a/content/2020/12/18/apache-flink-1.11.3-released/index.html
+++ b/content/2020/12/18/apache-flink-1.11.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/01/02/stateful-functions-2.2.2-release-announcement/index.html b/content/2021/01/02/stateful-functions-2.2.2-release-announcement/index.html
index 24d42ae19..e61d00c8c 100644
--- a/content/2021/01/02/stateful-functions-2.2.2-release-announcement/index.html
+++ b/content/2021/01/02/stateful-functions-2.2.2-release-announcement/index.html
@@ -28,7 +28,7 @@ The most important change of this bugfix release is upgrading Apache Flink to ve
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/index.html b/content/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/index.html
index fc1ec89ad..9bdec013d 100644
--- a/content/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/index.html
+++ b/content/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/index.html b/content/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/index.html
index b7ba3afef..747bdb966 100644
--- a/content/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/index.html
+++ b/content/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/index.html
@@ -28,7 +28,7 @@ Processing efficiency is not the only parameter users of data processing systems
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/index.html b/content/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/index.html
index 62996f10a..448a017cd 100644
--- a/content/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/index.html
+++ b/content/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/01/19/apache-flink-1.12.1-released/index.html b/content/2021/01/19/apache-flink-1.12.1-released/index.html
index 38802ec1f..71e3f8b82 100644
--- a/content/2021/01/19/apache-flink-1.12.1-released/index.html
+++ b/content/2021/01/19/apache-flink-1.12.1-released/index.html
@@ -32,7 +32,7 @@ Attention: Using unaligned checkpoints in Flink 1.12.0 combined with two/multipl
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/01/29/apache-flink-1.10.3-released/index.html b/content/2021/01/29/apache-flink-1.10.3-released/index.html
index a2c8d7581..3f442b136 100644
--- a/content/2021/01/29/apache-flink-1.10.3-released/index.html
+++ b/content/2021/01/29/apache-flink-1.10.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/02/10/how-to-natively-deploy-flink-on-kubernetes-with-high-availability-ha/index.html b/content/2021/02/10/how-to-natively-deploy-flink-on-kubernetes-with-high-availability-ha/index.html
index e15895f85..e44b7faed 100644
--- a/content/2021/02/10/how-to-natively-deploy-flink-on-kubernetes-with-high-availability-ha/index.html
+++ b/content/2021/02/10/how-to-natively-deploy-flink-on-kubernetes-with-high-availability-ha/index.html
@@ -28,7 +28,7 @@ From release to release, the Flink community has made significant progress in in
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/03/03/apache-flink-1.12.2-released/index.html b/content/2021/03/03/apache-flink-1.12.2-released/index.html
index 748d81e90..db6b07fec 100644
--- a/content/2021/03/03/apache-flink-1.12.2-released/index.html
+++ b/content/2021/03/03/apache-flink-1.12.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/index.html b/content/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/index.html
index 926ee0e0c..2e7f9c661 100644
--- a/content/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/index.html
+++ b/content/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/04/15/stateful-functions-3.0.0-remote-functions-front-and-center/index.html b/content/2021/04/15/stateful-functions-3.0.0-remote-functions-front-and-center/index.html
index dc079f1c0..a72af09c8 100644
--- a/content/2021/04/15/stateful-functions-3.0.0-remote-functions-front-and-center/index.html
+++ b/content/2021/04/15/stateful-functions-3.0.0-remote-functions-front-and-center/index.html
@@ -28,7 +28,7 @@ This new release brings remote functions to the front and center of StateFun, ma
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/04/29/apache-flink-1.12.3-released/index.html b/content/2021/04/29/apache-flink-1.12.3-released/index.html
index 14eeee5c1..a00533f99 100644
--- a/content/2021/04/29/apache-flink-1.12.3-released/index.html
+++ b/content/2021/04/29/apache-flink-1.12.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/05/03/apache-flink-1.13.0-release-announcement/index.html b/content/2021/05/03/apache-flink-1.13.0-release-announcement/index.html
index b86cf43bb..35499ac58 100644
--- a/content/2021/05/03/apache-flink-1.13.0-release-announcement/index.html
+++ b/content/2021/05/03/apache-flink-1.13.0-release-announcement/index.html
@@ -28,7 +28,7 @@ The release brings us a big step forward in one of our major efforts: Making Str
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/05/06/scaling-flink-automatically-with-reactive-mode/index.html b/content/2021/05/06/scaling-flink-automatically-with-reactive-mode/index.html
index 9fc3399d2..b60820f50 100644
--- a/content/2021/05/06/scaling-flink-automatically-with-reactive-mode/index.html
+++ b/content/2021/05/06/scaling-flink-automatically-with-reactive-mode/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/05/21/apache-flink-1.12.4-released/index.html b/content/2021/05/21/apache-flink-1.12.4-released/index.html
index 0b8a3de33..a07c71570 100644
--- a/content/2021/05/21/apache-flink-1.12.4-released/index.html
+++ b/content/2021/05/21/apache-flink-1.12.4-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/05/28/apache-flink-1.13.1-released/index.html b/content/2021/05/28/apache-flink-1.13.1-released/index.html
index 697043f15..753d87d98 100644
--- a/content/2021/05/28/apache-flink-1.13.1-released/index.html
+++ b/content/2021/05/28/apache-flink-1.13.1-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/07/07/how-to-identify-the-source-of-backpressure/index.html b/content/2021/07/07/how-to-identify-the-source-of-backpressure/index.html
index 3f5a8ce1f..e74e7ff5a 100644
--- a/content/2021/07/07/how-to-identify-the-source-of-backpressure/index.html
+++ b/content/2021/07/07/how-to-identify-the-source-of-backpressure/index.html
@@ -28,7 +28,7 @@ The backpressure topic was tackled from different angles over the last couple of
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/08/06/apache-flink-1.12.5-released/index.html b/content/2021/08/06/apache-flink-1.12.5-released/index.html
index b9aa57f47..06a612815 100644
--- a/content/2021/08/06/apache-flink-1.12.5-released/index.html
+++ b/content/2021/08/06/apache-flink-1.12.5-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/08/06/apache-flink-1.13.2-released/index.html b/content/2021/08/06/apache-flink-1.13.2-released/index.html
index 118100b79..7301f9373 100644
--- a/content/2021/08/06/apache-flink-1.13.2-released/index.html
+++ b/content/2021/08/06/apache-flink-1.13.2-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/08/09/apache-flink-1.11.4-released/index.html b/content/2021/08/09/apache-flink-1.11.4-released/index.html
index c0e558a95..56996ee6a 100644
--- a/content/2021/08/09/apache-flink-1.11.4-released/index.html
+++ b/content/2021/08/09/apache-flink-1.11.4-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/index.html b/content/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/index.html
index 4d219adec..536d7d5a8 100644
--- a/content/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/index.html
+++ b/content/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/index.html
@@ -30,7 +30,7 @@ A lot of features and fixes went into this release, including improvements to th
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/08/31/stateful-functions-3.1.0-release-announcement/index.html b/content/2021/08/31/stateful-functions-3.1.0-release-announcement/index.html
index 8d8d69ebf..7a9721df0 100644
--- a/content/2021/08/31/stateful-functions-3.1.0-release-announcement/index.html
+++ b/content/2021/08/31/stateful-functions-3.1.0-release-announcement/index.html
@@ -28,7 +28,7 @@ The binary distribution and source artifacts are now available on the updated Do
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/index.html b/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/index.html
index 50451e140..0e86b85f5 100644
--- a/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/index.html
+++ b/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/index.html
@@ -28,7 +28,7 @@ Introduction # Apache Flink is a data processing engine that aims to keep state
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/index.html b/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/index.html
index 7b09604f2..3acfe414b 100644
--- a/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/index.html
+++ b/content/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/index.html
@@ -30,7 +30,7 @@ integrate a source connector which connects to a mailbox using the IMAP protocol
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/09/29/apache-flink-1.14.0-release-announcement/index.html b/content/2021/09/29/apache-flink-1.14.0-release-announcement/index.html
index 2f2e011bc..363c0ae78 100644
--- a/content/2021/09/29/apache-flink-1.14.0-release-announcement/index.html
+++ b/content/2021/09/29/apache-flink-1.14.0-release-announcement/index.html
@@ -28,7 +28,7 @@ This release brings many new features and improvements in areas such as the SQL
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/10/19/apache-flink-1.13.3-released/index.html b/content/2021/10/19/apache-flink-1.13.3-released/index.html
index 2e8d14f8f..bb23b314f 100644
--- a/content/2021/10/19/apache-flink-1.13.3-released/index.html
+++ b/content/2021/10/19/apache-flink-1.13.3-released/index.html
@@ -34,7 +34,7 @@ Updated Maven dependencies:
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/index.html b/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/index.html
index 69389a4ca..18472d3bc 100644
--- a/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/index.html
+++ b/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/index.html
@@ -28,7 +28,7 @@ How data gets passed around between operators # Data shuffling is an important s
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/index.html b/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/index.html
index 45afef140..674783653 100644
--- a/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/index.html
+++ b/content/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/index.html
@@ -28,7 +28,7 @@ Like sort-merge shuffle implemented by other distributed data processing framewo
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/11/03/flink-backward-the-apache-flink-retrospective/index.html b/content/2021/11/03/flink-backward-the-apache-flink-retrospective/index.html
index a2ea8fa68..8c71d9187 100644
--- a/content/2021/11/03/flink-backward-the-apache-flink-retrospective/index.html
+++ b/content/2021/11/03/flink-backward-the-apache-flink-retrospective/index.html
@@ -28,7 +28,7 @@ A retrospective on the release cycle # From the team, we collected emotions that
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/index.html b/content/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/index.html
index 476a3f758..2bfdc0c2c 100644
--- a/content/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/index.html
+++ b/content/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/index.html
@@ -30,7 +30,7 @@ env.java.opts: -Dlog4j2.formatMsgNoLookups=true If you are already setting env."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/12/16/apache-flink-log4j-emergency-releases/index.html b/content/2021/12/16/apache-flink-log4j-emergency-releases/index.html
index 7026c56fc..e2750ab80 100644
--- a/content/2021/12/16/apache-flink-log4j-emergency-releases/index.html
+++ b/content/2021/12/16/apache-flink-log4j-emergency-releases/index.html
@@ -34,7 +34,7 @@ We are publishing this announcement earlier than usual to give users access to t
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2021/12/22/apache-flink-statefun-log4j-emergency-release/index.html b/content/2021/12/22/apache-flink-statefun-log4j-emergency-release/index.html
index 3413a1ac7..3312109bf 100644
--- a/content/2021/12/22/apache-flink-statefun-log4j-emergency-release/index.html
+++ b/content/2021/12/22/apache-flink-statefun-log4j-emergency-release/index.html
@@ -32,7 +32,7 @@ You can find the source and binaries on the updated Downloads page, and Docker i
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/index.html b/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/index.html
index 042e33d4d..1db64aae4 100644
--- a/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/index.html
+++ b/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/index.html b/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/index.html
index 39bd7e42e..61d5b6fe1 100644
--- a/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/index.html
+++ b/content/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/index.html
@@ -28,7 +28,7 @@ Reducing complexity with groups # A distribution pattern describes how consumer
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/01/07/apache-flink-ml-2.0.0-release-announcement/index.html b/content/2022/01/07/apache-flink-ml-2.0.0-release-announcement/index.html
index 597ef200e..bd436daa9 100644
--- a/content/2022/01/07/apache-flink-ml-2.0.0-release-announcement/index.html
+++ b/content/2022/01/07/apache-flink-ml-2.0.0-release-announcement/index.html
@@ -28,7 +28,7 @@ This release involves a major refactor of the earlier Flink ML library and intro
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/01/17/apache-flink-1.14.3-release-announcement/index.html b/content/2022/01/17/apache-flink-1.14.3-release-announcement/index.html
index 55d9d9397..9207c5d59 100644
--- a/content/2022/01/17/apache-flink-1.14.3-release-announcement/index.html
+++ b/content/2022/01/17/apache-flink-1.14.3-release-announcement/index.html
@@ -28,7 +28,7 @@ This release includes 164 fixes and minor improvements for Flink 1." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/01/20/pravega-flink-connector-101/index.html b/content/2022/01/20/pravega-flink-connector-101/index.html
index 28ec6ea2b..0ffe694b6 100644
--- a/content/2022/01/20/pravega-flink-connector-101/index.html
+++ b/content/2022/01/20/pravega-flink-connector-101/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/01/31/stateful-functions-3.2.0-release-announcement/index.html b/content/2022/01/31/stateful-functions-3.2.0-release-announcement/index.html
index a3afc0413..475692831 100644
--- a/content/2022/01/31/stateful-functions-3.2.0-release-announcement/index.html
+++ b/content/2022/01/31/stateful-functions-3.2.0-release-announcement/index.html
@@ -28,7 +28,7 @@ The binary distribution and source artifacts are now available on the updated Do
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/02/18/apache-flink-1.13.6-release-announcement/index.html b/content/2022/02/18/apache-flink-1.13.6-release-announcement/index.html
index c552af45e..129762965 100644
--- a/content/2022/02/18/apache-flink-1.13.6-release-announcement/index.html
+++ b/content/2022/02/18/apache-flink-1.13.6-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users to upgrade to Flink 1." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/02/22/scala-free-in-one-fifteen/index.html b/content/2022/02/22/scala-free-in-one-fifteen/index.html
index 2143c04e2..b4aefbe4e 100644
--- a/content/2022/02/22/scala-free-in-one-fifteen/index.html
+++ b/content/2022/02/22/scala-free-in-one-fifteen/index.html
@@ -30,7 +30,7 @@ TLDR: All Scala dependencies are now isolated to the flink-scala jar." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/03/11/apache-flink-1.14.4-release-announcement/index.html b/content/2022/03/11/apache-flink-1.14.4-release-announcement/index.html
index 6fb02d5a5..18ce37cd6 100644
--- a/content/2022/03/11/apache-flink-1.14.4-release-announcement/index.html
+++ b/content/2022/03/11/apache-flink-1.14.4-release-announcement/index.html
@@ -32,7 +32,7 @@ Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/03/16/the-generic-asynchronous-base-sink/index.html b/content/2022/03/16/the-generic-asynchronous-base-sink/index.html
index ef7fc9d86..a1e096cb0 100644
--- a/content/2022/03/16/the-generic-asynchronous-base-sink/index.html
+++ b/content/2022/03/16/the-generic-asynchronous-base-sink/index.html
@@ -30,7 +30,7 @@ This is a base implementation for asynchronous sinks, which you should use whene
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/index.html b/content/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/index.html
index f396ad430..c6e33f4da 100644
--- a/content/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/index.html
+++ b/content/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/index.html
@@ -30,7 +30,7 @@ The operator takes care of submitting, savepointing, upgrading and generally man
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/05/announcing-the-release-of-apache-flink-1.15/index.html b/content/2022/05/05/announcing-the-release-of-apache-flink-1.15/index.html
index 5ecb5eb67..9dc214e7f 100644
--- a/content/2022/05/05/announcing-the-release-of-apache-flink-1.15/index.html
+++ b/content/2022/05/05/announcing-the-release-of-apache-flink-1.15/index.html
@@ -28,7 +28,7 @@ One of the main concepts that makes Apache Flink stand out is the unification of
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/06/exploring-the-thread-mode-in-pyflink/index.html b/content/2022/05/06/exploring-the-thread-mode-in-pyflink/index.html
index c691cd295..2d142288c 100644
--- a/content/2022/05/06/exploring-the-thread-mode-in-pyflink/index.html
+++ b/content/2022/05/06/exploring-the-thread-mode-in-pyflink/index.html
@@ -28,7 +28,7 @@ Before Flink 1.15, Python user-defined functions will be executed in separate Py
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/index.html b/content/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/index.html
index e01c568dd..35ec29ef9 100644
--- a/content/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/index.html
+++ b/content/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/index.html b/content/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/index.html
index 9bfb06ec3..a137f77bb 100644
--- a/content/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/index.html
+++ b/content/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/index.html
@@ -32,7 +32,7 @@ What is Flink Table Store # In the past years, thanks to our numerous contributo
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/index.html b/content/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/index.html
index ef2969101..4d08042b9 100644
--- a/content/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/index.html
+++ b/content/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/index.html
@@ -28,7 +28,7 @@ In this multi-part series, we will present a collection of low-latency technique
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/index.html b/content/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/index.html
index 70342758a..d03f2f927 100644
--- a/content/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/index.html
+++ b/content/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/index.html b/content/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/index.html
index 8388f0847..e396dec5c 100644
--- a/content/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/index.html
+++ b/content/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/index.html b/content/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/index.html
index 5c81fc828..a381101a8 100644
--- a/content/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/index.html
+++ b/content/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/index.html
@@ -30,7 +30,7 @@ New v1beta1 API version &amp; compatibility guarantees Session Job Management su
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/06/17/adaptive-batch-scheduler-automatically-decide-parallelism-of-flink-batch-jobs/index.html b/content/2022/06/17/adaptive-batch-scheduler-automatically-decide-parallelism-of-flink-batch-jobs/index.html
index d4886bfb3..b3d586818 100644
--- a/content/2022/06/17/adaptive-batch-scheduler-automatically-decide-parallelism-of-flink-batch-jobs/index.html
+++ b/content/2022/06/17/adaptive-batch-scheduler-automatically-decide-parallelism-of-flink-batch-jobs/index.html
@@ -28,7 +28,7 @@ To decide a proper parallelism, one needs to know how much data each operator ne
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/06/22/apache-flink-1.14.5-release-announcement/index.html b/content/2022/06/22/apache-flink-1.14.5-release-announcement/index.html
index 359964948..ddfd23a78 100644
--- a/content/2022/06/22/apache-flink-1.14.5-release-announcement/index.html
+++ b/content/2022/06/22/apache-flink-1.14.5-release-announcement/index.html
@@ -32,7 +32,7 @@ Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/07/06/apache-flink-1.15.1-release-announcement/index.html b/content/2022/07/06/apache-flink-1.15.1-release-announcement/index.html
index bafa5e893..c10e808e6 100644
--- a/content/2022/07/06/apache-flink-1.15.1-release-announcement/index.html
+++ b/content/2022/07/06/apache-flink-1.15.1-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.15.1." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/index.html b/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/index.html
index 2d8e1f662..176ec88ea 100644
--- a/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/index.html
+++ b/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/index.html b/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/index.html
index 3ffa61a40..d1d66ac39 100644
--- a/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/index.html
+++ b/content/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/index.html
@@ -28,7 +28,7 @@ Implementation of support Checkpointing with Finished Tasks # As described in pa
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/07/12/apache-flink-ml-2.1.0-release-announcement/index.html b/content/2022/07/12/apache-flink-ml-2.1.0-release-announcement/index.html
index 6406478ca..769ee82ce 100644
--- a/content/2022/07/12/apache-flink-ml-2.1.0-release-announcement/index.html
+++ b/content/2022/07/12/apache-flink-ml-2.1.0-release-announcement/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/07/25/apache-flink-kubernetes-operator-1.1.0-release-announcement/index.html b/content/2022/07/25/apache-flink-kubernetes-operator-1.1.0-release-announcement/index.html
index 5722e2a1e..85aa73524 100644
--- a/content/2022/07/25/apache-flink-kubernetes-operator-1.1.0-release-announcement/index.html
+++ b/content/2022/07/25/apache-flink-kubernetes-operator-1.1.0-release-announcement/index.html
@@ -30,7 +30,7 @@ Release Highlights # A non-exhaustive list of some of the more exciting features
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/08/24/apache-flink-1.15.2-release-announcement/index.html b/content/2022/08/24/apache-flink-1.15.2-release-announcement/index.html
index a4bf2d295..0fe50eb91 100644
--- a/content/2022/08/24/apache-flink-1.15.2-release-announcement/index.html
+++ b/content/2022/08/24/apache-flink-1.15.2-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.15.2." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/index.html b/content/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/index.html
index ccd60502d..e3d50a0a0 100644
--- a/content/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/index.html
+++ b/content/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/index.html
@@ -32,7 +32,7 @@ As a new type of updatable data lake, Flink Table Store has the following featur
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/09/08/regarding-akkas-licensing-change/index.html b/content/2022/09/08/regarding-akkas-licensing-change/index.html
index 480a92a2f..910b0334d 100644
--- a/content/2022/09/08/regarding-akkas-licensing-change/index.html
+++ b/content/2022/09/08/regarding-akkas-licensing-change/index.html
@@ -30,7 +30,7 @@ The purpose of this blogpost is to clarify our position on the matter." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/09/28/apache-flink-1.14.6-release-announcement/index.html b/content/2022/09/28/apache-flink-1.14.6-release-announcement/index.html
index cba268627..1c4178c2a 100644
--- a/content/2022/09/28/apache-flink-1.14.6-release-announcement/index.html
+++ b/content/2022/09/28/apache-flink-1.14.6-release-announcement/index.html
@@ -32,7 +32,7 @@ Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org."
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/10/07/apache-flink-kubernetes-operator-1.2.0-release-announcement/index.html b/content/2022/10/07/apache-flink-kubernetes-operator-1.2.0-release-announcement/index.html
index 17e15b430..3104c8ec3 100644
--- a/content/2022/10/07/apache-flink-kubernetes-operator-1.2.0-release-announcement/index.html
+++ b/content/2022/10/07/apache-flink-kubernetes-operator-1.2.0-release-announcement/index.html
@@ -28,7 +28,7 @@ Release Highlights # Standalone deployment mode support Improved upgrade flow Re
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/index.html b/content/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/index.html
index 6082f5dc8..ed9379e6f 100644
--- a/content/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/index.html
+++ b/content/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/index.html
@@ -32,7 +32,7 @@ Release Artifacts # Binaries # You can find the binaries on the updated Download
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/10/28/announcing-the-release-of-apache-flink-1.16/index.html b/content/2022/10/28/announcing-the-release-of-apache-flink-1.16/index.html
index 54fb592af..cbe40890a 100644
--- a/content/2022/10/28/announcing-the-release-of-apache-flink-1.16/index.html
+++ b/content/2022/10/28/announcing-the-release-of-apache-flink-1.16/index.html
@@ -28,7 +28,7 @@ Flink has become the leading role and factual standard of stream processing, and
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/11/10/apache-flink-1.15.3-release-announcement/index.html b/content/2022/11/10/apache-flink-1.15.3-release-announcement/index.html
index cdd2fbd9c..d275cc8aa 100644
--- a/content/2022/11/10/apache-flink-1.15.3-release-announcement/index.html
+++ b/content/2022/11/10/apache-flink-1.15.3-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.15.3." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/index.html b/content/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/index.html
index cb6731b20..a3329b14e 100644
--- a/content/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/index.html
+++ b/content/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/index.html b/content/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/index.html
index 4cab75ce0..0d122dd95 100644
--- a/content/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/index.html
+++ b/content/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/index.html b/content/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/index.html
index 88bf55edf..3fa5402d5 100644
--- a/content/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/index.html
+++ b/content/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/index.html
@@ -32,7 +32,7 @@ Release Notes # Bug # [FLINK-30329] - flink-kubernetes-operator helm chart does
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/index.html b/content/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/index.html
index 4b1a60eca..cab9a7dca 100644
--- a/content/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/index.html
+++ b/content/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/index.html
@@ -32,7 +32,7 @@ Flink Table Store 0.3 completes many exciting features, enhances its ability as
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/01/20/delegation-token-framework-obtain-distribute-and-use-temporary-credentials-automatically/index.html b/content/2023/01/20/delegation-token-framework-obtain-distribute-and-use-temporary-credentials-automatically/index.html
index 5691e9b5c..64fa28ace 100644
--- a/content/2023/01/20/delegation-token-framework-obtain-distribute-and-use-temporary-credentials-automatically/index.html
+++ b/content/2023/01/20/delegation-token-framework-obtain-distribute-and-use-temporary-credentials-automatically/index.html
@@ -28,7 +28,7 @@ Introduction # Authentication in distributed systems is not an easy task. Previo
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/01/30/apache-flink-1.16.1-release-announcement/index.html b/content/2023/01/30/apache-flink-1.16.1-release-announcement/index.html
index b1ab359d7..c64a62bc4 100644
--- a/content/2023/01/30/apache-flink-1.16.1-release-announcement/index.html
+++ b/content/2023/01/30/apache-flink-1.16.1-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.16.1." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/02/27/apache-flink-kubernetes-operator-1.4.0-release-announcement/index.html b/content/2023/02/27/apache-flink-kubernetes-operator-1.4.0-release-announcement/index.html
index 8c2dcefc6..43d7e43aa 100644
--- a/content/2023/02/27/apache-flink-kubernetes-operator-1.4.0-release-announcement/index.html
+++ b/content/2023/02/27/apache-flink-kubernetes-operator-1.4.0-release-announcement/index.html
@@ -28,7 +28,7 @@ Flink Streaming Job Autoscaler # A highly requested feature for Flink applicatio
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/03/15/apache-flink-1.15.4-release-announcement/index.html b/content/2023/03/15/apache-flink-1.15.4-release-announcement/index.html
index 1e95bd3fb..9d72a3948 100644
--- a/content/2023/03/15/apache-flink-1.15.4-release-announcement/index.html
+++ b/content/2023/03/15/apache-flink-1.15.4-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.15.4." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/03/23/announcing-the-release-of-apache-flink-1.17/index.html b/content/2023/03/23/announcing-the-release-of-apache-flink-1.17/index.html
index f033f74a0..402752c76 100644
--- a/content/2023/03/23/announcing-the-release-of-apache-flink-1.17/index.html
+++ b/content/2023/03/23/announcing-the-release-of-apache-flink-1.17/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/04/19/apache-flink-ml-2.2.0-release-announcement/index.html b/content/2023/04/19/apache-flink-ml-2.2.0-release-announcement/index.html
index b5e90679e..82b934103 100644
--- a/content/2023/04/19/apache-flink-ml-2.2.0-release-announcement/index.html
+++ b/content/2023/04/19/apache-flink-ml-2.2.0-release-announcement/index.html
@@ -28,7 +28,7 @@ With the addition of these algorithms, we believe Flink ML library is ready for
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/index.html b/content/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/index.html
index 495b32a2a..c389cc28e 100644
--- a/content/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/index.html
+++ b/content/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/index.html
@@ -28,7 +28,7 @@ Implementing the source components # The source architecture is depicted in the
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/index.html b/content/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/index.html
index 6fb022d75..9e80253cd 100644
--- a/content/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/index.html
+++ b/content/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/index.html
@@ -26,7 +26,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/index.html b/content/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/index.html
index 5bf77fa31..25da702be 100644
--- a/content/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/index.html
+++ b/content/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/index.html
@@ -28,7 +28,7 @@ Unit testing the source # Testing the serializers # Example Cassandra SplitSeria
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/05/17/apache-flink-kubernetes-operator-1.5.0-release-announcement/index.html b/content/2023/05/17/apache-flink-kubernetes-operator-1.5.0-release-announcement/index.html
index 1d3fcfdcf..5df94e892 100644
--- a/content/2023/05/17/apache-flink-kubernetes-operator-1.5.0-release-announcement/index.html
+++ b/content/2023/05/17/apache-flink-kubernetes-operator-1.5.0-release-announcement/index.html
@@ -28,7 +28,7 @@ We encourage you to download the release and share your feedback with the commun
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/05/25/apache-flink-1.16.2-release-announcement/index.html b/content/2023/05/25/apache-flink-1.16.2-release-announcement/index.html
index cfa5c7719..c99a11066 100644
--- a/content/2023/05/25/apache-flink-1.16.2-release-announcement/index.html
+++ b/content/2023/05/25/apache-flink-1.16.2-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.16.2." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/05/25/apache-flink-1.17.1-release-announcement/index.html b/content/2023/05/25/apache-flink-1.17.1-release-announcement/index.html
index eb6836e52..2a1529b65 100644
--- a/content/2023/05/25/apache-flink-1.17.1-release-announcement/index.html
+++ b/content/2023/05/25/apache-flink-1.17.1-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.17.1." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/07/03/sigmod-systems-award-for-apache-flink/index.html b/content/2023/07/03/sigmod-systems-award-for-apache-flink/index.html
index ffcf347f0..92cd3cfcd 100644
--- a/content/2023/07/03/sigmod-systems-award-for-apache-flink/index.html
+++ b/content/2023/07/03/sigmod-systems-award-for-apache-flink/index.html
@@ -32,7 +32,7 @@ Winning of SIGMOD Systems Award indicates the high recognition of Flink&rsquo;s
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/index.html b/content/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/index.html
index b1050d231..7b53501b7 100644
--- a/content/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/index.html
+++ b/content/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/index.html
@@ -28,7 +28,7 @@ Amazon DynamoDB - This connector includes a sink that provides at-least-once del
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/index.html b/content/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/index.html
index bbe6ecd0e..58c9be263 100644
--- a/content/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/index.html
+++ b/content/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/index.html
@@ -30,7 +30,7 @@ Highlights # Improved and simplified rollback mechanism # Previously the rollbac
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html b/content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html
index f3a92674a..37bf94f6a 100644
--- a/content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html
+++ b/content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html
@@ -30,7 +30,7 @@ The binary distribution and source artifacts are now available on the updated Do
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/10/24/announcing-the-release-of-apache-flink-1.18/index.html b/content/2023/10/24/announcing-the-release-of-apache-flink-1.18/index.html
index ede5f8403..a60c305f5 100644
--- a/content/2023/10/24/announcing-the-release-of-apache-flink-1.18/index.html
+++ b/content/2023/10/24/announcing-the-release-of-apache-flink-1.18/index.html
@@ -30,7 +30,7 @@ Towards a Streaming Lakehouse # Flink SQL Improvements # Introduce Flink JDBC Dr
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/index.html b/content/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/index.html
index d7cef9f3b..21999002c 100644
--- a/content/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/index.html
+++ b/content/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/index.html
@@ -32,7 +32,7 @@ Release Notes # Bug # [FLINK-32890] Correct HA patch check for zookeeper metadat
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/index.html b/content/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/index.html
index ec5a2b798..d4f193adc 100644
--- a/content/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/index.html
+++ b/content/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/index.html
@@ -28,7 +28,7 @@ We encourage you to download the release and share your feedback with the commun
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/11/29/apache-flink-1.16.3-release-announcement/index.html b/content/2023/11/29/apache-flink-1.16.3-release-announcement/index.html
index 7423ab4e1..4681c90f7 100644
--- a/content/2023/11/29/apache-flink-1.16.3-release-announcement/index.html
+++ b/content/2023/11/29/apache-flink-1.16.3-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.16.3." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/11/29/apache-flink-1.17.2-release-announcement/index.html b/content/2023/11/29/apache-flink-1.17.2-release-announcement/index.html
index 85e588cd2..20422f033 100644
--- a/content/2023/11/29/apache-flink-1.17.2-release-announcement/index.html
+++ b/content/2023/11/29/apache-flink-1.17.2-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.17.2." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2024/01/19/apache-flink-1.18.1-release-announcement/index.html b/content/2024/01/19/apache-flink-1.18.1-release-announcement/index.html
index 5cb4473f7..5e5a1b56c 100644
--- a/content/2024/01/19/apache-flink-1.18.1-release-announcement/index.html
+++ b/content/2024/01/19/apache-flink-1.18.1-release-announcement/index.html
@@ -30,7 +30,7 @@ We highly recommend all users upgrade to Flink 1.18.1." />
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2024/03/18/announcing-the-release-of-apache-flink-1.19/index.html b/content/2024/03/18/announcing-the-release-of-apache-flink-1.19/index.html
index e18c1b45a..a541713a0 100644
--- a/content/2024/03/18/announcing-the-release-of-apache-flink-1.19/index.html
+++ b/content/2024/03/18/announcing-the-release-of-apache-flink-1.19/index.html
@@ -30,7 +30,7 @@ Flink SQL Improvements # Custom Parallelism for Table/SQL Sources # Now in Flink
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/index.html b/content/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/index.html
index 1005ab17f..8cb75bd8d 100644
--- a/content/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/index.html
+++ b/content/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/index.html
@@ -32,7 +32,7 @@ Highlights # Flink Autotuning # We&rsquo;re excited to announce our latest addit
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html b/content/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/index.html
similarity index 64%
copy from content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html
copy to content/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/index.html
index f3a92674a..6c3c76947 100644
--- a/content/2023/09/19/stateful-functions-3.3.0-release-announcement/index.html
+++ b/content/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/index.html
@@ -11,26 +11,24 @@
 <link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
 <script src="/js/anchor.min.js"></script>
 <script src="/js/flink.js"></script>
-<link rel="canonical" href="https://flink.apache.org/2023/09/19/stateful-functions-3.3.0-release-announcement/">
+<link rel="canonical" href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">
 
   <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="description" content="The Apache Flink community is excited to announce the release of Stateful Functions 3.3.0!
-Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications. This new release upgrades the Flink runtime to 1.16.2.
-The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Java SDK, Python SDK,, GoLang SDK and JavaScript SDK distributions are available on Maven, PyPI, Github, and npm respectively.">
-<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Stateful Functions 3.3.0 Release Announcement" />
-<meta property="og:description" content="The Apache Flink community is excited to announce the release of Stateful Functions 3.3.0!
-Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications. This new release upgrades the Flink runtime to 1.16.2.
-The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Java SDK, Python SDK,, GoLang SDK and JavaScript SDK distributions are available on Maven, PyPI, Github, and npm respectively." />
+<meta name="description" content="The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.
+We&rsquo;d like to invite you to check out Flink CDC documentation and have a try on the quickstart tutorial to explore the world of Flink CDC.">
+<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink CDC 3.1.0 Release Announcement" />
+<meta property="og:description" content="The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.
+We&rsquo;d like to invite you to check out Flink CDC documentation and have a try on the quickstart tutorial to explore the world of Flink CDC." />
 <meta property="og:type" content="article" />
-<meta property="og:url" content="https://flink.apache.org/2023/09/19/stateful-functions-3.3.0-release-announcement/" /><meta property="article:section" content="posts" />
-<meta property="article:published_time" content="2023-09-19T08:00:00+00:00" />
-<meta property="article:modified_time" content="2023-09-19T08:00:00+00:00" />
-<title>Stateful Functions 3.3.0 Release Announcement | Apache Flink</title>
+<meta property="og:url" content="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/" /><meta property="article:section" content="posts" />
+<meta property="article:published_time" content="2024-05-17T08:00:00+00:00" />
+<meta property="article:modified_time" content="2024-05-17T08:00:00+00:00" />
+<title>Apache Flink CDC 3.1.0 Release Announcement | Apache Flink</title>
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -470,68 +468,95 @@ https://github.com/alex-shpak/hugo-book
           
 <article class="markdown">
     <h1>
-        <a href="/2023/09/19/stateful-functions-3.3.0-release-announcement/">Stateful Functions 3.3.0 Release Announcement</a>
+        <a href="/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
     </h1>
     
 
 
-  September 19, 2023 -
+  May 17, 2024 -
 
 
 
-  Martijn Visser
+  Qingsheng Ren
 
-  <a href="https://twitter.com/MartijnVisser82">(@MartijnVisser82)</a>
+  <a href="https://twitter.com/renqstuite">(@renqstuite)</a>
   
 
 
 
-    <p><p>The Apache Flink community is excited to announce the release of Stateful Functions 3.3.0!</p>
-<p>Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications.
-This new release upgrades the Flink runtime to 1.16.2.</p>
-<p>The binary distribution and source artifacts are now available on the updated <a href="/downloads/">Downloads</a>
-page of the Flink website, and the most recent Java SDK, Python SDK,, GoLang SDK and JavaScript SDK distributions are available on <a href="https://search.maven.org/artifact/org.apache.flink/statefun-sdk-java/3.3.0/jar">Maven</a>, <a href="https://pypi.org/project/apache-flink-statefun/">PyPI</a>, <a href="https://github.com/apache/flink-statefun/tree/statefun-sdk-go/v3.3.0">Github</a>, and <a href="https://www.npmjs.com/package/apache-flink-statefun">npm</a> respectively.
-You can also find official StateFun Docker images of the new version on <a href="https://hub.docker.com/r/apache/flink-statefun">Dockerhub</a>.</p>
-<p>For more details, check the complete <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&amp;version=12351276">release notes</a>
-and the <a href="https://nightlies.apache.org/flink/flink-statefun-docs-release-3.3/">updated documentation</a>.
-We encourage you to download the release and share your feedback with the community through the <a href="/what-is-flink/community/#mailing-lists">Flink mailing lists</a>
-or <a href="https://issues.apache.org/jira/browse/FLINK">JIRA</a>!</p>
-<h2 id="new-features">
-  New Features
-  <a class="anchor" href="#new-features">#</a>
+    <p><p>The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.</p>
+<p>We&rsquo;d like to invite you to check out <a href="https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1">Flink CDC documentation</a> and have a try on <a href="https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/get-started/introduction">the quickstart tutorial</a> to explore the world of Flink CDC. Also we encourage you to <a href="https://flink.apache.org/downloads.html#flink-cdc">download the release</a> and share your feedback with the community through th [...]
+<h2 id="highlights">
+  Highlights
+  <a class="anchor" href="#highlights">#</a>
 </h2>
-<h3 id="fixed-cve-2023-41834">
-  Fixed CVE-2023-41834
-  <a class="anchor" href="#fixed-cve-2023-41834">#</a>
+<h3 id="transformation-support-in-pipeline">
+  Transformation Support in Pipeline
+  <a class="anchor" href="#transformation-support-in-pipeline">#</a>
 </h3>
-<p>Stateful Functions versions 3.1.0, 3.1.1 and 3.2.0 allowed HTTP header
-injection due to Improper Neutralization of CRLF Sequences. Attackers could
-potentially inject malicious content into the HTTP response that is
-sent to the user. This could include injecting a fake login form or
-other phishing content, or injecting malicious JavaScript code that
-can steal user credentials or perform other malicious actions on the
-user&rsquo;s behalf.</p>
-<p>Stateful Functions 3.3.0 has fixed this security vulnerability. More details can be found on the
-<a href="/what-is-flink/security/">Security</a> page.</p>
-<h3 id="upgraded-flink-dependency-to-1162">
-  Upgraded Flink dependency to 1.16.2
-  <a class="anchor" href="#upgraded-flink-dependency-to-1162">#</a>
+<p>Flink CDC 3.1.0 introduces the ability of making transformations in the CDC pipeline. By incorporating a <code>transform</code> section within the YAML pipeline definitions, users can now easily apply a variety of transformations to data change event from source, including projections, calculations, and addition of constant columns, enhancing the effectiveness of data integration pipelines. Leveraging an SQL-like syntax for defining these transformations, the new feature ensures that  [...]
+<p>You can find examples of using transformations in the <a href="https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/core-concept/transform/#example">Flink CDC documentation</a>.</p>
+<h3 id="table-merging-support">
+  Table Merging Support
+  <a class="anchor" href="#table-merging-support">#</a>
 </h3>
-<p>Stateful Functions 3.3.0 runtime uses Flink 1.16.2 underneath.
-This means that Stateful Functions benefits from the latest improvements and stabilisations that went into Flink.
-For more information see <a href="https://flink.apache.org/2023/05/25/apache-flink-1.16.2-release-announcement/">Flink&rsquo;s release announcement</a>.</p>
-<h2 id="release-notes">
-  Release Notes
-  <a class="anchor" href="#release-notes">#</a>
-</h2>
-<p>Please review the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&amp;version=12351276">release notes</a>
-for a detailed list of changes and new features if you plan to upgrade your setup to Stateful Functions 3.3.0.</p>
+<p>Flink CDC 3.1.0 now supports merging multiple tables into one by configuring <code>route</code> in the YAML pipeline definition.  It is a prevalent occurrence where business data is partitioned across tables even databases due to the substantial volume. By configuring <code>route</code>s that map multiple tables into one, data change events will be merged into the same destination table. Moreover, schema changes on source tables will also be applied to the destination.</p>
+<p>You can find examples of using routes in the <a href="https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/core-concept/route/#example">Flink CDC documentation</a>.</p>
+<h3 id="connectors">
+  Connectors
+  <a class="anchor" href="#connectors">#</a>
+</h3>
+<h4 id="distributions-of-mysql--oracle--oceanbase--db2-connectors">
+  Distributions of MySQL / Oracle / OceanBase / Db2 connectors
+  <a class="anchor" href="#distributions-of-mysql--oracle--oceanbase--db2-connectors">#</a>
+</h4>
+<p>Unfortunately due to the license incompatibility, we cannot ship JDBC drivers of the following connectors together with our binary release:</p>
+<ul>
+<li>Db2</li>
+<li>MySQL</li>
+<li>Oracle</li>
+<li>OceanBase</li>
+</ul>
+<p>Please manually download the corresponding JDBC driver into <code>$FLINK_HOME/lib</code> of your Flink cluster, or specify the path of driver when submitting YAML pipelines with <code>--jar</code>. Please make sure they are under the classpath if you are using Flink SQL.</p>
+<h4 id="sinkfunction-support">
+  SinkFunction Support
+  <a class="anchor" href="#sinkfunction-support">#</a>
+</h4>
+<p>Although <code>SinkFunction</code> has been marked as deprecated in Flink, considering some connectors are still using the API, we also support <code>SinkFunction</code> API for CDC pipeline sinks to help expand the ecosystem of Flink CDC.</p>
+<h4 id="new-pipeline-connectors">
+  New Pipeline Connectors
+  <a class="anchor" href="#new-pipeline-connectors">#</a>
+</h4>
+<p>Flink CDC 3.1.0 introduces 2 new pipeline connectors:</p>
+<ul>
+<li>Apache Kafka sink (depends on Kafka 3.2.3)</li>
+<li>Apache Paimon sink (depends on Paimon 0.7.0)</li>
+</ul>
+<h4 id="mysql">
+  MySQL
+  <a class="anchor" href="#mysql">#</a>
+</h4>
+<p>In this release, MySQL pipeline source introduces a new option <code>tables.exclude</code> to exclude unnecessary tables from capturing with an easier expression. MySQL CDC source is now shipped with a custom converter <code>MysqlDebeziumTimeConverter</code> for converting temporal type columns to a more human-readable and serialize-friendly string.</p>
+<h4 id="oceanbase">
+  OceanBase
+  <a class="anchor" href="#oceanbase">#</a>
+</h4>
+<p>OceanBase CDC source now supports specifying the general <code>DebeziumDeserializationSchema</code> for reusing existing Debezium deserializers.</p>
+<h4 id="db2">
+  Db2
+  <a class="anchor" href="#db2">#</a>
+</h4>
+<p>Db2 CDC source is now migrated to the unified incremental snapshot framework.</p>
+<h3 id="cli">
+  CLI
+  <a class="anchor" href="#cli">#</a>
+</h3>
+<p>Flink CDC pipeline submission CLI now supports recovering a pipeline execution from a specific savepoint file by using command line argument <code>--from-savepoint</code></p>
 <h2 id="list-of-contributors">
   List of Contributors
   <a class="anchor" href="#list-of-contributors">#</a>
 </h2>
-<p>Till Rohrmann, Mingmin Xu, Igal Shilman, Martijn Visser, Chesnay Schepler, SiddiqueAhmad, Galen Warren, Seth Wiesman, FilKarnicki, Tzu-Li (Gordon) Tai</p>
-<p>If you’d like to get involved, we’re always <a href="https://github.com/apache/flink-statefun#contributing">looking for new contributors</a>.</p>
+<p>Check Null, FocusComputing, GOODBOY008, Hang Ruan, He Wang, Hongshun Wang, Jiabao Sun, Kunni, L, Laffery, Leonard Xu, Muhammet Orazov, Paul Lin, PengFei Li, Qingsheng Ren, Qishang Zhong, Shawn Huang, Thorne, TorinJie, Xianxun Ye, Xin Gong, Yaroslav Tkachenko, e-mhui, gongzhongqiang, joyCurry30, kunni, lzshlzsh, qwding, shikai93, sky, skylines, wenmo, wudi, xleoken, xuzifu666, yanghuaiGit, yux, yuxiqian, 张田</p>
 </p>
 </article>
 
@@ -546,7 +571,7 @@ for a detailed list of changes and new features if you plan to upgrade your setu
         <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
       </p>
       <p>
-        <a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2023-09-19-release-statefun-3.3.0.md">
+        <a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2024-05-17-release-cdc-3.1.0.md">
           Edit This Page<i class="fa fa-edit fa-fw"></i> 
         </a>
       </p>
@@ -562,13 +587,14 @@ for a detailed list of changes and new features if you plan to upgrade your setu
   <ul>
     <li>
       <ul>
-        <li><a href="#new-features">New Features</a>
+        <li><a href="#highlights">Highlights</a>
           <ul>
-            <li><a href="#fixed-cve-2023-41834">Fixed CVE-2023-41834</a></li>
-            <li><a href="#upgraded-flink-dependency-to-1162">Upgraded Flink dependency to 1.16.2</a></li>
+            <li><a href="#transformation-support-in-pipeline">Transformation Support in Pipeline</a></li>
+            <li><a href="#table-merging-support">Table Merging Support</a></li>
+            <li><a href="#connectors">Connectors</a></li>
+            <li><a href="#cli">CLI</a></li>
           </ul>
         </li>
-        <li><a href="#release-notes">Release Notes</a></li>
         <li><a href="#list-of-contributors">List of Contributors</a></li>
       </ul>
     </li>
diff --git a/content/404.html b/content/404.html
index 5b10113a1..2ba7ea02e 100644
--- a/content/404.html
+++ b/content/404.html
@@ -15,7 +15,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/404.html" title="404 Page not found">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/categories/index.html b/content/categories/index.html
index bd946d147..178970c3c 100644
--- a/content/categories/index.html
+++ b/content/categories/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/categories/" title="Categories">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/categories/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/documentation/flink-cdc-master/index.html b/content/documentation/flink-cdc-master/index.html
index 541a8c9fc..973210ccf 100644
--- a/content/documentation/flink-cdc-master/index.html
+++ b/content/documentation/flink-cdc-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-cdc-master/" title="CDC Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-cdc-stable/index.html b/content/documentation/flink-cdc-stable/index.html
index 5646dac86..67c5d2034 100644
--- a/content/documentation/flink-cdc-stable/index.html
+++ b/content/documentation/flink-cdc-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-cdc-stable/" title="CDC 3.0 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-kubernetes-operator-master/index.html b/content/documentation/flink-kubernetes-operator-master/index.html
index 8927c51b1..c924f4562 100644
--- a/content/documentation/flink-kubernetes-operator-master/index.html
+++ b/content/documentation/flink-kubernetes-operator-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-kubernetes-operator-master/" title="Kubernetes Operator Main (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-kubernetes-operator-stable/index.html b/content/documentation/flink-kubernetes-operator-stable/index.html
index a8be0c38a..b61ecf697 100644
--- a/content/documentation/flink-kubernetes-operator-stable/index.html
+++ b/content/documentation/flink-kubernetes-operator-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-kubernetes-operator-stable/" title="Kubernetes Operator 1.8 (latest)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-master/index.html b/content/documentation/flink-master/index.html
index 92684a177..75fb850f4 100644
--- a/content/documentation/flink-master/index.html
+++ b/content/documentation/flink-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-master/" title="Flink Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-stable/index.html b/content/documentation/flink-stable/index.html
index 095750d8d..f6fb80000 100644
--- a/content/documentation/flink-stable/index.html
+++ b/content/documentation/flink-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-stable/" title="Flink 1.19 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-stateful-functions-master/index.html b/content/documentation/flink-stateful-functions-master/index.html
index ac8974208..d78286dbc 100644
--- a/content/documentation/flink-stateful-functions-master/index.html
+++ b/content/documentation/flink-stateful-functions-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-stateful-functions-master/" title="Stateful Functions Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flink-stateful-functions-stable/index.html b/content/documentation/flink-stateful-functions-stable/index.html
index 51394c31d..73e4d4252 100644
--- a/content/documentation/flink-stateful-functions-stable/index.html
+++ b/content/documentation/flink-stateful-functions-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flink-stateful-functions-stable/" title="Stateful Functions 3.3 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flinkml-master/index.html b/content/documentation/flinkml-master/index.html
index 6c369772e..65e401eb0 100644
--- a/content/documentation/flinkml-master/index.html
+++ b/content/documentation/flinkml-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flinkml-master/" title="ML Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/flinkml-stable/index.html b/content/documentation/flinkml-stable/index.html
index 24fc56832..3e93233dc 100644
--- a/content/documentation/flinkml-stable/index.html
+++ b/content/documentation/flinkml-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/flinkml-stable/" title="ML 2.3 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/documentation/index.html b/content/documentation/index.html
index 5e94ab9cd..d441b770b 100644
--- a/content/documentation/index.html
+++ b/content/documentation/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/documentation/" title="Documentation">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/documentation/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/downloads/index.html b/content/downloads/index.html
index 23eb3eb30..5be3c9830 100644
--- a/content/downloads/index.html
+++ b/content/downloads/index.html
@@ -38,7 +38,7 @@ Apache Flink 1." />
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/downloads/" title="Downloads">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/en.search-data.min.2de190ac736d5a1a2e24f419dcb87d9de1f5fe40b85cd4d4b6201e4fddaff67a.js b/content/en.search-data.min.60496c3c09deb8f0a540d56e407d09bab19a9474a98bc4846cf470c8b3925fef.js
similarity index 99%
rename from content/en.search-data.min.2de190ac736d5a1a2e24f419dcb87d9de1f5fe40b85cd4d4b6201e4fddaff67a.js
rename to content/en.search-data.min.60496c3c09deb8f0a540d56e407d09bab19a9474a98bc4846cf470c8b3925fef.js
index 55df79165..196a35a83 100644
--- a/content/en.search-data.min.2de190ac736d5a1a2e24f419dcb87d9de1f5fe40b85cd4d4b6201e4fddaff67a.js
+++ b/content/en.search-data.min.60496c3c09deb8f0a540d56e407d09bab19a9474a98bc4846cf470c8b3925fef.js
@@ -442,7 +442,22 @@ By default, Flink takes 10% of the JVM heap size for network buffers, with a min
 Please refer to the Configuration Reference for details.
 My job fails with various exceptions from the HDFS/Hadoop code. What can I do? # The most common cause for that is that the Hadoop version in Flink&rsquo;s classpath is different than the Hadoop version of the cluster you want to connect to (HDFS / YARN).
 The easiest way to fix that is to pick a Hadoop-free Flink version and simply export the Hadoop path and classpath from the cluster.
-`}),e.add({id:37,href:"/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.8.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0!
+`}),e.add({id:37,href:"/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/",title:"Apache Flink CDC 3.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and [...]
+We&rsquo;d like to invite you to check out Flink CDC documentation and have a try on the quickstart tutorial to explore the world of Flink CDC. Also we encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
+Highlights # Transformation Support in Pipeline # Flink CDC 3.1.0 introduces the ability of making transformations in the CDC pipeline. By incorporating a transform section within the YAML pipeline definitions, users can now easily apply a variety of transformations to data change event from source, including projections, calculations, and addition of constant columns, enhancing the effectiveness of data integration pipelines. Leveraging an SQL-like syntax for defining these transformati [...]
+You can find examples of using transformations in the Flink CDC documentation.
+Table Merging Support # Flink CDC 3.1.0 now supports merging multiple tables into one by configuring route in the YAML pipeline definition. It is a prevalent occurrence where business data is partitioned across tables even databases due to the substantial volume. By configuring routes that map multiple tables into one, data change events will be merged into the same destination table. Moreover, schema changes on source tables will also be applied to the destination.
+You can find examples of using routes in the Flink CDC documentation.
+Connectors # Distributions of MySQL / Oracle / OceanBase / Db2 connectors # Unfortunately due to the license incompatibility, we cannot ship JDBC drivers of the following connectors together with our binary release:
+Db2 MySQL Oracle OceanBase Please manually download the corresponding JDBC driver into $FLINK_HOME/lib of your Flink cluster, or specify the path of driver when submitting YAML pipelines with --jar. Please make sure they are under the classpath if you are using Flink SQL.
+SinkFunction Support # Although SinkFunction has been marked as deprecated in Flink, considering some connectors are still using the API, we also support SinkFunction API for CDC pipeline sinks to help expand the ecosystem of Flink CDC.
+New Pipeline Connectors # Flink CDC 3.1.0 introduces 2 new pipeline connectors:
+Apache Kafka sink (depends on Kafka 3.2.3) Apache Paimon sink (depends on Paimon 0.7.0) MySQL # In this release, MySQL pipeline source introduces a new option tables.exclude to exclude unnecessary tables from capturing with an easier expression. MySQL CDC source is now shipped with a custom converter MysqlDebeziumTimeConverter for converting temporal type columns to a more human-readable and serialize-friendly string.
+OceanBase # OceanBase CDC source now supports specifying the general DebeziumDeserializationSchema for reusing existing Debezium deserializers.
+Db2 # Db2 CDC source is now migrated to the unified incremental snapshot framework.
+CLI # Flink CDC pipeline submission CLI now supports recovering a pipeline execution from a specific savepoint file by using command line argument --from-savepoint
+List of Contributors # Check Null, FocusComputing, GOODBOY008, Hang Ruan, He Wang, Hongshun Wang, Jiabao Sun, Kunni, L, Laffery, Leonard Xu, Muhammet Orazov, Paul Lin, PengFei Li, Qingsheng Ren, Qishang Zhong, Shawn Huang, Thorne, TorinJie, Xianxun Ye, Xin Gong, Yaroslav Tkachenko, e-mhui, gongzhongqiang, joyCurry30, kunni, lzshlzsh, qwding, shikai93, sky, skylines, wenmo, wudi, xleoken, xuzifu666, yanghuaiGit, yux, yuxiqian, 张田
+`}),e.add({id:38,href:"/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.8.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0!
 The release includes many improvements to the operator core, the autoscaler, and introduces new features like TaskManager memory auto-tuning.
 We encourage you to download the release and share your experience with the community through the Flink mailing lists or JIRA! We&rsquo;re looking forward to your feedback!
 Highlights # Flink Autotuning # We&rsquo;re excited to announce our latest addition to the autoscaling module: Flink Autotuning.
@@ -474,7 +489,7 @@ Release Resources # The source artifacts and helm chart are available on the Dow
 $ helm repo add flink-kubernetes-operator-1.8.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.8.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.8.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # 1996fanrui, Alexander Fedulov, AncyRominus, Caican Cai, Cancai Cai, ConradJam, Domenic Bove, Dominik Dębowczyk, Gabor Somogyi, Guillaume Vauvert, Gyula Fora, Hao Xin, Jerry Wang, Justin Chen, Máté Czagány, Maximilian Michels, Peter Huang, Rui Fan, Ryan van Huuksloot, Samrat, Tony Garrard, Yang-LI-CS, ensctom, fengfei02, flashJd, Nicolas Fraison
-`}),e.add({id:38,href:"/2024/03/18/announcing-the-release-of-apache-flink-1.19/",title:"Announcing the Release of Apache Flink 1.19",section:"Flink Blog",content:`The Apache Flink PMC is pleased to announce the release of Apache Flink 1.19.0. As usual, we are looking at a packed release with a wide variety of improvements and new features. Overall, 162 people contributed to this release completing 33 FLIPs and 600+ issues. Thank you!
+`}),e.add({id:39,href:"/2024/03/18/announcing-the-release-of-apache-flink-1.19/",title:"Announcing the Release of Apache Flink 1.19",section:"Flink Blog",content:`The Apache Flink PMC is pleased to announce the release of Apache Flink 1.19.0. As usual, we are looking at a packed release with a wide variety of improvements and new features. Overall, 162 people contributed to this release completing 33 FLIPs and 600+ issues. Thank you!
 Let&rsquo;s dive into the highlights.
 Flink SQL Improvements # Custom Parallelism for Table/SQL Sources # Now in Flink 1.19, you can set a custom parallelism for performance tuning via the scan.parallelism option. The first available connector is DataGen (Kafka connector is on the way). Here is an example using SQL Client:
 -- set parallelism within the ddl CREATE TABLE Orders ( order_number BIGINT, price DECIMAL(32,2), buyer ROW&lt;first_name STRING, last_name STRING&gt;, order_time TIMESTAMP(3) ) WITH ( &#39;connector&#39; = &#39;datagen&#39;, &#39;scan.parallelism&#39; = &#39;4&#39; ); -- or set parallelism via dynamic table option SELECT * FROM Orders /*+ OPTIONS(&#39;scan.parallelism&#39;=&#39;4&#39;) */; More Information
@@ -529,20 +544,20 @@ Migrate RuntimeContext#getExecutionConfig.getGlobalJobParameters to RuntimeConte
 Migrate RuntimeContext#getExecutionConfig.isObjectReuseEnabled() to RuntimeContext#isObjectReuseEnabled org.apache.flink.api.common.functions.RichFunction#open(Configuration parameters) method has been deprecated and will be removed in future versions. Users are encouraged to migrate to the new RichFunction#open(OpenContext openContext). org.apache.flink.configuration.AkkaOptions is deprecated and replaced with RpcOptions. Upgrade Notes # The Flink community tries to ensure that upgrades [...]
 List of Contributors # The Apache Flink community would like to express gratitude to all the contributors who made this release possible:
 Adi Polak, Ahmed Hamdy, Akira Ajisaka, Alan Sheinberg, Aleksandr Pilipenko, Alex Wu, Alexander Fedulov, Archit Goyal, Asha Boyapati, Benchao Li, Bo Cui, Cheena Budhiraja, Chesnay Schepler, Dale Lane, Danny Cranmer, David Moravek, Dawid Wysakowicz, Deepyaman Datta, Dian Fu, Dmitriy Linevich, Elkhan Dadashov, Eric Brzezenski, Etienne Chauchot, Fang Yong, Feng Jiajie, Feng Jin, Ferenc Csaky, Gabor Somogyi, Gyula Fora, Hang Ruan, Hangxiang Yu, Hanyu Zheng, Hjw, Hong Liang Teoh, Hongshun Wang [...]
-`}),e.add({id:39,href:"/2024/01/19/apache-flink-1.18.1-release-announcement/",title:"Apache Flink 1.18.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.18 series.
+`}),e.add({id:40,href:"/2024/01/19/apache-flink-1.18.1-release-announcement/",title:"Apache Flink 1.18.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.18 series.
 This release includes 47 bug fixes, vulnerability fixes, and minor improvements for Flink 1.18. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.18.1.
 Note: Users that have state compression should not migrate to 1.18.1 (nor 1.18.0) due to a critical bug that could lead to data loss. Please refer to FLINK-34063 for more information.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.18.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.18.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.18.1 Release Notes # Release Notes - Flink - Version 1.18.1 Bug [FLINK-31650] - Incorrect busyMsTimePerSecond metric value for FINISHED task [FLINK-33158] - Cryptic exception when there is a StreamExecSort in JsonPlan [FLINK-33171] - Consistent implicit type coercion support for equal and non-equal comparisons for codegen [FLINK-33223] - MATCH_RECOGNIZE AFTER MATCH clause can not be deser [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.18.1 Release Notes # Release Notes - Flink - Version 1.18.1 Bug [FLINK-31650] - Incorrect busyMsTimePerSecond metric value for FINISHED task [FLINK-33158] - Cryptic exception when there is a StreamExecSort in JsonPlan [FLINK-33171] - Consistent implicit type coercion support for equal and non-equal comparisons for codegen [FLINK-33223] - MATCH_RECOGNIZE AFTER MATCH clause can not be deser [...]
 This release includes 52 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.16.3.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.16.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.16.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.16.3 Release Notes # Release Notes - Flink - Version 1.16.3 Bug [FLINK-32316] - Duplicated announceCombinedWatermark task maybe scheduled if jobmanager failover [FLINK-32362] - SourceAlignment announceCombinedWatermark period task maybe lost [FLINK-32411] - SourceCoordinator thread leaks when job recovers from checkpoint [FLINK-32414] - Watermark alignment will cause flink jobs to hang fo [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.16.3 Release Notes # Release Notes - Flink - Version 1.16.3 Bug [FLINK-32316] - Duplicated announceCombinedWatermark task maybe scheduled if jobmanager failover [FLINK-32362] - SourceAlignment announceCombinedWatermark period task maybe lost [FLINK-32411] - SourceCoordinator thread leaks when job recovers from checkpoint [FLINK-32414] - Watermark alignment will cause flink jobs to hang fo [...]
 This release includes 82 bug fixes, vulnerability fixes, and minor improvements for Flink 1.17. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.17.2.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.17.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.17.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.17.2 Release Notes # Release Notes - Flink - Version 1.17.2 Bug [FLINK-27415] - Read empty csv file throws exception in FileSystem table connector [FLINK-28513] - Flink Table API CSV streaming sink throws SerializedThrowable exception [FLINK-29913] - Shared state would be discarded by mistake when maxConcurrentCheckpoint&gt;1 [FLINK-30559] - May get wrong result for \`if\` expression if i [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.17.2 Release Notes # Release Notes - Flink - Version 1.17.2 Bug [FLINK-27415] - Read empty csv file throws exception in FileSystem table connector [FLINK-28513] - Flink Table API CSV streaming sink throws SerializedThrowable exception [FLINK-29913] - Shared state would be discarded by mistake when maxConcurrentCheckpoint&gt;1 [FLINK-30559] - May get wrong result for \`if\` expression if i [...]
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
 Flink Version Support Policy Change # Previously the operator only added more and more supported Flink versions without a policy to remove support for these in the future. This resulted in a lot of legacy codepaths already in the core logic.
 To keep technical debt at reasonable levels, the community decided to adopt a new Flink version support policy for the operator.
@@ -564,14 +579,14 @@ Release Resources # The source artifacts and helm chart are available on the Dow
 $ helm repo add flink-kubernetes-operator-1.7.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.7.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.7.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Alexander Fedulov, Clara Xiong, Daren Wong, Dongwoo Kim, Gabor Somogyi, Gyula Fora, Manan Mangal, Maximilian Michels, Nicolas Fraison, Peter Huang, Praneeth Ramesh, Rui Fan, Sergey Nuyanzin, SteNicholas, Zhanghao, Zhenqiu Huang, mehdid93
-`}),e.add({id:43,href:"/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/",title:"Apache Flink Kubernetes Operator 1.6.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink Kubernetes Operator 1.6 series.
+`}),e.add({id:44,href:"/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/",title:"Apache Flink Kubernetes Operator 1.6.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink Kubernetes Operator 1.6 series.
 The release contains fixes for several critical issues, and some doc improvements for the autoscaler.
 We highly recommend all users to upgrade to Flink Kubernetes Operator 1.6.1.
 Release Notes # Bug # [FLINK-32890] Correct HA patch check for zookeeper metadata store [FLINK-33011] Never accidentally delete HA metadata for last state deployments Documentation improvement # [FLINK-32868][docs] Document the need to backport FLINK-30213 for using autoscaler with older version Flinks [docs][autoscaler] Autoscaler docs and default config improvement Release Resources # The source artifacts and helm chart are available on the Downloads page of the Flink website. You can  [...]
 $ helm repo add flink-kubernetes-operator-1.6.1 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.6.1/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.6.1/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Gyula Fora, Nicolas Fraison, Zhanghao
-`}),e.add({id:44,href:"/2023/10/24/announcing-the-release-of-apache-flink-1.18/",title:"Announcing the Release of Apache Flink 1.18",section:"Flink Blog",content:`The Apache Flink PMC is pleased to announce the release of Apache Flink 1.18.0. As usual, we are looking at a packed release with a wide variety of improvements and new features. Overall, 174 people contributed to this release completing 18 FLIPS and 700+ issues. Thank you!
+`}),e.add({id:45,href:"/2023/10/24/announcing-the-release-of-apache-flink-1.18/",title:"Announcing the Release of Apache Flink 1.18",section:"Flink Blog",content:`The Apache Flink PMC is pleased to announce the release of Apache Flink 1.18.0. As usual, we are looking at a packed release with a wide variety of improvements and new features. Overall, 174 people contributed to this release completing 18 FLIPS and 700+ issues. Thank you!
 Let&rsquo;s dive into the highlights.
 Towards a Streaming Lakehouse # Flink SQL Improvements # Introduce Flink JDBC Driver For SQL Gateway # Flink 1.18 comes with a JDBC Driver for the Flink SQL Gateway. So, you can now use any SQL Client that supports JDBC to interact with your tables via Flink SQL. Here is an example using SQLLine.
 sqlline&gt; !connect jdbc:flink://localhost:8083 sqlline version 1.12.0 sqlline&gt; !connect jdbc:flink://localhost:8083 Enter username for jdbc:flink://localhost:8083: Enter password for jdbc:flink://localhost:8083: 0: jdbc:flink://localhost:8083&gt; CREATE TABLE T( . . . . . . . . . . . . . . .)&gt; a INT, . . . . . . . . . . . . . . .)&gt; b VARCHAR(10) . . . . . . . . . . . . . . .)&gt; ) WITH ( . . . . . . . . . . . . . . .)&gt; &#39;connector&#39; = &#39;filesystem&#39;, . . . . .  [...]
@@ -628,7 +643,7 @@ FLINK-27998 FLINK-28744 FLINK-29319 Important Deprecations # In preparation for
 SourceFunction is now officially deprecated and will be dropped in Flink 2.0. If you are still using a connector that is built on top of SourceFunction please migrate it to Source. SinkFunction is not officially deprecated, but it is also approaching end-of-life and will be superseded by SinkV2. Queryable State is now officially deprecated and will be dropped in Flink 2.0. The DataSet API is now officially deprecated. Users are recommended to migrate to the DataStream API with execution  [...]
 List of Contributors # The Apache Flink community would like to express gratitude to all the contributors who made this release possible:
 Aitozi, Akinfolami Akin-Alamu, Alain Brown, Aleksandr Pilipenko, Alexander Fedulov, Anton Kalashnikov, Archit Goyal, Bangui Dunn, Benchao Li, BoYiZhang, Chesnay Schepler, Chris Nauroth, Colten Pilgreen, Danny Cranmer, David Christle, David Moravek, Dawid Wysakowicz, Deepyaman Datta, Dian Fu, Dian Qi, Dong Lin, Eric Xiao, Etienne Chauchot, Feng Jin, Ferenc Csaky, Fruzsina Nagy, Gabor Somogyi, Gunnar Morling, Gyula Fora, HaiYang Chen, Hang Ruan, Hangxiang Yu, Hanyu Zheng, Hong Liang Teoh,  [...]
-`}),e.add({id:45,href:"/2023/09/19/stateful-functions-3.3.0-release-announcement/",title:"Stateful Functions 3.3.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Stateful Functions 3.3.0!
+`}),e.add({id:46,href:"/2023/09/19/stateful-functions-3.3.0-release-announcement/",title:"Stateful Functions 3.3.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Stateful Functions 3.3.0!
 Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications. This new release upgrades the Flink runtime to 1.16.2.
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Java SDK, Python SDK,, GoLang SDK and JavaScript SDK distributions are available on Maven, PyPI, Github, and npm respectively. You can also find official StateFun Docker images of the new version on Dockerhub.
 For more details, check the complete release notes and the updated documentation. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA!
@@ -638,7 +653,7 @@ Upgraded Flink dependency to 1.16.2 # Stateful Functions 3.3.0 runtime uses Flin
 Release Notes # Please review the release notes for a detailed list of changes and new features if you plan to upgrade your setup to Stateful Functions 3.3.0.
 List of Contributors # Till Rohrmann, Mingmin Xu, Igal Shilman, Martijn Visser, Chesnay Schepler, SiddiqueAhmad, Galen Warren, Seth Wiesman, FilKarnicki, Tzu-Li (Gordon) Tai
 If you’d like to get involved, we’re always looking for new contributors.
-`}),e.add({id:46,href:"/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.6.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.6.0! The release features a large number of improvements all across the operator.
+`}),e.add({id:47,href:"/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.6.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.6.0! The release features a large number of improvements all across the operator.
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
 Highlights # Improved and simplified rollback mechanism # Previously the rollback mechanism had some serious limitations always requiring the presence of HA metadata. This prevented rollbacks in many cases for instance when the new application terminally failed after the upgrade.
 1.6.0 introduces several core improvements to the rollback mechanism to leverage the robust upgrade flow and cover a much wider range of failure scenarios.
@@ -656,7 +671,7 @@ Release Resources # The source artifacts and helm chart are available on the Dow
 $ helm repo add flink-kubernetes-operator-1.6.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.6.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.6.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Alexander Fedulov, ConradJam, Fangbin Sun, Gyula Fora, James Busche, Mate Czagany, Matyas Orhidi, Maximilian Michels, Nicolas Fraison, Oleksandr Nitavskyi, Tamir Sagi, Thomas, Xin Hao, Xingcan Cui, Daren Wong, Fabio Wanner, kenankule, llussy, yangjf2019,
-`}),e.add({id:47,href:"/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/",title:"Announcing three new Apache Flink connectors, the new connector versioning strategy and externalization",section:"Flink Blog",content:` New connectors # We&rsquo;re excited to announce that Apache Flink now supports three new connectors: Amazon DynamoDB, MongoDB and OpenSearch! The connectors are available for both the DataStream and Table/SQL APIs.
+`}),e.add({id:48,href:"/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/",title:"Announcing three new Apache Flink connectors, the new connector versioning strategy and externalization",section:"Flink Blog",content:` New connectors # We&rsquo;re excited to announce that Apache Flink now supports three new connectors: Amazon DynamoDB, MongoDB and OpenSearch! The connectors are available for both the DataStream and Table/SQL APIs.
 Amazon DynamoDB - This connector includes a sink that provides at-least-once delivery guarantees. MongoDB connector - This connector includes a source and sink that provide at-least-once guarantees. OpenSearch sink - This connector includes a sink that provides at-least-once guarantees. Connector Date Released Supported Flink Versions Amazon DynamoDB sink 2022-12-02 1.15+ MongoDB connector 2023-03-31 1.16+ OpenSearch sink 2022-12-21 1.16+ List of Contributors # The Apache Flink community [...]
 Andriy Redko, Chesnay Schepler, Danny Cranmer, darenwkt, Hong Liang Teoh, Jiabao Sun, Leonid Ilyevsky, Martijn Visser, nir.tsruya, Sergey Nuyanzin, Weijie Guo, Yuri Gusev, Yuxin Tan
 Externalized connectors # The community has externalized connectors from Flink’s main repository. This was driven to realise the following benefits:
@@ -665,19 +680,19 @@ Kafka / Upsert-Kafka Cassandra Elasticsearch MongoDB OpenSearch RabbitMQ Google
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-connector-dynamodb&lt;/artifactId&gt; &lt;version&gt;4.1.0-1.17&lt;/version&gt; &lt;/dependency&gt; You can find the maven dependency for a connector in the Flink connectors documentation for a specific Flink version. Use the Flink Downloads page to verify which version your connector is compatible with.
 Contributing # Similarly, when creating JIRAs to report issues or to contribute to externalized connectors, the Affects Version/s and Fix Version/s fields should now use the connector version instead of a Flink version. The format should be &lt;connector-name&gt;-&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;. For example, use opensearch-1.1.0 for the OpenSearch connector. All other fields in the JIRA like Component/s remain the same.
 For more information on how to contribute to externalized connectors, see the Externalized Connector development wiki.
-`}),e.add({id:48,href:"/2023/07/03/sigmod-systems-award-for-apache-flink/",title:"SIGMOD Systems Award for Apache Flink",section:"Flink Blog",content:`Apache Flink received the 2023 SIGMOD Systems Award, which is awarded to an individual or set of individuals to recognize the development of a software or hardware system whose technical contributions have had significant impact on the theory or practice of large-scale data management systems:
+`}),e.add({id:49,href:"/2023/07/03/sigmod-systems-award-for-apache-flink/",title:"SIGMOD Systems Award for Apache Flink",section:"Flink Blog",content:`Apache Flink received the 2023 SIGMOD Systems Award, which is awarded to an individual or set of individuals to recognize the development of a software or hardware system whose technical contributions have had significant impact on the theory or practice of large-scale data management systems:
 The 2023 SIGMOD Systems Award goes to Apache Flink:
 “Apache Flink greatly expanded the use of stream data-processing.”
 Winning of SIGMOD Systems Award indicates the high recognition of Flink&rsquo;s technological advancement and industry influence from academia. This is a significant achievement by the whole community in Apache Flink, including the over 1,400 contributors and many others who contributed in ways beyond code.
-`}),e.add({id:49,href:"/2023/05/25/apache-flink-1.16.2-release-announcement/",title:"Apache Flink 1.16.2 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.16 series.
+`}),e.add({id:50,href:"/2023/05/25/apache-flink-1.16.2-release-announcement/",title:"Apache Flink 1.16.2 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.16 series.
 This release includes 104 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.16.2.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.16.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.16.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.16.2 Release Notes # Bug [FLINK-27246] - Code of method &quot;processElement(Lorg/apache/flink/streaming/runtime/streamrecord/StreamRecord;)V&quot; of class &quot;HashAggregateWithKeys$9211&quot; grows beyond 64 KB [FLINK-27800] - addInEdge check state error [FLINK-27848] - ZooKeeperLeaderElectionDriver keeps writing leader information, using up zxid [FLINK-28786] - Cannot run PyFlink 1.1 [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.16.2 Release Notes # Bug [FLINK-27246] - Code of method &quot;processElement(Lorg/apache/flink/streaming/runtime/streamrecord/StreamRecord;)V&quot; of class &quot;HashAggregateWithKeys$9211&quot; grows beyond 64 KB [FLINK-27800] - addInEdge check state error [FLINK-27848] - ZooKeeperLeaderElectionDriver keeps writing leader information, using up zxid [FLINK-28786] - Cannot run PyFlink 1.1 [...]
 This release includes 75 bug fixes, vulnerability fixes, and minor improvements for Flink 1.17. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.17.1.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.17.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.17.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.17.1 Release Notes # Release Notes - Flink - Version 1.17.1 Bug [FLINK-28786] - Cannot run PyFlink 1.16 on MacOS with M1 chip [FLINK-30989] - Configuration table.exec.spill-compression.block-size not take effect in batch job [FLINK-31131] - The INITIALIZING of ExecutionState is missed in the state_machine doc [FLINK-31165] - Over Agg: The window rank function without order by error in top [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.17.1 Release Notes # Release Notes - Flink - Version 1.17.1 Bug [FLINK-28786] - Cannot run PyFlink 1.16 on MacOS with M1 chip [FLINK-30989] - Configuration table.exec.spill-compression.block-size not take effect in batch job [FLINK-31131] - The INITIALIZING of ExecutionState is missed in the state_machine doc [FLINK-31165] - Over Agg: The window rank function without order by error in top [...]
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
 Autoscaler improvements # Algorithm improvements and better scale down behaviour # The release contains important improvements to the core autoscaling logic. This includes improved stability of scaling decisions (leading to less parallelism oscillations) and better handling of slow or idle streams.
 There are also some fixes related to output ratio computation and propagation that greatly improves the autoscaler on more complex streaming pipelines.
@@ -695,7 +710,7 @@ apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: canar
 $ helm repo add flink-kubernetes-operator-1.5.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.5.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.5.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Gyula Fora, Marton Balassi, Mate Czagany, Maximilian Michels, Rafał Boniecki, Rodrigo Meneses, Tamir Sagi, Xin Hao, Xin Li, Zhanghao Chen, Zhenqiu Huang, Daren Wong, Gaurav Miglani, Peter Vary, Tan Kim, yangjf2019
-`}),e.add({id:52,href:"/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/",title:"Howto test a batch source with the new Source framework",section:"Flink Blog",content:` Introduction # The Flink community has designed a new Source framework based on FLIP-27 lately. This article is the continuation of the howto create a batch source with the new Source framework article . Now it is time to test the created source ! As the previous article, this one was built while implem [...]
+`}),e.add({id:53,href:"/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/",title:"Howto test a batch source with the new Source framework",section:"Flink Blog",content:` Introduction # The Flink community has designed a new Source framework based on FLIP-27 lately. This article is the continuation of the howto create a batch source with the new Source framework article . Now it is time to test the created source ! As the previous article, this one was built while implem [...]
 Unit testing the source # Testing the serializers # Example Cassandra SplitSerializer and SplitEnumeratorStateSerializer
 In the previous article, we created serializers for Split and SplitEnumeratorState. We should now test them in unit tests. To test serde we create an object, serialize it using the serializer and then deserialize it using the same serializer and finally assert on the equality of the two objects. Thus, hascode() and equals() need to be implemented for the serialized objects.
 Other unit tests # Of course, we also need to unit test low level processing such as query building for example or any processing that does not require a running backend.
@@ -717,7 +732,7 @@ It is linked to the ITCase through a factory of TestContext as shown below.
 @TestContext TestContextFactory contextFactory = new TestContextFactory(testEnvironment); TestContext implements DataStreamSourceExternalContext:
 We don&rsquo;t connect to the backend at each test case, so the shared resources such as session are created by the backend test environment (test suite scoped). They are then passed to the test context by constructor. It is also in the constructor that we initialize test case backend resources such as test case table. close() : drop the created test case resources getProducedType(): specify the test output type of the source such as a test Pojo for example getConnectorJarPaths(): provid [...]
 Conclusion # This concludes the series of articles about creating a batch source with the new Flink framework. This was needed as, apart from the javadocs, the documentation about testing is missing for now. I hope you enjoyed reading and I hope the Flink community will receive a source PR from you soon :)
-`}),e.add({id:53,href:"/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/",title:"Howto migrate a real-life batch pipeline from the DataSet API to the DataStream API",section:"Flink Blog",content:` Introduction # The Flink community has been deprecating the DataSet API since version 1.12 as part of the work on FLIP-131: Consolidate the user-facing Dataflow SDKs/APIs (and deprecate the DataSet API) . This blog article illustrates the migration [...]
+`}),e.add({id:54,href:"/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/",title:"Howto migrate a real-life batch pipeline from the DataSet API to the DataStream API",section:"Flink Blog",content:` Introduction # The Flink community has been deprecating the DataSet API since version 1.12 as part of the work on FLIP-131: Consolidate the user-facing Dataflow SDKs/APIs (and deprecate the DataSet API) . This blog article illustrates the migration [...]
 What is TPCDS? # TPC-DS is a decision support benchmark that models several generally applicable aspects of a decision support system. The purpose of TPCDS benchmarks is to provide relevant, objective performance data of Big Data engines to industry users.
 Chosen TPCDS query # The chosen query for this article is Query3 because it contains all the more common analytics operators (filter, join, aggregation, group by, order by, limit). It represents an analytic query on store sales. Its SQL code is presented here:
 SELECT dt.d_year, item.i_brand_id brand_id, item.i_brand brand,SUM(ss_ext_sales_price) sum_agg FROM date_dim dt, store_sales, item WHERE dt.d_date_sk = store_sales.ss_sold_date_sk AND store_sales.ss_item_sk = item.i_item_sk AND item.i_manufact_id = 128 AND dt.d_moy=11 GROUP BY dt.d_year, item.i_brand, item.i_brand_id ORDER BY dt.d_year, sum_agg desc, brand_id LIMIT 100
@@ -738,7 +753,7 @@ Another thing: to be able to use Flink state, we need to key the datastream befo
 Migrating the limit operation # As all the elements of the DataStream were keyed by the same &ldquo;0&rdquo; key, they are kept in the same &quot; group&quot;. So we can implement the SQL LIMIT with a ProcessFunction with a counter that will output only the first 100 elements.
 Migrating the sink operation # As with sources, there were big changes in sinks with recent versions of Flink. We now use the Sink interface that requires an Encoder . But the resulting code is very similar to the one using the DataSet API. It&rsquo;s only that Encoder#encode() method writes bytes when TextOutputFormat.TextFormatter#format() wrote Strings.
 Conclusion # As you saw for the migration of the join operation, the new unified DataStream API has some limitations left in batch mode. In addition, the order by and limit resulting code is quite manual and requires the help of the Flink state API for the migration. For all these reasons, the Flink community recommends to use Flink SQL for batch pipelines. It results in much simpler code, good performance and out-of-the-box analytics capabilities. You could find the equivalent Query3 co [...]
-`}),e.add({id:54,href:"/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/",title:"Howto create a batch source with the new Source framework",section:"Flink Blog",content:` Introduction # The Flink community has designed a new Source framework based on FLIP-27 lately. Some connectors have migrated to this new framework. This article is a how-to for creating a batch source using this new framework. It was built while implementing the Flink batch source for Cassandra. If [...]
+`}),e.add({id:55,href:"/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/",title:"Howto create a batch source with the new Source framework",section:"Flink Blog",content:` Introduction # The Flink community has designed a new Source framework based on FLIP-27 lately. Some connectors have migrated to this new framework. This article is a how-to for creating a batch source using this new framework. It was built while implementing the Flink batch source for Cassandra. If [...]
 Implementing the source components # The source architecture is depicted in the diagrams below:
 Source # Example Cassandra Source
 The source interface only does the &ldquo;glue&rdquo; between all the other components. Its role is to instantiate all of them and to define the source Boundedness . We also do the source configuration here along with user configuration validation.
@@ -768,7 +783,7 @@ Using Java serialization is forbidden in Flink mainly for migration concerns. We
 The initial stream size depends on the size of a split.
 Testing the source # For the sake of concision of this article, testing the source will be the object of the next article. Stay tuned !
 Conclusion # This article gathering the implementation field feedback was needed as the javadocs cannot cover all the implementation details for high-performance and maintainable sources. I hope you enjoyed reading and that it gave you the desire to contribute a new connector to the Flink project !
-`}),e.add({id:55,href:"/2023/04/19/apache-flink-ml-2.2.0-release-announcement/",title:"Apache Flink ML 2.2.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink ML 2.2.0! This release focuses on enriching Flink ML&rsquo;s feature engineering algorithms. The library now includes 33 feature engineering algorithms, making it a more comprehensive library for feature engineering tasks.
+`}),e.add({id:56,href:"/2023/04/19/apache-flink-ml-2.2.0-release-announcement/",title:"Apache Flink ML 2.2.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink ML 2.2.0! This release focuses on enriching Flink ML&rsquo;s feature engineering algorithms. The library now includes 33 feature engineering algorithms, making it a more comprehensive library for feature engineering tasks.
 With the addition of these algorithms, we believe Flink ML library is ready for use in production jobs that require feature engineering capabilities, whose input can then be consumed by both offline and online machine learning tasks.
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
 Notable Features # Introduced API and infrastructure for online serving # In machine learning, one of the main goals of model training is to deploy the trained model to perform online inference, where the model server must respond to incoming requests with millisecond-level latency. However, prior releases of Flink ML only supported nearline inference using the Flink runtime, which may not meet the requirements of online inference use-cases.
@@ -785,7 +800,7 @@ Release Notes and Resources # Please take a look at the release notes for a deta
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent distribution of Flink ML Python package is available on PyPI.
 List of Contributors # The Apache Flink community would like to thank each one of the contributors that have made this release possible:
 Zhipeng Zhang, Dong Lin, Fan Hong, JiangXin, Zsombor Chikan, huangxingbo, taosiyuan163, vacaly, weibozhao, yunfengzhou-hub
-`}),e.add({id:56,href:"/2023/03/23/announcing-the-release-of-apache-flink-1.17/",title:"Announcing the Release of Apache Flink 1.17",section:"Flink Blog",content:`The Apache Flink PMC is pleased to announce Apache Flink release 1.17.0. Apache Flink is the leading stream processing standard, and the concept of unified stream and batch data processing is being successfully adopted in more and more companies. Thanks to our excellent community and contributors, Apache Flink continues to grow [...]
+`}),e.add({id:57,href:"/2023/03/23/announcing-the-release-of-apache-flink-1.17/",title:"Announcing the Release of Apache Flink 1.17",section:"Flink Blog",content:`The Apache Flink PMC is pleased to announce Apache Flink release 1.17.0. Apache Flink is the leading stream processing standard, and the concept of unified stream and batch data processing is being successfully adopted in more and more companies. Thanks to our excellent community and contributors, Apache Flink continues to grow [...]
 Towards Streaming Warehouses # In order to achieve greater efficiency in the realm of streaming warehouse, Flink 1.17 contains substantial improvements to both the performance of batch processing and the semantics of streaming processing. These improvements represent a significant stride towards the creation of a more efficient and streamlined data warehouse, capable of processing large quantities of data in real-time.
 For batch processing, this release includes several new features and improvements:
 Streaming Warehouse API: FLIP-282 introduces the new Delete and Update API in Flink SQL which only works in batch mode. External storage systems like Flink Table Store can implement row-level modification via this new API. The ALTER TABLE syntax is enhanced by including the ability to ADD/MODIFY/DROP columns, primary keys, and watermarks, making it easier for users to maintain their table schema. Batch Execution Improvements: Execution of batch workloads has been significantly improved i [...]
@@ -824,11 +839,11 @@ Generalized Delegation Token Support # Previously, Flink supported Kerberos auth
 Upgrade Notes # The Flink community tries to ensure that upgrades are as seamless as possible. However, certain changes may require users to make adjustments to certain parts of the program when upgrading to version 1.17. Please refer to the release notes for a comprehensive list of adjustments to make and issues to check during the upgrading process.
 List of Contributors # The Apache Flink community would like to express gratitude to all the contributors who made this release possible:
 Ahmed Hamdy, Aitozi, Aleksandr Pilipenko, Alexander Fedulov, Alexander Preuß, Anton Kalashnikov, Arvid Heise, Bo Cui, Brayno, Carlos Castro, ChangZhuo Chen (陳昌倬), Chen Qin, Chesnay Schepler, Clemens, ConradJam, Danny Cranmer, Dawid Wysakowicz, Dian Fu, Dong Lin, Dongjoon Hyun, Elphas Toringepi, Eric Xiao, Fabian Paul, Ferenc Csaky, Gabor Somogyi, Gen Luo, Gunnar Morling, Gyula Fora, Hangxiang Yu, Hong Liang Teoh, HuangXingBo, Jacky Lau, Jane Chan, Jark Wu, Jiale, Jin, Jing Ge, Jinzhong L [...]
-`}),e.add({id:57,href:"/2023/03/15/apache-flink-1.15.4-release-announcement/",title:"Apache Flink 1.15.4 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the fourth bug fix release of the Flink 1.15 series.
+`}),e.add({id:58,href:"/2023/03/15/apache-flink-1.15.4-release-announcement/",title:"Apache Flink 1.15.4 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the fourth bug fix release of the Flink 1.15 series.
 This release includes 53 bug fixes, vulnerability fixes, and minor improvements for Flink 1.15. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.15.4.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.15.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.15.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.15.4 Release Notes # Bug [FLINK-27341] - TaskManager running together with JobManager are bind to 127.0.0.1 [FLINK-27800] - addInEdge check state error [FLINK-27944] - IO metrics collision happens if a task has union inputs [FLINK-28526] - Fail to lateral join with UDTF from Table with timstamp column [FLINK-28695] - Fail to send partition request to restarted taskmanager [FLINK-28742] -  [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.15.4 Release Notes # Bug [FLINK-27341] - TaskManager running together with JobManager are bind to 127.0.0.1 [FLINK-27800] - addInEdge check state error [FLINK-27944] - IO metrics collision happens if a task has union inputs [FLINK-28526] - Fail to lateral join with UDTF from Table with timstamp column [FLINK-28695] - Fail to send partition request to restarted taskmanager [FLINK-28742] -  [...]
 Flink Streaming Job Autoscaler # A highly requested feature for Flink applications is the ability to scale the pipeline based on incoming data load and the utilization of the dataflow. While Flink has already provided some of the required building blocks, this feature has not yet been realized in the open source ecosystem.
 With FLIP-271 the community set out to build such an autoscaler component as part of the Kubernetes Operator subproject. The Kubernetes Operator proved to be a great place for the autoscaler module as it already contains all the necessary bits for managing and upgrading production streaming applications.
 Fast-forward to the 1.4.0 release, we now have the first fully functional autoscaler implementation in the operator, ready to be tested and used in production applications. For more, detailed information, please refer to the Autoscaler Documentation.
@@ -847,14 +862,14 @@ Release Resources # The source artifacts and helm chart are available on the Dow
 $ helm repo add flink-kubernetes-operator-1.4.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.4.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.4.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Anton Ippolitov, FabioWanner, Gabor Somogyi, Gyula Fora, James Busche, Kyle Ahn, Matyas Orhidi, Maximilian Michels, Mohemmad Zaid Khan, Márton Balassi, Navaneesh Kumar, Ottomata, Peter Huang, Rodrigo, Shang Yuanchun, Shipeng Xie, Swathi Chandrashekar, Tony Garrard, Usamah Jassat, Vincent Chenal, Zsombor Chikan, Peter Vary
-`}),e.add({id:59,href:"/2023/01/30/apache-flink-1.16.1-release-announcement/",title:"Apache Flink 1.16.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.16 series.
+`}),e.add({id:60,href:"/2023/01/30/apache-flink-1.16.1-release-announcement/",title:"Apache Flink 1.16.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.16 series.
 This release includes 84 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.16.1.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.16.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.16.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
 Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.16.1 Upgrade Notes # FLINK-28988 - Incorrect result for filter after temporal join The filter will not be pushed down into both inputs of the event time temporal join. This may cause incompatible plan changes compared to Flink 1.16.0, e.g., when the left input is an upsert source (like upsert-kafka connector), the query plan will remove the ChangelogNormalize node in Flink 1.16.1, while i [...]
 FLINK-29849 - Event time temporal join on an upsert source may produce incorrect execution plan This resolves the correctness issue when doing an event time temporal join with a versioned table backed by an upsert source. When the right input of the join is an upsert source, it no longer generates a ChangelogNormalize node for it. This is an incompatible plan change compared to 1.16.0
 FLINK-30383 - UseLogicalIdentifier makes datadog consider metric as custom The Datadog reporter now adds a &ldquo;flink.&rdquo; prefix to metric identifiers if &ldquo;useLogicalIdentifier&rdquo; is enabled. This is required for these metrics to be recognized as Flink metrics, not custom ones.
-Release Notes # Bug [FLINK-16582] - NettyBufferPoolTest may have warns on NettyBuffer leak [FLINK-26037] - TaskManagerRunner may crash during shutdown sequence [FLINK-26890] - DynamoDB consumer error consuming partitions close to retention [FLINK-27341] - TaskManager running together with JobManager are bind to 127.0.0.1 [FLINK-27944] - IO metrics collision happens if a task has union inputs [FLINK-28102] - Flink AkkaRpcSystemLoader fails when temporary directory is a symlink [FLINK-2852 [...]
+Release Notes # Bug [FLINK-16582] - NettyBufferPoolTest may have warns on NettyBuffer leak [FLINK-26037] - TaskManagerRunner may crash during shutdown sequence [FLINK-26890] - DynamoDB consumer error consuming partitions close to retention [FLINK-27341] - TaskManager running together with JobManager are bind to 127.0.0.1 [FLINK-27944] - IO metrics collision happens if a task has union inputs [FLINK-28102] - Flink AkkaRpcSystemLoader fails when temporary directory is a symlink [FLINK-2852 [...]
 Introduction # Authentication in distributed systems is not an easy task. Previously all worker nodes (TaskManagers) reading from or writing to an external system needed to authenticate on their own. In such a case several things can go wrong, including but not limited to:
 Too many authentication requests (potentially resulting in rejected requests) Large number of retries on authentication failures Re-occurring propagation/update of temporary credentials in a timely manner Dependency issues when external system libraries are having the same dependency with different versions Each authentication/temporary credentials are different making standardization challenging &hellip; The aim of Delegation Token Framework is to solve the above challenges. The framewo [...]
 New authentication providers can be added with small amount of code which is going to be loaded by Flink automatically. At the moment the following external systems are supported:
@@ -867,7 +882,7 @@ Check out the example implementation Change FlinkTestJavaDelegationTokenProvider
 An example tutorial can be found here on external system authentication.
 Summary # The Delegation Token Framework is feature complete on the master branch and is becoming generally available on the release of Flink 1.17. The framework obtains authentication tokens at a central location and propagates them to all workers on a re-occurring basis.
 Any connector to an external system which supports authentication can be a potential user of this framework. To support authentication in your connector we encourage you to implement your own DelegationTokenProvider/DelegationTokenReceiver pair.
-`}),e.add({id:61,href:"/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/",title:"Apache Flink Table Store 0.3.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the release of the Apache Flink Table Store (0.3.0).
+`}),e.add({id:62,href:"/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/",title:"Apache Flink Table Store 0.3.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the release of the Apache Flink Table Store (0.3.0).
 We highly recommend all users upgrade to Flink Table Store 0.3.0. 0.3.0 completed 150+ issues, which were completed by nearly 30 contributors.
 Please check out the full documentation for detailed information and user guides.
 Flink Table Store 0.3 completes many exciting features, enhances its ability as a data lake storage and greatly improves the availability of its stream pipeline. Some important features are described below.
@@ -901,14 +916,14 @@ What&rsquo;s Next? # In the upcoming 0.4.0 release you can expect the following
 Provides Flink decoupled independent Java APIs Spark: enhance batch write, provide streaming write and streaming read Flink: complete DDL &amp; DML, providing more management operations Changelog producer: Lookup, the delay of stream reading each scenario is less than one minute Provide multi table consistent materialized views in real-time Data Integration: Schema Evolution integration, whole database integration. Please give the release a try, share your feedback on the Flink mailing l [...]
 List of Contributors # The Apache Flink community would like to thank every one of the contributors that have made this release possible:
 Feng Wang, Hannankan, Jane Chan, Jia Liu, Jingsong Lee, Jonathan Leitschuh, JunZhang, Kirill Listopad, Liwei Li, MOBIN-F, Nicholas Jiang, Wang Luning, WencongLiu, Yubin Li, gongzhongqiang, houhang1005, liuzhuang2017, openinx, tsreaper, wuyouwuyoulian, zhuangchong, zjureel (shammon), 吴祥平
-`}),e.add({id:62,href:"/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/",title:"Apache Flink Kubernetes Operator 1.3.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink Kubernetes Operator 1.3 series.
+`}),e.add({id:63,href:"/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/",title:"Apache Flink Kubernetes Operator 1.3.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink Kubernetes Operator 1.3 series.
 The release contains fixes for several critical issues and some major stability improvements for the application upgrade mechanism.
 We highly recommend all users to upgrade to Flink Kubernetes Operator 1.3.1.
 Release Notes # Bug # [FLINK-30329] - flink-kubernetes-operator helm chart does not work with dynamic config because of use of volumeMount subPath [FLINK-30361] - Cluster deleted and created back while updating replicas [FLINK-30406] - Jobmanager Deployment error without HA metadata should not lead to unrecoverable error [FLINK-30437] - State incompatibility issue might cause state loss [FLINK-30527] - Last-state suspend followed by flinkVersion change may lead to state loss [FLINK-30528 [...]
 $ helm repo add flink-kubernetes-operator-1.3.1 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.3.1/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.3.1/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Gyula Fora, Andrew Otto, Swathi Chandrashekar, Peter Vary
-`}),e.add({id:63,href:"/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.3.0 Release Announcement",section:"Flink Blog",content:`The Flink community is happy to announce that the latest Flink Kubernetes Operator version went live today. Beyond the regular operator improvements and fixes the 1.3.0 version also integrates better with some popular infrastructure management tools like OLM and Argo CD. These improvements are cl [...]
+`}),e.add({id:64,href:"/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.3.0 Release Announcement",section:"Flink Blog",content:`The Flink community is happy to announce that the latest Flink Kubernetes Operator version went live today. Beyond the regular operator improvements and fixes the 1.3.0 version also integrates better with some popular infrastructure management tools like OLM and Argo CD. These improvements are cl [...]
 Release Highlights # Upgrade to Fabric8 6.x.x and JOSDK 4.x.x Restart unhealthy Flink clusters Contribute the Flink Kubernetes Operator to OperatorHub Publish flink-kubernetes-operator-api module separately Upgrade to Fabric8 6.x.x and JOSDK 4.x.x # Two important framework components were upgraded with the current operator release, the Fabric8 client to v6.2.0 and the JOSDK to v4.1.0. These upgrades among others contain important informer improvements that help lower or completely elimin [...]
 With the new JOSDK version, the operator now supports leader election and allows users to run standby operator replicas to reduce downtime due to operator failures. Read more about this in the docs.
 Restart unhealthy Flink clusters # Flink has its own restart strategies which are working fine in most of the cases, but there are certain circumstances when Flink can be stuck in restart loops often resulting in OutOfMemoryError: Metaspace type of state which the job cannot recover from. If the root cause is just a temporary outage of some external system, for example, the Flink job could be resurrected by simply performing a full restart on the application.
@@ -921,7 +936,7 @@ Release Resources # The source artifacts and helm chart are available on the Dow
 $ helm repo add flink-kubernetes-operator-1.3.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.3.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.3.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Chesnay Schepler, Clara Xiong, Denis Nuțiu, Gabor Somogyi, Gyula Fora, James Busche, Jeesmon Jacob, Marton Balassi, Matyas Orhidi, Maximilian Michels, Sriram Ganesh, Steven Zhang, Thomas Weise, Tony Garrard, Usamah Jassat, Xin Hao, Yaroslav Tkachenko, Zezae Oh, Zhenqiu Huang, Zhiming, clarax, darenwkt, jiangzho, judy.zhu, pvary, ted chang, tison, yangjf2019, zhou-jiang
-`}),e.add({id:64,href:"/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/",title:"Optimising the throughput of async sinks using a custom RateLimitingStrategy",section:"Flink Blog",content:` Introduction # When designing a Flink data processing job, one of the key concerns is maximising job throughput. Sink throughput is a crucial factor because it can determine the entire job’s throughput. We generally want the highest possible write rate in the si [...]
+`}),e.add({id:65,href:"/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/",title:"Optimising the throughput of async sinks using a custom RateLimitingStrategy",section:"Flink Blog",content:` Introduction # When designing a Flink data processing job, one of the key concerns is maximising job throughput. Sink throughput is a crucial factor because it can determine the entire job’s throughput. We generally want the highest possible write rate in the si [...]
 This post explains how you can optimise sink throughput by configuring a custom RateLimitingStrategy on a connector that builds on the AsyncSinkBase (FLIP-171). In the sections below, we cover the design logic behind the AsyncSinkBase and the RateLimitingStrategy, then we take you through two example implementations of rate limiting strategies, specifically the CongestionControlRateLimitingStrategy and TokenBucketRateLimitingStrategy.
 Background of the AsyncSinkBase # When implementing the AsyncSinkBase, our goal was to simplify building new async sinks to custom destinations by providing common async sink functionality used with at least once processing. This has allowed users to more easily write sinks to custom destinations, such as Amazon Kinesis Data Streams and Amazon Kinesis Firehose. An additional async sink to Amazon DynamoDB (FLIP-252) is also being developed at the time of writing.
 The AsyncSinkBase provides the core implementation which handles the mechanics of async requests and responses. This includes retrying failed messages, deciding when to flush records to the destination, and persisting un-flushed records to state during checkpointing. In order to increase throughput, the async sink also dynamically adjusts the request rate depending on the destination’s responses. Read more about this in our previous 1.15 release blog post or watch our FlinkForward talk r [...]
@@ -950,11 +965,11 @@ This would be useful if we know that our destination will failover ungracefully
 Specifying a custom RateLimitingStrategy # To specify a custom RateLimitingStrategy, we have to specify it in the AsyncSinkWriterConfiguration which is passed into the constructor of the AsyncSinkWriter. For example:
 class MyCustomSinkWriter&lt;InputT&gt; extends AsyncSinkWriter&lt;InputT, MyCustomRequestEntry&gt; { MyCustomSinkWriter( ElementConverter&lt;InputT, MyCustomRequestEntry&gt; elementConverter, Sink.InitContext context, Collection&lt;BufferedRequestState&lt;MyCustomRequestEntry&gt;&gt; states) { super( elementConverter, context, AsyncSinkWriterConfiguration.builder() // ... .setRateLimitingStrategy(new TokenBucketRateLimitingStrategy()) .build(), states); } } Summary # From Apache Flink 1. [...]
 We hope this extension will be useful for you. If you have any feedback, feel free to reach out!
-`}),e.add({id:65,href:"/2022/11/10/apache-flink-1.15.3-release-announcement/",title:"Apache Flink 1.15.3 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the third bug fix release of the Flink 1.15 series.
+`}),e.add({id:66,href:"/2022/11/10/apache-flink-1.15.3-release-announcement/",title:"Apache Flink 1.15.3 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the third bug fix release of the Flink 1.15 series.
 This release includes 59 bug fixes, vulnerability fixes, and minor improvements for Flink 1.15. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.15.3.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.15.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.15.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.15.3 Release Notes # Bug [FLINK-26726] - Remove the unregistered task from readersAwaitingSplit [FLINK-26890] - DynamoDB consumer error consuming partitions close to retention [FLINK-27384] - In the Hive dimension table, when the data is changed on the original partition, the create_time configuration does not take effect [FLINK-27400] - Pulsar connector subscribed the system topic when u [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.15.3 Release Notes # Bug [FLINK-26726] - Remove the unregistered task from readersAwaitingSplit [FLINK-26890] - DynamoDB consumer error consuming partitions close to retention [FLINK-27384] - In the Hive dimension table, when the data is changed on the original partition, the create_time configuration does not take effect [FLINK-27400] - Pulsar connector subscribed the system topic when u [...]
 Flink has become the leading role and factual standard of stream processing, and the concept of the unification of stream and batch data processing is gradually gaining recognition and is being successfully implemented in more and more companies. Previously, the integrated stream and batch concept placed more emphasis on a unified API and a unified computing framework. This year, based on this, Flink proposed the next development direction of Flink-Streaming Warehouse (Streamhouse), whic [...]
 In 1.16, the Flink community has completed many improvements for both batch and stream processing:
 For batch processing, all-round improvements in ease of use, stability and performance have been completed. 1.16 is a milestone version of Flink batch processing and an important step towards maturity. Ease of use: with the introduction of SQL Gateway and full compatibility with Hive Server2, users can submit Flink SQL jobs and Hive SQL jobs very easily, and it is also easy to connect to the original Hive ecosystem. Functionality: Join hints let Flink SQL users manually specify join stra [...]
@@ -999,11 +1014,11 @@ Introduce configurable RateLimitingStrategy for Async Sink # The Async Sink was
 Upgrade Notes # We aim to make upgrades as smooth as possible, but some of the changes require users to adjust some parts of the program when upgrading to Apache Flink 1.16. Please take a look at the release notes for a list of adjustments to make and issues to check during upgrades.
 List of Contributors # The Apache Flink community would like to thank each one of the contributors that have made this release possible:
 1996fanrui, Ada Wang, Ada Wong, Ahmed Hamdy, Aitozi, Alexander Fedulov, Alexander Preuß, Alexander Trushev, Andriy Redko, Anton Kalashnikov, Arvid Heise, Ben Augarten, Benchao Li, BiGsuw, Biao Geng, Bobby Richard, Brayno, CPS794, Cheng Pan, Chengkai Yang, Chesnay Schepler, Danny Cranmer, David N Perkins, Dawid Wysakowicz, Dian Fu, DingGeGe, EchoLee5, Etienne Chauchot, Fabian Paul, Ferenc Csaky, Francesco Guardiani, Gabor Somogyi, Gen Luo, Gyula Fora, Haizhou Zhao, Hangxiang Yu, Hao Wang, [...]
-`}),e.add({id:67,href:"/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/",title:"Apache Flink Table Store 0.2.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink Table Store 0.2 series.
+`}),e.add({id:68,href:"/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/",title:"Apache Flink Table Store 0.2.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink Table Store 0.2 series.
 This release includes 13 bug fixes, vulnerability fixes, and minor improvements for Flink Table Store 0.2. Below you will find a list of all bugfixes and improvements. For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink Table Store 0.2.1.
 Release Artifacts # Binaries # You can find the binaries on the updated Downloads page.
-Release Notes # Bug [FLINK-29098] - StoreWriteOperator#prepareCommit should let logSinkFunction flush first before fetching offset [FLINK-29241] - Can not overwrite from empty input [FLINK-29273] - Page not enough Exception in SortBufferMemTable [FLINK-29278] - BINARY type is not supported in table store [FLINK-29295] - Clear RecordWriter slower to avoid causing frequent compaction conflicts [FLINK-29367] - Avoid manifest corruption for incorrect checkpoint recovery [FLINK-29369] - Commi [...]
+Release Notes # Bug [FLINK-29098] - StoreWriteOperator#prepareCommit should let logSinkFunction flush first before fetching offset [FLINK-29241] - Can not overwrite from empty input [FLINK-29273] - Page not enough Exception in SortBufferMemTable [FLINK-29278] - BINARY type is not supported in table store [FLINK-29295] - Clear RecordWriter slower to avoid causing frequent compaction conflicts [FLINK-29367] - Avoid manifest corruption for incorrect checkpoint recovery [FLINK-29369] - Commi [...]
 Release Highlights # Standalone deployment mode support Improved upgrade flow Readiness and liveness probes Flexible job jar handling Standalone deployment mode support # Until now the operator relied exclusively on Flink’s built-in Native Kubernetes integration to deploy and manage Flink clusters. When using the Native deployment mode the Flink cluster communicates directly with Kubernetes to allocate/deallocate TaskManager resources on the fly. While this leads to a very simple deploym [...]
 Flink Kubernetes Operator 1.2.0 brings Standalone mode support for FlinkDeployment resources.
 When using the standalone mode, the operator itself sets up the Job and TaskManager resources for the Flink cluster. Flink processes then run without any need for Kubernetes access. In fact in this mode the Flink cluster itself is unaware that it is running in a Kubernetes environment. If unknown or external code is being executed on the Flink cluster then Standalone mode adds another layer of security.
@@ -1018,11 +1033,11 @@ This can be especially valuable in session deployments when multiple jobs, reusi
 Release Resources # The source artifacts and helm chart are now available on the updated Downloads page of the Flink website.
 $ helm repo add flink-kubernetes-operator-1.2.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.2.0/ $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.2.0/flink-kubernetes-operator --set webhook.create=false You can also find official Kubernetes Operator Docker images of the new version on [Dockerhub](https://hub.docker.com/r/apache/flink-kubernetes-operator). For more details, check the updated documentation and the release notes. We encourage you to [...]
 List of Contributors # Aitozi, Avocadomaster, ConradJam, Dylan Meissner, Gabor Somogyi, Gaurav Miglani, Gyula Fora, Jeesmon Jacob, Joao Ubaldo, Marton Balassi, Matyas Orhidi, Maximilian Michels, Nicholas Jiang, Peter Huang, Robson Roberto Souza Peixoto, Thomas Weise, Tim, Usamah Jassat, Xin Hao, Yaroslav Tkachenko
-`}),e.add({id:69,href:"/2022/09/28/apache-flink-1.14.6-release-announcement/",title:"Apache Flink 1.14.6 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce another bug fix release for Flink 1.14.
+`}),e.add({id:70,href:"/2022/09/28/apache-flink-1.14.6-release-announcement/",title:"Apache Flink 1.14.6 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce another bug fix release for Flink 1.14.
 This release includes 34 bug fixes, vulnerability fixes and minor improvements for Flink 1.14. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.14.6.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.14.6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.14.6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.14.6 Release Notes # Bug [FLINK-24862] - The user-defined hive udaf/udtf cannot be used normally in hive dialect [FLINK-25454] - Negative time in throughput calculator [FLINK-27041] - KafkaSource in batch mode failing if any topic partition is empty [FLINK-27399] - Pulsar connector didn&#39;t set start consuming position correctly [FLINK-27418] - Flink SQL TopN result is wrong [FLINK-2768 [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.14.6 Release Notes # Bug [FLINK-24862] - The user-defined hive udaf/udtf cannot be used normally in hive dialect [FLINK-25454] - Negative time in throughput calculator [FLINK-27041] - KafkaSource in batch mode failing if any topic partition is empty [FLINK-27399] - Pulsar connector didn&#39;t set start consuming position correctly [FLINK-27418] - Flink SQL TopN result is wrong [FLINK-2768 [...]
 Within a few hours of the announcement several people reached out to the Flink project, worrying about the impact this has on Flink, as we use Akka internally.
 The purpose of this blogpost is to clarify our position on the matter.
 Please be aware that this topic is still quite fresh, and things are subject to change.
@@ -1043,7 +1058,7 @@ Yes, critical security updates and critical bugs will be patched in Akka v2.6.x
 How does Flink use Akka? # Akka is used in the coordination layer of Flink to
 exchange status messages between processes/components (e.g., JobManager and TaskManager), enforce certain guarantees w.r.t. multi-threading (i.e., only one thread can make changes to the internal state of a component) observe components for unexpected crashes (i.e., notice and handle TaskManager thread crashes). What this means is that we are using very few functionalities of Akka.
 Additionally, that we use Akka is an implementation detail that the vast majority of Flink code isn&rsquo;t aware of, meaning that we can replace it with something else without having to change Flink significantly.
-`}),e.add({id:71,href:"/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/",title:"Apache Flink Table Store 0.2.0 Release Announcement",section:"Flink Blog",content:` The Apache Flink community is pleased to announce the release of the Apache Flink Table Store (0.2.0).
+`}),e.add({id:72,href:"/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/",title:"Apache Flink Table Store 0.2.0 Release Announcement",section:"Flink Blog",content:` The Apache Flink community is pleased to announce the release of the Apache Flink Table Store (0.2.0).
 Please check out the full documentation for detailed information and user guides.
 What is Flink Table Store # Flink Table Store is a data lake storage for streaming updates/deletes changelog ingestion and high-performance queries in real time.
 As a new type of updatable data lake, Flink Table Store has the following features:
@@ -1059,12 +1074,12 @@ Streaming Changelog Concurrent Writes, the separation of Compaction. Aggregation
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # The Apache Flink community would like to thank every one of the contributors that have made this release possible:
 Jane Chan, Jia Liu, Jingsong Lee, liliwei, Nicholas Jiang, openinx, tsreaper
-`}),e.add({id:72,href:"/2022/08/24/apache-flink-1.15.2-release-announcement/",title:"Apache Flink 1.15.2 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.15 series.
+`}),e.add({id:73,href:"/2022/08/24/apache-flink-1.15.2-release-announcement/",title:"Apache Flink 1.15.2 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.15 series.
 This release includes 30 bug fixes, vulnerability fixes, and minor improvements for Flink 1.15. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.15.2.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.15.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.15.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
 Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.15.2 Upgrade Notes # For Table API: 1.15.0 and 1.15.1 generated non-deterministic UIDs for operators that make it difficult/impossible to restore state or upgrade to next patch version. A new table.exec.uid.generation config option (with correct default behavior) disables setting a UID for new pipelines from non-compiled plans. Existing pipelines can set table.exec.uid.generation=ALWAYS i [...]
-Release Notes # Bug [FLINK-23528] - stop-with-savepoint can fail with FlinkKinesisConsumer [FLINK-25097] - Bug in inner join when the filter condition is boolean type [FLINK-26931] - Pulsar sink&#39;s producer name should be unique [FLINK-27399] - Pulsar connector didn&#39;t set start consuming position correctly [FLINK-27570] - Checkpoint path error does not cause the job to stop [FLINK-27794] - The primary key obtained from MySQL is incorrect by using MysqlCatalog [FLINK-27856] - Addin [...]
+Release Notes # Bug [FLINK-23528] - stop-with-savepoint can fail with FlinkKinesisConsumer [FLINK-25097] - Bug in inner join when the filter condition is boolean type [FLINK-26931] - Pulsar sink&#39;s producer name should be unique [FLINK-27399] - Pulsar connector didn&#39;t set start consuming position correctly [FLINK-27570] - Checkpoint path error does not cause the job to stop [FLINK-27794] - The primary key obtained from MySQL is incorrect by using MysqlCatalog [FLINK-27856] - Addin [...]
 With the release of Flink Kubernetes Operator 1.1.0 we are proud to announce a number of exciting new features improving the overall experience of managing Flink resources and the operator itself in production environments.
 Release Highlights # A non-exhaustive list of some of the more exciting features added in the release:
 Kubernetes Events on application and job state changes New operator metrics Unified and more robust reconciliation flow Periodic savepoints Custom Flink Resource Listeners Dynamic watched namespaces New built-in examples For Flink SQL and PyFlink Experimental autoscaling support Kubernetes Events for Application and Job State Changes # The operator now emits native Kubernetes Events on relevant Flink Deployment and Job changes. This includes status changes, custom resource specification  [...]
@@ -1093,7 +1108,7 @@ Release Resources # The source artifacts and helm chart are available on the Dow
 You can also find official Kubernetes Operator Docker images of the new version on Dockerhub.
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # Aitozi, Biao Geng, Chethan, ConradJam, Dora Marsal, Gyula Fora, Hao Xin, Hector Miuler Malpica Gallegos, Jaganathan Asokan, Jeesmon Jacob, Jim Busche, Maksim Aniskov, Marton Balassi, Matyas Orhidi, Nicholas Jiang, Peng Yuan, Peter Vary, Thomas Weise, Xin Hao, Yang Wang
-`}),e.add({id:74,href:"/2022/07/12/apache-flink-ml-2.1.0-release-announcement/",title:"Apache Flink ML 2.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink ML 2.1.0! This release focuses on improving Flink ML&rsquo;s infrastructure, such as Python SDK, memory management, and benchmark framework, to facilitate the development of performant, memory-safe, and easy-to-use algorithm libraries. We validated the enhance [...]
+`}),e.add({id:75,href:"/2022/07/12/apache-flink-ml-2.1.0-release-announcement/",title:"Apache Flink ML 2.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink ML 2.1.0! This release focuses on improving Flink ML&rsquo;s infrastructure, such as Python SDK, memory management, and benchmark framework, to facilitate the development of performant, memory-safe, and easy-to-use algorithm libraries. We validated the enhance [...]
 With the improvements and performance benchmarks made in this release, we believe Flink ML&rsquo;s infrastructure is ready for use by the interested developers in the community to build performant pythonic machine learning libraries.
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
 Notable Features # API and Infrastructure # Supporting fine-grained per-operator memory management # Before this release, algorithm operators with internal states (e.g. the training data to be replayed for each round of iteration) store state data using the state-backend API (e.g. ListState). Such an operator either needs to store all data in memory, which risks OOM, or it needs to always store data on disk. In the latter case, it needs to read and de-serialize all data from disks repeat [...]
@@ -1114,7 +1129,7 @@ Release Notes and Resources # Please take a look at the release notes for a deta
 The source artifacts is now available on the updated Downloads page of the Flink website, and the most recent distribution of Flink ML Python package is available on PyPI.
 List of Contributors # The Apache Flink community would like to thank each one of the contributors that have made this release possible:
 Yunfeng Zhou, Zhipeng Zhang, huangxingbo, weibo, Dong Lin, Yun Gao, Jingsong Li and mumuhhh.
-`}),e.add({id:75,href:"/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/",title:"FLIP-147: Support Checkpoints After Tasks Finished - Part One",section:"Flink Blog",content:` Motivation # Flink is a distributed processing engine for both unbounded and bounded streams of data. In recent versions, Flink has unified the DataStream API and the Table / SQL API to support both streaming and batch cases. Since most users require both types of data processing pipelines, the [...]
+`}),e.add({id:76,href:"/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/",title:"FLIP-147: Support Checkpoints After Tasks Finished - Part One",section:"Flink Blog",content:` Motivation # Flink is a distributed processing engine for both unbounded and bounded streams of data. In recent versions, Flink has unified the DataStream API and the Table / SQL API to support both streaming and batch cases. Since most users require both types of data processing pipelines, the [...]
 Flink provides two execution modes under the unified programming API: the streaming mode and the batch mode. The streaming mode processes records incrementally based on the states, thus it supports both bounded and unbounded sources. The batch mode works with bounded sources and usually has a better performance for bounded jobs because it executes all the tasks in topological order and avoids random state access by pre-sorting the input records. Although batch mode is often the preferred [...]
 Figure 1. A comparison of the Streaming mode and Batch mode for the example Count operator. For streaming mode, the arrived elements are not sorted, the operator would read / write the state corresponding to the element for computation. For batch mode, the arrived elements are first sorted as a whole and then processed. In streaming mode, checkpointing is the vital mechanism in supporting exactly-once guarantees. By periodically snapshotting the aligned states of operators, Flink can rec [...]
 Furthermore, being unable to take checkpoints with finished tasks is a problem for jobs using two-phase-commit sinks to achieve end-to-end exactly-once processing. The two-phase-commit sinks first write data to temporary files or external transactions, and commit the data only after a checkpoint completes to ensure the data would not be replayed on failure. However, if a job contains bounded sources, committing the results would not be possible after the bounded sources finish. Also beca [...]
@@ -1134,7 +1149,7 @@ Therefore, we do not take the intuitive option. Instead, we decoupled &ldquo;fin
 Based on this thought, as shown in the right part of Figure 3, to decoupled the process of &ldquo;finishing operator logic&rdquo; and &ldquo;finishing tasks&rdquo;, we introduced a new EndOfData event. For each task, after executing all the operator logic it would first notify the descendants with an EndOfData event so that the descendants also have chances to finish executing the operator logic. Then all the tasks could wait for the next checkpoint or the specified savepoint concurrentl [...]
 At last, it is also worthy to mention we have clarified and renamed the close() and dispose() methods in the operators’ lifecycle. The two methods are in fact different since close() is only called when the task finishes normally and dispose() is called in both cases of normal finishing and failover. However, this was not clear from their names. Therefore, we rename the two methods to finish() and close():
 finish() marks the termination of the operator and no more records are allowed after finish() is called. It should only be called when sources are finished or when the -–drain parameter is specified. close() is used to do cleanup and release all the held resources. Conclusion # By supporting the checkpoints after tasks finished and revising the process of finishing, we can support checkpoints for jobs with both bounded and unbounded sources, and ensure the bounded job gets all output rec [...]
-`}),e.add({id:76,href:"/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/",title:"FLIP-147: Support Checkpoints After Tasks Finished - Part Two",section:"Flink Blog",content:`In the first part of this blog, we have briefly introduced the work to support checkpoints after tasks get finished and revised the process of finishing. In this part we will present more details on the implementation, including how we support checkpoints with finished tasks and the revised prot [...]
+`}),e.add({id:77,href:"/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/",title:"FLIP-147: Support Checkpoints After Tasks Finished - Part Two",section:"Flink Blog",content:`In the first part of this blog, we have briefly introduced the work to support checkpoints after tasks get finished and revised the process of finishing. In this part we will present more details on the implementation, including how we support checkpoints with finished tasks and the revised prot [...]
 Implementation of support Checkpointing with Finished Tasks # As described in part one, to support checkpoints after some tasks are finished, the core idea is to mark the finished operators in checkpoints and skip executing these operators after recovery. To implement this idea, we enhanced the checkpointing procedure to generate the flag and use the flag on recovery. This section presents more details on the process of taking checkpoints with finished tasks and recovery from such checkpoints.
 Previously, checkpointing only worked when all tasks were running. As shown in the Figure 1, in this case the checkpoint coordinator first notify all the source tasks, and then the source tasks further notify the downstream tasks to take snapshots via barrier events. Similarly, if there are finished tasks, we need to find the new &ldquo;source&rdquo; tasks to initiate the checkpoint, namely those tasks that are still running but have no running precedent tasks. CheckpointCoordinator does [...]
 There might be race conditions when triggering tasks: when the checkpoint coordinator decides to trigger one task and starts emitting the RPC, it is possible that the task is just finished and reporting the FINISHED status to JobManager. In this case, the RPC message would fail and the checkpoint would be aborted.
@@ -1157,16 +1172,16 @@ Task D finishes all the operators right after receiving the EndOfData event. Sin
 Task E is a bit different in that it has two inputs. Task A might continue to run for a while and, thus, Task E needs to wait until it receives an EndOfData event also from the other input before finishing operators and its final checkpoint might be different.
 On the other hand, when using stop-with-savepoint [--drain], the process is similar except that all the tasks need to wait for the exact savepoint before finishing instead of just any checkpoints. Moreover, since both Task C and Task A would finish at the same time, Task E would also be able to wait for this particular savepoint before finishing.
 Conclusion # In this part we have presented more details of how the checkpoints are taken with finished tasks and the revised process of finishing. We hope the details could provide more insights of the thoughts and implementations for this part of work. Still, if you have any questions, please feel free to start a discussion or report an issue in the dev or user mailing list.
-`}),e.add({id:77,href:"/2022/07/06/apache-flink-1.15.1-release-announcement/",title:"Apache Flink 1.15.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.15 series.
+`}),e.add({id:78,href:"/2022/07/06/apache-flink-1.15.1-release-announcement/",title:"Apache Flink 1.15.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.15 series.
 This release includes 62 bug fixes, vulnerability fixes, and minor improvements for Flink 1.15. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users upgrade to Flink 1.15.1.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.15.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java&lt;/artifactId&gt; &lt;version&gt;1.15.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clie [...]
 Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.15.1 Release Notes # The community is aware of 3 issues that were introduced with 1.15.0 that remain unresolved. Efforts are underway to fix these issues for Flink 1.15.2:
-[FLINK-28861] - Non-deterministic UID generation might cause issues during restore for Table/SQL API [FLINK-28060] - Kafka commit on checkpointing fails repeatedly after a broker restart [FLINK-28322] - DataStreamScanProvider's new method is not compatible Bug [FLINK-22984] - UnsupportedOperationException when using Python UDF to generate watermark [FLINK-24491] - ExecutionGraphInfo may not be archived when the dispatcher terminates [FLINK-24735] - SQL client crashes with \`Cannot add ex [...]
+[FLINK-28861] - Non-deterministic UID generation might cause issues during restore for Table/SQL API [FLINK-28060] - Kafka commit on checkpointing fails repeatedly after a broker restart [FLINK-28322] - DataStreamScanProvider's new method is not compatible Bug [FLINK-22984] - UnsupportedOperationException when using Python UDF to generate watermark [FLINK-24491] - ExecutionGraphInfo may not be archived when the dispatcher terminates [FLINK-24735] - SQL client crashes with \`Cannot add ex [...]
 This release includes 67 bugs, vulnerability fixes and minor improvements for Flink 1.14. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.14.5.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.14.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.14.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.14.5 Release Notes # Sub-task [FLINK-25800] - Update wrong links in the datastream/execution_mode.md page. Bug [FLINK-22984] - UnsupportedOperationException when using Python UDF to generate watermark [FLINK-24491] - ExecutionGraphInfo may not be archived when the dispatcher terminates [FLINK-25227] - Comparing the equality of the same (boxed) numeric values returns false [FLINK-25440] -  [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.14.5 Release Notes # Sub-task [FLINK-25800] - Update wrong links in the datastream/execution_mode.md page. Bug [FLINK-22984] - UnsupportedOperationException when using Python UDF to generate watermark [FLINK-24491] - ExecutionGraphInfo may not be archived when the dispatcher terminates [FLINK-25227] - Comparing the equality of the same (boxed) numeric values returns false [FLINK-25440] -  [...]
 To decide a proper parallelism, one needs to know how much data each operator needs to process. However, It can be hard to predict data volume to be processed by a job because it can be different everyday. And it can be harder or even impossible (due to complex operators or UDFs) to predict data volume to be processed by each operator.
 To solve this problem, we introduced the adaptive batch scheduler in Flink 1.15. The adaptive batch scheduler can automatically decide parallelism of an operator according to the size of its consumed datasets. Here are the benefits the adaptive batch scheduler can bring:
 Batch job users can be relieved from parallelism tuning. Parallelism tuning is fine grained considering different operators. This is particularly beneficial for SQL jobs which can only be set with a global parallelism previously. Parallelism tuning can better fit consumed datasets which have a varying volume size every day. Get Started # To automatically decide parallelism of operators, you need to:
@@ -1201,7 +1216,7 @@ Fig. 4 - How subpartitions serve consumer execution vertices with dynamic graph
 The scheduler will try to decide the parallelism of all job vertices before handling each scheduling event, and the parallelism decision will be made for each job vertex in topological order:
 For source vertices, the parallelism should have been decided before starting scheduling. For non-source vertices, the parallelism can be decided only when all its consumed results are fully produced. After deciding the parallelism, the scheduler will try to initialize the job vertices in topological order. A job vertex that can be initialized should meet the following conditions:
 The parallelism of the job vertex has been decided and the job vertex has not been initialized yet. All upstream job vertices have been initialized. Future improvement # Auto-rebalancing of workloads # When running batch jobs, data skew may occur (a task needs to process much larger data than other tasks), which leads to long-tail tasks and further slows down the finish of jobs. Users usually hope that the system can automatically solve this problem. One typical data skew case is that so [...]
-Fig. 5 - Auto-rebalance with finer grained subpartitions `}),e.add({id:80,href:"/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.0.0 Release Announcement",section:"Flink Blog",content:`In the last two months since our initial preview release the community has been hard at work to stabilize and improve the core Flink Kubernetes Operator logic. We are now proud to announce the first production ready release of the operator  [...]
+Fig. 5 - Auto-rebalance with finer grained subpartitions `}),e.add({id:81,href:"/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/",title:"Apache Flink Kubernetes Operator 1.0.0 Release Announcement",section:"Flink Blog",content:`In the last two months since our initial preview release the community has been hard at work to stabilize and improve the core Flink Kubernetes Operator logic. We are now proud to announce the first production ready release of the operator  [...]
 Release Highlights # The Flink Kubernetes Operator 1.0.0 version brings numerous improvements and new features to almost every aspect of the operator.
 New v1beta1 API version &amp; compatibility guarantees Session Job Management support Support for Flink 1.13, 1.14 and 1.15 Deployment recovery and rollback New Operator metrics Improved configuration management Custom validators Savepoint history and cleanup New API version and compatibility guarantees # The 1.0.0 release brings a new API version: v1beta1.
 Don’t let the name confuse you, we consider v1beta1 the first production ready API release, and we will maintain backward compatibility for your applications going forward.
@@ -1224,7 +1239,7 @@ $ helm repo add flink-kubernetes-operator-1.0.0 https://archive.apache.org/dist/
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # The Apache Flink community would like to thank each and every one of the contributors that have made this release possible:
 Aitozi, Biao Geng, ConradJam, Fuyao Li, Gyula Fora, Jaganathan Asokan, James Busche, liuzhuo, Márton Balassi, Matyas Orhidi, Nicholas Jiang, Ted Chang, Thomas Weise, Xin Hao, Yang Wang, Zili Chen
-`}),e.add({id:81,href:"/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/",title:"Improving speed and stability of checkpointing with generic log-based incremental checkpoints",section:"Flink Blog",content:` Introduction # One of the most important characteristics of stream processing systems is end-to-end latency, i.e. the time it takes for the results of processing an input record to reach the outputs. In the case of Flink, end-to [...]
+`}),e.add({id:82,href:"/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/",title:"Improving speed and stability of checkpointing with generic log-based incremental checkpoints",section:"Flink Blog",content:` Introduction # One of the most important characteristics of stream processing systems is end-to-end latency, i.e. the time it takes for the results of processing an input record to reach the outputs. In the case of Flink, end-to [...]
 Furthermore, сheckpoint duration also defines the reasonable interval with which checkpoints are made. A shorter interval provides the following advantages:
 Lower latency for transactional sinks: Transactional sinks commit on checkpoints, so faster checkpoints mean more frequent commits. More predictable checkpoint intervals: Currently, the duration of a checkpoint depends on the size of the artifacts that need to be persisted in the checkpoint storage. Less work on recovery. The more frequently the checkpoint, the fewer events need to be re-processed after recovery. Following are the main factors affecting checkpoint duration in Flink:
 Barrier travel time and alignment duration Time to take state snapshot and persist it onto the durable highly-available storage (such as S3) Recent improvements such as Unaligned checkpoints and Buffer debloating try to address (1), especially in the presence of back-pressure. Previously, Incremental checkpoints were introduced to reduce the size of a snapshot, thereby reducing the time required to store it (2).
@@ -1268,7 +1283,7 @@ Besides that, we are investigating other applications of Changelog, such as WAL
 We encourage you to try out this feature and assess the pros and cons of using it in your setup. The simplest way to do this it is to add the following to your flink-conf.yaml:
 state.backend.changelog.enabled: true state.backend.changelog.storage: filesystem dstl.dfs.base-path: &lt;location similar to state.checkpoints.dir&gt; Please see the full documentation here.
 Acknowledgments # We thank Stephan Ewen for the initial idea of the project, and many other engineers including Piotr Nowojski, Yu Li and Yun Tang for design discussions and code reviews.
-References # FLIP-158 generic log-based incremental checkpoints documentation Unaligned checkpoints Buffer debloating Incremental checkpoints `}),e.add({id:82,href:"/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/",title:"Getting into Low-Latency Gears with Apache Flink - Part Two",section:"Flink Blog",content:`This series of blog posts present a collection of low-latency techniques in Flink. In part one, we discussed the types of latency in Flink and the way we mea [...]
+References # FLIP-158 generic log-based incremental checkpoints documentation Unaligned checkpoints Buffer debloating Incremental checkpoints `}),e.add({id:83,href:"/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/",title:"Getting into Low-Latency Gears with Apache Flink - Part Two",section:"Flink Blog",content:`This series of blog posts present a collection of low-latency techniques in Flink. In part one, we discussed the types of latency in Flink and the way we mea [...]
 Direct latency optimization # Spread work across time # When you use timers or do windowing in a job, timer or window firing may create load spikes due to heavy computation or state access. If the allocated resources cannot cope with these load spikes, timer or window firing will take a long time to finish. This often results in high latency.
 To avoid this situation, you should change your code to spread out the workload as much as possible such that you do not accumulate too much work to be done at a single point in time. In the case of windowing, you should consider using incremental window aggregation with AggregateFunction or ReduceFunction. In the case of timers in a ProcessFunction, the operations executed in the onTimer() method should be optimized such that the time spent there is reduced to a minimum. If you see late [...]
 You can apply this optimization if you are using timer-based processing (e.g., timers, windowing) and an efficient aggregation can be applied whenever an event arrives instead of waiting for timers to fire.
@@ -1289,7 +1304,7 @@ Process events on arrival # In a stream processing pipeline, there often exists
 You can apply this optimization if your job has a sub-second level latency requirement (e.g., hundreds of milliseconds) and the reduced watermarking interval still contributes a significant part of the latency.
 Keep in mind that this may change your job logic considerably since you have to deal with out-of-order events by yourself.
 Summary # Following part one, this blog post presented a few more latency optimization techniques with a focus on direct latency optimization. In the next part, we will focus on techniques that optimize latency by increasing throughput. Stay tuned!
-`}),e.add({id:83,href:"/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/",title:"Getting into Low-Latency Gears with Apache Flink - Part One",section:"Flink Blog",content:`Apache Flink is a stream processing framework well known for its low latency processing capabilities. It is generic and suitable for a wide range of use cases. As a Flink application developer or a cluster administrator, you need to find the right gear that is best for your application. In other wo [...]
+`}),e.add({id:84,href:"/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/",title:"Getting into Low-Latency Gears with Apache Flink - Part One",section:"Flink Blog",content:`Apache Flink is a stream processing framework well known for its low latency processing capabilities. It is generic and suitable for a wide range of use cases. As a Flink application developer or a cluster administrator, you need to find the right gear that is best for your application. In other wo [...]
 In this multi-part series, we will present a collection of low-latency techniques in Flink. Part one starts with types of latency in Flink and the way we measure the end-to-end latency, followed by a few techniques that optimize latency directly. Part two continues with a few more direct latency optimization techniques. Further parts of this series will cover techniques that improve latencies by optimizing throughput. For each optimization technique, we will clarify what it is, when to u [...]
 This series of blog posts is a write-up of our talk in Flink Forward Global 2021 and includes additional latency optimization techniques and details.
 Latency # Types of latency # Latency can refer to different things. LatencyMarkers in Flink measure the time it takes for the markers to travel from each source operator to each downstream operator. As LatencyMarkers bypass user functions in operators, the measured latencies do not reflect the entire end-to-end latency but only a part of it. Flink also supports tracking the state access latency, which measures the response latency when state is read/written. One can also manually measure [...]
@@ -1314,7 +1329,7 @@ You can apply this optimization if you are aiming for sub-second latencies.
 Keep in mind that network buffer timeout that is too low may reduce throughput.
 As seen in the following experiment results, by using execution.buffer-timeout: 10 ms in WindowingJob, we again reduced the latency (now to 370ms).
 Summary # In part one of this multi-part series, we discussed types of latency in Flink and the way we measure end-to-end latency. Then we presented a few latency optimization techniques with a focus on direct latency optimization. For each technique, we explained what it is, when to use it, and what to keep in mind when using it. Part two will continue with a few more direct latency optimization techniques. Stay tuned!
-`}),e.add({id:84,href:"/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/",title:"Apache Flink Table Store 0.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the preview release of the Apache Flink Table Store (0.1.0).
+`}),e.add({id:85,href:"/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/",title:"Apache Flink Table Store 0.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the preview release of the Apache Flink Table Store (0.1.0).
 Please check out the full documentation for detailed information and user guides.
 Note: Flink Table Store is still in beta status and undergoing rapid development. We do not recommend that you use it directly in a production environment.
 What is Flink Table Store # In the past years, thanks to our numerous contributors and users, Apache Flink has established itself as one of the best distributed computing engines, especially for stateful stream processing at large scale. However, there are still a few challenges people are facing when they try to obtain insights from their data in real-time. Among these challenges, one prominent problem is lack of storage that caters to all the computing patterns.
@@ -1332,7 +1347,7 @@ Release Resources # The source artifacts and binaries are now available on the u
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # The Apache Flink community would like to thank every one of the contributors that have made this release possible:
 Jane Chan, Jiangjie (Becket) Qin, Jingsong Lee, Leonard Xu, Nicholas Jiang, Shen Zhu, tsreaper, Yubin Li
-`}),e.add({id:85,href:"/2022/05/06/exploring-the-thread-mode-in-pyflink/",title:"Exploring the thread mode in PyFlink",section:"Flink Blog",content:`PyFlink was introduced in Flink 1.9 which purpose is to bring the power of Flink to Python users and allow Python users to develop Flink jobs in Python language. The functionality becomes more and more mature through the development in the past releases.
+`}),e.add({id:86,href:"/2022/05/06/exploring-the-thread-mode-in-pyflink/",title:"Exploring the thread mode in PyFlink",section:"Flink Blog",content:`PyFlink was introduced in Flink 1.9 which purpose is to bring the power of Flink to Python users and allow Python users to develop Flink jobs in Python language. The functionality becomes more and more mature through the development in the past releases.
 Before Flink 1.15, Python user-defined functions will be executed in separate Python processes (based on the Apache Beam Portability Framework). It will bring additional serialization/deserialization overhead and also communication overhead. In scenarios where the data size is big, e.g. image processing, etc, this overhead becomes non-negligible. Besides, since it involves inter-process communication, the processing latency is also non-negligible, which is unacceptable in scenarios where [...]
 In Flink 1.15, we have introduced a new execution mode named &rsquo;thread&rsquo; mode (based on PEMJA) where the Python user-defined functions will be executed in the JVM as a thread instead of a separate Python process. In this article, we will dig into the details about this execution mode and also share some benchmark data to give users a basic understanding of how it works and which scenarios it’s applicable for.
 Process Mode # Fig. 1 - PyFlink Architecture Overview From Fig. 1, we can see the architecture of PyFlink. As shown on the left side of Fig.1, users could use PyFlink API(Python Table API &amp; SQL or Python DataStream API) to declare the logic of jobs, which will be finally translated into JobGraph (DAG of the job) which could be recognized by Flink’s execution framework. It should be noted that Python operators (Flink operators whose purpose is to execute Python user-defined functions) [...]
@@ -1374,7 +1389,7 @@ Thread mode can bring better performance than process mode when data serializati
 When the performance of Python UDF is close to that of Java UDF, the end-to-end performance of thread mode will be close to that of Java UDF.
 Summary &amp; Future work # In this article, we have introduced the &rsquo;thread&rsquo; execution mode in PyFlink which is a new feature introduced in Flink 1.15. Compared with the &lsquo;process&rsquo; execution mode, users will get better performance, lower latency, less checkpoint time in &rsquo;thread&rsquo; mode. However, there are also some limitations about &rsquo;thread&rsquo; mode, e.g. poor support for session deployment mode, etc.
 It should be noted that since this is still the first release of &rsquo;thread&rsquo; mode, currently there are still many limitations about it, e.g. it only supports Python ScalarFunction of Python Table API &amp; SQL. We&rsquo;re planning to extend it to other places where Python user-defined functions could be used in next releases.
-`}),e.add({id:86,href:"/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/",title:"Improvements to Flink operations: Snapshots Ownership and Savepoint Formats",section:"Flink Blog",content:`Flink has become a well established data streaming engine and a mature project requires some shifting of priorities from thinking purely about new features towards improving stability and operational simplicity. In the last couple of releases, the Flink community ha [...]
+`}),e.add({id:87,href:"/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/",title:"Improvements to Flink operations: Snapshots Ownership and Savepoint Formats",section:"Flink Blog",content:`Flink has become a well established data streaming engine and a mature project requires some shifting of priorities from thinking purely about new features towards improving stability and operational simplicity. In the last couple of releases, the Flink community ha [...]
 This post will outline the journey of improving snapshotting in past releases and the upcoming improvements in Flink 1.15, which includes making it possible to take savepoints in the native state backend specific format as well as clarifying snapshots ownership.
 Past improvements to the snapshotting process # Flink 1.13 was the first release where we announced unaligned checkpoints to be production-ready. We encouraged people to use them if their jobs are backpressured to a point where it causes issues for checkpoints. We also unified the binary format of savepoints across all different state backends, which enables stateful switching of savepoints.
 Flink 1.14 also brought additional improvements. As an alternative and as a complement to unaligned checkpoints, we introduced a feature called &ldquo;buffer debloating&rdquo;. This is built around the concept of automatically adjusting the amount of in-flight data that needs to be aligned while snapshotting. We also fixed another long-standing problem and made it possible to continue checkpointing even if there are finished tasks in a JobGraph.
@@ -1399,7 +1414,7 @@ You can choose the savepoint format when triggering the savepoint like this:
 Having additional dimensions of properties in each of the two main snapshots category does not make it easier, therefore we try to list what you can achieve with every type of snapshot.
 The following table gives an overview of capabilities and limitations for the various types of savepoints and checkpoints.
 ✓ - Flink fully supports this type of snapshot x - Flink doesn&rsquo;t support this type of snapshot Operation Canonical Savepoint Native Savepoint Aligned Checkpoint Unaligned Checkpoint State backend change ✓ x x x State Processor API(writing) ✓ x x x State Processor API(reading) ✓ ✓ ✓ x Self-contained and relocatable ✓ ✓ x x Schema evolution ✓ ✓ ✓ ✓ Arbitrary job upgrade ✓ ✓ ✓ x Non-arbitrary job upgrade ✓ ✓ ✓ x Flink minor version upgrade ✓ ✓ ✓ x Flink bug/patch version upgrade ✓ ✓ ✓ [...]
-`}),e.add({id:87,href:"/2022/05/05/announcing-the-release-of-apache-flink-1.15/",title:"Announcing the Release of Apache Flink 1.15",section:"Flink Blog",content:`Thanks to our well-organized and open community, Apache Flink continues to grow as a technology and remain one of the most active projects in the Apache community. With the release of Flink 1.15, we are proud to announce a number of exciting changes.
+`}),e.add({id:88,href:"/2022/05/05/announcing-the-release-of-apache-flink-1.15/",title:"Announcing the Release of Apache Flink 1.15",section:"Flink Blog",content:`Thanks to our well-organized and open community, Apache Flink continues to grow as a technology and remain one of the most active projects in the Apache community. With the release of Flink 1.15, we are proud to announce a number of exciting changes.
 One of the main concepts that makes Apache Flink stand out is the unification of batch (aka bounded) and stream (aka unbounded) data processing, which helps reduce the complexity of development. A lot of effort went into this unification in the previous releases, and you can expect more efforts in this direction.
 Apache Flink is not only growing when it comes to contributions and users, but also out of the original use cases. We are seeing a trend towards more business/analytics use cases implemented in low-/no-code. Flink SQL is the feature in the Flink ecosystem that enables such uses cases and this is why its popularity continues to grow.
 Apache Flink is an essential building block in data pipelines/architectures and is used with many other technologies in order to drive all sorts of use cases. While new ideas/products may appear in this domain, existing technologies continue to establish themselves as standards for solving mission-critical problems. Knowing that we have such a wide reach and play a role in the success of many projects, it is important that the experience of integrating Apache Flink with the cloud infrast [...]
@@ -1454,7 +1469,7 @@ Moving forward, the community will continue to focus on making Apache Flink a tr
 Upgrade Notes # While we aim to make upgrades as smooth as possible, some of the changes require users to adjust some parts of the program when upgrading to Apache Flink 1.15. Please take a look at the release notes for a list of applicable adjustments and issues during upgrades. The one big thing worth mentioning when upgrading is the updated dependencies without the Scala version. Get the details here.
 List of Contributors # The Apache Flink community would like to thank each and every one of the contributors that have made this release possible:
 Ada Wong, Ahmed Hamdy, Aitozi, Alexander Fedulov, Alexander Preuß, Alexander Trushev, Ali Bahadir Zeybek, Anton Kalashnikov, Arvid Heise, Bernard Joseph Jean Bruno, Bo Cui, Brian Zhou, Camile, ChangLi, Chengkai Yang, Chesnay Schepler, Daisy T, Danny Cranmer, David Anderson, David Moravek, David N Perkins, Dawid Wysakowicz, Denis-Cosmin Nutiu, Dian Fu, Dong Lin, Eelis Kostiainen, Etienne Chauchot, Fabian Paul, Francesco Guardiani, Gabor Somogyi, Galen Warren, Gao Yun, Gen Luo, GitHub, Gyu [...]
-`}),e.add({id:88,href:"/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/",title:"Apache Flink Kubernetes Operator 0.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the preview release of the Apache Flink Kubernetes Operator (0.1.0)
+`}),e.add({id:89,href:"/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/",title:"Apache Flink Kubernetes Operator 0.1.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce the preview release of the Apache Flink Kubernetes Operator (0.1.0)
 The Flink Kubernetes Operator allows users to easily manage their Flink deployment lifecycle using native Kubernetes tooling.
 The operator takes care of submitting, savepointing, upgrading and generally managing Flink jobs using the built-in Flink Kubernetes integration. This way users do not have to use the Flink Clients (e.g. CLI) or interact with the Flink jobs manually, they only have to declare the desired deployment specification and the operator will take care of the rest. It also make it easier to integrate Flink job management with CI/CD tooling.
 Core Features
@@ -1474,7 +1489,7 @@ $ helm repo add flink-kubernetes-operator-0.1.0 https://archive.apache.org/dist/
 For more details, check the updated documentation and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 List of Contributors # The Apache Flink community would like to thank each and every one of the contributors that have made this release possible:
 Aitozi, Biao Geng, Gyula Fora, Hao Xin, Jaegu Kim, Jaganathan Asokan, Junfan Zhang, Marton Balassi, Matyas Orhidi, Nicholas Jiang, Sandor Kelemen, Thomas Weise, Yang Wang, 愚鲤
-`}),e.add({id:89,href:"/2022/03/16/the-generic-asynchronous-base-sink/",title:"The Generic Asynchronous Base Sink",section:"Flink Blog",content:`Flink sinks share a lot of similar behavior. Most sinks batch records according to user-defined buffering hints, sign requests, write them to the destination, retry unsuccessful or throttled requests, and participate in checkpointing.
+`}),e.add({id:90,href:"/2022/03/16/the-generic-asynchronous-base-sink/",title:"The Generic Asynchronous Base Sink",section:"Flink Blog",content:`Flink sinks share a lot of similar behavior. Most sinks batch records according to user-defined buffering hints, sign requests, write them to the destination, retry unsuccessful or throttled requests, and participate in checkpointing.
 This is why for Flink 1.15 we have decided to create the AsyncSinkBase (FLIP-171), an abstract sink with a number of common functionalities extracted.
 This is a base implementation for asynchronous sinks, which you should use whenever you need to implement a sink that doesn&rsquo;t offer transactional capabilities. Adding support for a new destination now only requires a lightweight shim that implements the specific interfaces of the destination using a client that supports async requests.
 This common abstraction will reduce the effort required to maintain individual sinks that extend from this abstract sink, with bug fixes and improvements to the sink core benefiting all implementations that extend it. The design of AsyncSinkBase focuses on extensibility and a broad support of destinations. The core of the sink is kept generic and free of any connector-specific dependencies.
@@ -1499,11 +1514,11 @@ Metrics # There are three metrics that automatically exist when you implement si
 CurrentSendTime Gauge - returns the amount of time in milliseconds it took for the most recent request to write records to complete, whether successful or not. NumBytesOut Counter - counts the total number of bytes the sink has tried to write to the destination, using the method getSizeInBytes to determine the size of each record. This will double count failures that may need to be retried. NumRecordsOut Counter - similar to above, this counts the total number of records the sink has tri [...]
 int maxBatchSize - maximum number of elements that may be passed in the list to submitRequestEntries to be written downstream. int maxInFlightRequests - maximum number of uncompleted calls to submitRequestEntries that the SinkWriter will allow at any given point. Once this point has reached, writes and callbacks to add elements to the buffer may block until one or more requests to submitRequestEntries completes. int maxBufferedRequests - maximum buffer length. Callbacks to add elements t [...]
 Summary # The AsyncSinkBase is a new abstraction that makes creating and maintaining async sinks easier. This will be available in Flink 1.15 and we hope that you will try it out and give us feedback on it.
-`}),e.add({id:90,href:"/2022/03/11/apache-flink-1.14.4-release-announcement/",title:"Apache Flink 1.14.4 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce another bug fix release for Flink 1.14.
+`}),e.add({id:91,href:"/2022/03/11/apache-flink-1.14.4-release-announcement/",title:"Apache Flink 1.14.4 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce another bug fix release for Flink 1.14.
 This release includes 51 bug and vulnerability fixes and minor improvements for Flink 1.14. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.14.4.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.14.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.14.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.14.4 Release Notes # Sub-task [FLINK-21788] - Throw PartitionNotFoundException if the partition file has been lost for blocking shuffle [FLINK-24954] - Reset read buffer request timeout on buffer recycling for sort-shuffle [FLINK-25653] - Move buffer recycle in SortMergeSubpartitionReader out of lock to avoid deadlock [FLINK-25654] - Remove the redundant lock in SortMergeResultPartition [ [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.14.4 Release Notes # Sub-task [FLINK-21788] - Throw PartitionNotFoundException if the partition file has been lost for blocking shuffle [FLINK-24954] - Reset read buffer request timeout on buffer recycling for sort-shuffle [FLINK-25653] - Move buffer recycle in SortMergeSubpartitionReader out of lock to avoid deadlock [FLINK-25654] - Remove the redundant lock in SortMergeResultPartition [ [...]
 Fig.1 Flink 1.15 Scala 3 Example This blog will discuss what has historically made supporting multiple Scala versions so complex, how we achieved this milestone, and the future of Scala in Apache Flink.
 TLDR: All Scala dependencies are now isolated to the flink-scala jar. To remove Scala from the user-code classpath, remove this jar from the lib directory of the Flink distribution. $ rm flink-dist/lib/flink-scala* The Classpath and Scala # If you have worked with a JVM-based application, you have probably heard the term classpath. The classpath defines where the JVM will search for a given classfile when it needs to be loaded. There may only be one instance of a classfile on each classp [...]
 The Apache Flink runtime is primarily written in Java but contains critical components that forced Scala on the default classpath. And because Scala does not maintain binary compatibility across minor releases, this historically required cross-building components for all versions of Scala. But due to many reasons - breaking changes in the compiler, a new standard library, and a reworked macro system - this was easier said than done.
@@ -1522,11 +1537,11 @@ https://nightlies.apache.org/flink/flink-docs-master/docs/dev/configuration/adva
 https://github.com/ariskk/flink4s&#160;&#x21a9;&#xfe0e;
 https://github.com/findify/flink-adt&#160;&#x21a9;&#xfe0e;
 https://github.com/sjwiesman/flink-scala-3&#160;&#x21a9;&#xfe0e;
-`}),e.add({id:92,href:"/2022/02/18/apache-flink-1.13.6-release-announcement/",title:"Apache Flink 1.13.6 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce another bug fix release for Flink 1.13.
+`}),e.add({id:93,href:"/2022/02/18/apache-flink-1.13.6-release-announcement/",title:"Apache Flink 1.13.6 Release Announcement",section:"Flink Blog",content:`The Apache Flink Community is pleased to announce another bug fix release for Flink 1.13.
 This release includes 99 bug and vulnerability fixes and minor improvements for Flink 1.13 including another upgrade of Apache Log4j (to 2.17.1). Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.13.6.
 Release Artifacts # Maven Dependencies # &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.13.6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.13.6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink [...]
-Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.13.6 Release Notes # Bug [FLINK-15987] - SELECT 1.0e0 / 0.0e0 throws NumberFormatException [FLINK-17914] - HistoryServer deletes cached archives if archive listing fails [FLINK-20195] - Jobs endpoint returns duplicated jobs [FLINK-20370] - Result is wrong when sink primary key is not the same with query [FLINK-21289] - Application mode ignores the pipeline.classpaths configuration [FLINK- [...]
+Docker Images # library/flink (official images) apache/flink (ASF repository) PyPi # apache-flink==1.13.6 Release Notes # Bug [FLINK-15987] - SELECT 1.0e0 / 0.0e0 throws NumberFormatException [FLINK-17914] - HistoryServer deletes cached archives if archive listing fails [FLINK-20195] - Jobs endpoint returns duplicated jobs [FLINK-20370] - Result is wrong when sink primary key is not the same with query [FLINK-21289] - Application mode ignores the pipeline.classpaths configuration [FLINK- [...]
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Java SDK, Python SDK,, GoLang SDK and JavaScript SDK distributions are available on Maven, PyPI, Github, and npm respectively. You can also find official StateFun Docker images of the new version on Dockerhub.
 For more details, check the complete release changelog and the updated documentation. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA!
 New Features # A brand new JavaScript SDK for NodeJS # Stateful Functions provides a unified model for building stateful applications across various programming languages and deployment environments. The community is thrilled to release an official JavaScript SDK as part of the 3.2.0 release.
@@ -1542,7 +1557,7 @@ Upgraded Flink dependency to 1.14.3 # Stateful Functions 3.2.0 runtime uses Flin
 Release Notes # Please review the release notes for a detailed list of changes and new features if you plan to upgrade your setup to Stateful Functions 3.2.0.
 List of Contributors # Seth Wiesman, Igal Shilman, Till Rohrmann, Stephan Ewen, Tzu-Li (Gordon) Tai, Ingo Bürk, Evans Ye, neoXfire, Galen Warren
 If you’d like to get involved, we’re always looking for new contributors.
-`}),e.add({id:94,href:"/2022/01/20/pravega-flink-connector-101/",title:"Pravega Flink Connector 101",section:"Flink Blog",content:`Pravega, which is now a CNCF sandbox project, is a cloud-native storage system based on abstractions for both batch and streaming data consumption. Pravega streams (a new storage abstraction) are durable, consistent, and elastic, while natively supporting long-term data retention. In comparison, Apache Flink is a popular real-time computing engine that provid [...]
+`}),e.add({id:95,href:"/2022/01/20/pravega-flink-connector-101/",title:"Pravega Flink Connector 101",section:"Flink Blog",content:`Pravega, which is now a CNCF sandbox project, is a cloud-native storage system based on abstractions for both batch and streaming data consumption. Pravega streams (a new storage abstraction) are durable, consistent, and elastic, while natively supporting long-term data retention. In comparison, Apache Flink is a popular real-time computing engine that provid [...]
 That&rsquo;s also the main reason why Pravega has chosen to use Flink as the first integrated execution engine among the various distributed computing engines on the market. With the help of Flink, users can use flexible APIs for windowing, complex event processing (CEP), or table abstractions to process streaming data easily and enrich the data being stored. Since its inception in 2016, Pravega has established communication with Flink PMC members and developed the connector together.
 In 2017, the Pravega Flink connector module started to move out of the Pravega main repository and has been maintained in a new separate repository since then. During years of development, many features have been implemented, including:
 exactly-once processing guarantees for both Reader and Writer, supporting end-to-end exactly-once processing pipelines seamless integration with Flink&rsquo;s checkpoints and savepoints parallel Readers and Writers supporting high throughput and low latency processing support for Batch, Streaming, and Table API to access Pravega Streams These key features make streaming pipeline applications easier to develop without worrying about performance and correctness which are the common pain po [...]
@@ -1583,12 +1598,12 @@ Summary # The Pravega Flink connector enables Pravega to connect to Flink and al
 Future plans # FlinkPravegaInputFormat and FlinkPravegaOutputFormat are now provided to support batch reads and writes in Flink, but these are under the legacy DataSet API. Since Flink is now making efforts to unify batch and streaming, it is improving its APIs and providing new interfaces for the source and sink APIs in the Flink 1.11 and 1.12 releases. We will continue to work with the Flink community and integrate with the new APIs.
 We will also put more effort into SQL / Table API support in order to provide a better user experience since it is simpler to understand and even more powerful to use in some cases.
 Note: the original blog post can be found here.
-`}),e.add({id:95,href:"/2022/01/17/apache-flink-1.14.3-release-announcement/",title:"Apache Flink 1.14.3 Release Announcement",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.14 series. The first bugfix release was 1.14.2, being an emergency release due to an Apache Log4j Zero Day (CVE-2021-44228). Flink 1.14.1 was abandoned. That means that this Flink release is the first bugfix release of the Flink 1.14 series which cont [...]
+`}),e.add({id:96,href:"/2022/01/17/apache-flink-1.14.3-release-announcement/",title:"Apache Flink 1.14.3 Release Announcement",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.14 series. The first bugfix release was 1.14.2, being an emergency release due to an Apache Log4j Zero Day (CVE-2021-44228). Flink 1.14.1 was abandoned. That means that this Flink release is the first bugfix release of the Flink 1.14 series which cont [...]
 This release includes 164 fixes and minor improvements for Flink 1.14.0. The list below includes bugfixes and improvements. For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.14.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.14.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.14.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
-Release Notes - Flink - Version 1.14.3 Sub-task [FLINK-24355] - Expose the flag for enabling checkpoints after tasks finish in the Web UI Bug [FLINK-15987] - SELECT 1.0e0 / 0.0e0 throws NumberFormatException [FLINK-17914] - HistoryServer deletes cached archives if archive listing fails [FLINK-19142] - Local recovery can be broken if slot hijacking happened during a full restart [FLINK-20195] - Jobs endpoint returns duplicated jobs [FLINK-20370] - Result is wrong when sink primary key is  [...]
+Release Notes - Flink - Version 1.14.3 Sub-task [FLINK-24355] - Expose the flag for enabling checkpoints after tasks finish in the Web UI Bug [FLINK-15987] - SELECT 1.0e0 / 0.0e0 throws NumberFormatException [FLINK-17914] - HistoryServer deletes cached archives if archive listing fails [FLINK-19142] - Local recovery can be broken if slot hijacking happened during a full restart [FLINK-20195] - Jobs endpoint returns duplicated jobs [FLINK-20370] - Result is wrong when sink primary key is  [...]
 This release involves a major refactor of the earlier Flink ML library and introduces major features that extend the Flink ML API and the iteration runtime, such as supporting stages with multi-input multi-output, graph-based stage composition, and a new stream-batch unified iteration library. Moreover, we added five algorithm implementations in this release, which is the start of a long-term initiative to provide a large number of off-the-shelf algorithms in Flink ML with state-of-the-a [...]
 We believe this release is an important step towards extending Apache Flink to a wide range of machine learning use cases, especially the real-time machine learning scenarios.
 We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
@@ -1630,14 +1645,14 @@ Release Notes and Resources # Please take a look at the release notes for a deta
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent distribution of Flink ML Python package is available on PyPI.
 List of Contributors # The Apache Flink community would like to thank each one of the contributors that have made this release possible:
 Yun Gao, Dong Lin, Zhipeng Zhang, huangxingbo, Yunfeng Zhou, Jiangjie (Becket) Qin, weibo, abdelrahman-ik.
-`}),e.add({id:97,href:"/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/",title:"How We Improved Scheduler Performance for Large-scale Jobs - Part One",section:"Flink Blog",content:` Introduction # When scheduling large-scale jobs in Flink 1.12, a lot of time is required to initialize jobs and deploy tasks. The scheduler also requires a large amount of heap memory in order to store the execution topology and host temporary deployment descriptors. For exampl [...]
+`}),e.add({id:98,href:"/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/",title:"How We Improved Scheduler Performance for Large-scale Jobs - Part One",section:"Flink Blog",content:` Introduction # When scheduling large-scale jobs in Flink 1.12, a lot of time is required to initialize jobs and deploy tasks. The scheduler also requires a large amount of heap memory in order to store the execution topology and host temporary deployment descriptors. For exampl [...]
 Furthermore, task deployment may block the JobManager&rsquo;s main thread for a long time and the JobManager will not be able to respond to any other requests from TaskManagers. This could lead to heartbeat timeouts that trigger a failover. In the worst case, this will render the Flink cluster unusable because it cannot deploy the job.
 To improve the performance of the scheduler for large-scale jobs, we&rsquo;ve implemented several optimizations in Flink 1.13 and 1.14:
 Introduce the concept of consuming groups to optimize procedures related to the complexity of topologies, including the initialization, scheduling, failover, and partition release. This also reduces the memory required to store the topology; Introduce a cache to optimize task deployment, which makes the process faster and requires less memory; Leverage characteristics of the logical topology and the scheduling topology to speed up the building of pipelined regions. Benchmarking Results # [...]
 Table 1 - The comparison of time cost between Flink 1.12 and 1.14 Procedure 1.12 1.14 Reduction(%) Job Initialization 11,431ms 627ms 94.51% Task Deployment 63,118ms 17,183ms 72.78% Computing tasks to restart when failover 37,195ms 170ms 99.55% In addition to quicker speeds, the memory usage is significantly reduced. It requires 30 GiB heap memory for a JobManager to deploy the test job and keep it running stably with Flink 1.12, while the minimum heap memory required by the JobManager wi [...]
 In our experiment, it took more than 4 minutes for the large-scale job with Flink 1.12 to transition to running (excluding the time spent on allocating resources). With Flink 1.14, it took no more than 30 seconds (excluding the time spent on allocating resources). The time cost is reduced by 87%. Thus, for users who are running large-scale jobs for production and want better scheduling performance, please consider upgrading Flink to 1.14.
 In part two of this blog post, we are going to talk about these improvements in detail.
-`}),e.add({id:98,href:"/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/",title:"How We Improved Scheduler Performance for Large-scale Jobs - Part Two",section:"Flink Blog",content:`Part one of this blog post briefly introduced the optimizations we’ve made to improve the performance of the scheduler; compared to Flink 1.12, the time cost and memory usage of scheduling large-scale jobs in Flink 1.14 is significantly reduced. In part two, we will elaborate on [...]
+`}),e.add({id:99,href:"/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/",title:"How We Improved Scheduler Performance for Large-scale Jobs - Part Two",section:"Flink Blog",content:`Part one of this blog post briefly introduced the optimizations we’ve made to improve the performance of the scheduler; compared to Flink 1.12, the time cost and memory usage of scheduling large-scale jobs in Flink 1.14 is significantly reduced. In part two, we will elaborate on [...]
 Reducing complexity with groups # A distribution pattern describes how consumer tasks are connected to producer tasks. Currently, there are two distribution patterns in Flink: pointwise and all-to-all. When the distribution pattern is pointwise between two vertices, the computational complexity of traversing all edges is O(n). When the distribution pattern is all-to-all, the complexity of traversing all edges is O(n2), which means that complexity increases rapidly when the scale goes up.
 Fig. 1 - Two distribution patterns in Flink In Flink 1.12, the ExecutionEdge class is used to store the information of connections between tasks. This means that for the all-to-all distribution pattern, there would be O(n2) ExecutionEdges, which would take up a lot of memory for large-scale jobs. For two JobVertices connected with an all-to-all edge and a parallelism of 10K, it would take more than 4 GiB memory to store 100M ExecutionEdges. Since there can be multiple all-to-all connecti [...]
 As we can see in Fig. 1, for two JobVertices connected with the all-to-all distribution pattern, all IntermediateResultPartitions produced by upstream ExecutionVertices are isomorphic, which means that the downstream ExecutionVertices they connect to are exactly the same. The downstream ExecutionVertices belonging to the same JobVertex are also isomorphic, as the upstream IntermediateResultPartitions they connect to are the same too. Since every JobEdge has exactly one distribution type, [...]
@@ -1667,22 +1682,22 @@ If there are any all-to-all distribution patterns inside the region, the entire
 If there are only pointwise distribution patterns inside a region, Tarjan&rsquo;s strongly connected components algorithm is still used to ensure no cyclic dependencies. Since there are only pointwise distribution patterns, the number of edges in the topology is O(n), and the computational complexity of the algorithm will be O(n).
 Fig. 6 - How to convert a LogicalPipelinedRegion to ScheduledPipelinedRegions After the optimization, the overall computational complexity of building pipelined regions decreases from O(n2) to O(n). In our experiments, for the job which contains two vertices connected with a blocking all-to-all edge, when their parallelisms are both 10K, the time of building pipelined regions decreases by 99%, from 8,257 ms to 120 ms.
 Summary # All in all, we&rsquo;ve done several optimizations to improve the scheduler’s performance for large-scale jobs in Flink 1.13 and 1.14. The optimizations involve procedures including job initialization, scheduling, task deployment, and failover. If you have any questions about them, please feel free to start a discussion in the dev mail list.
-`}),e.add({id:99,href:"/2021/12/22/apache-flink-statefun-log4j-emergency-release/",title:"Apache Flink StateFun Log4j emergency release",section:"Flink Blog",content:`The Apache Flink community has released an emergency bugfix version of Apache Flink Stateful Function 3.1.1.
+`}),e.add({id:100,href:"/2021/12/22/apache-flink-statefun-log4j-emergency-release/",title:"Apache Flink StateFun Log4j emergency release",section:"Flink Blog",content:`The Apache Flink community has released an emergency bugfix version of Apache Flink Stateful Function 3.1.1.
 This release include a version upgrade of Apache Flink to 1.13.5, for log4j to address CVE-2021-44228 and CVE-2021-45046.
 We highly recommend all users to upgrade to the latest patch release.
 You can find the source and binaries on the updated Downloads page, and Docker images in the apache/flink-statefun dockerhub repository.
-`}),e.add({id:100,href:"/2021/12/16/apache-flink-log4j-emergency-releases/",title:"Apache Flink Log4j emergency releases",section:"Flink Blog",content:`The Apache Flink community has released emergency bugfix versions of Apache Flink for the 1.11, 1.12, 1.13 and 1.14 series.
+`}),e.add({id:101,href:"/2021/12/16/apache-flink-log4j-emergency-releases/",title:"Apache Flink Log4j emergency releases",section:"Flink Blog",content:`The Apache Flink community has released emergency bugfix versions of Apache Flink for the 1.11, 1.12, 1.13 and 1.14 series.
 These releases only include a version upgrade for Log4j to address CVE-2021-44228 and CVE-2021-45046.
 We highly recommend all users to upgrade to the respective patch release.
 You can find the source and binaries on the updated Downloads page, and Docker images in the apache/flink dockerhub repository.
 We are publishing this announcement earlier than usual to give users access to the updated source/binary releases as soon as possible. As a result of that certain artifacts are not yet available:
 Maven artifacts are currently being synced to Maven central and will become available over the next 24 hours. The 1.11.6/1.12.7 Python binaries will be published at a later date. This post will be continously updated to reflect the latest state.
 The newly released versions are: 1.14.2 1.13.5 1.12.7 1.11.6 To clarify and avoid confusion: The 1.14.1 / 1.13.4 / 1.12.6 / 1.11.5 releases, which were supposed to only contain a Log4j upgrade to 2.15.0, were skipped because CVE-2021-45046 was discovered during the release publication. Some artifacts were published to Maven Central, but no source/binary releases nor Docker images are available for those versions.
-`}),e.add({id:101,href:"/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/",title:"Advise on Apache Log4j Zero Day (CVE-2021-44228)",section:"Flink Blog",content:` Please see [this](/news/2021/12/16/log4j-patch-releases) for our updated recommendation regarding this CVE. Yesterday, a new Zero Day for Apache Log4j was reported. It is by now tracked under CVE-2021-44228.
+`}),e.add({id:102,href:"/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/",title:"Advise on Apache Log4j Zero Day (CVE-2021-44228)",section:"Flink Blog",content:` Please see [this](/news/2021/12/16/log4j-patch-releases) for our updated recommendation regarding this CVE. Yesterday, a new Zero Day for Apache Log4j was reported. It is by now tracked under CVE-2021-44228.
 Apache Flink is bundling a version of Log4j that is affected by this vulnerability. We recommend users to follow the advisory of the Apache Log4j Community. For Apache Flink this currently translates to setting the following property in your flink-conf.yaml:
 env.java.opts: -Dlog4j2.formatMsgNoLookups=true If you are already setting env.java.opts.jobmanager, env.java.opts.taskmanager, env.java.opts.client, or env.java.opts.historyserver you should instead add the system change to those existing parameter lists.
 As soon as Log4j has been upgraded to 2.15.0 in Apache Flink, this is not necessary anymore. This effort is tracked in FLINK-25240. It will be included in Flink 1.15.0, Flink 1.14.1 and Flink 1.13.3. We expect Flink 1.14.1 to be released in the next 1-2 weeks. The other releases will follow in their regular cadence.
-`}),e.add({id:102,href:"/2021/11/03/flink-backward-the-apache-flink-retrospective/",title:"Flink Backward - The Apache Flink Retrospective",section:"Flink Blog",content:`It has now been a month since the community released Apache Flink 1.14 into the wild. We had a comprehensive look at the enhancements, additions, and fixups in the release announcement blog post, and now we will look at the development cycle from a different angle. Based on feedback collected from contributors involved i [...]
+`}),e.add({id:103,href:"/2021/11/03/flink-backward-the-apache-flink-retrospective/",title:"Flink Backward - The Apache Flink Retrospective",section:"Flink Blog",content:`It has now been a month since the community released Apache Flink 1.14 into the wild. We had a comprehensive look at the enhancements, additions, and fixups in the release announcement blog post, and now we will look at the development cycle from a different angle. Based on feedback collected from contributors involved i [...]
 A retrospective on the release cycle # From the team, we collected emotions that have been attributed to points in time of the 1.14 release cycle:
 The overall sentiment seems to be quite good. A ship crushed a robot two times, someone felt sick towards the end, an octopus causing negative emotions appeared in June&hellip;
 We looked at the origin of these emotions and analyzed what went well and what could be improved. We also incorporated some feedback gathered from the community.
@@ -1707,7 +1722,7 @@ With FLINK-2491, we closed the third most watched issue in the Apache Flink Jira
 :heart:
 An open source community is more than just working on software. Apache Flink is the perfect example of software that is collaborated on in all parts of the world. The active mailing list, the discussions on FLIPs, and the interactions on Jira tickets all document how people work together to build something great. We should never forget that.
 In the meantime, the community is already working towards Apache Flink 1.15. If you would like to become a contributor, please reach out via the dev mailing list. We are happy to help you find a ticket to get started on.
-`}),e.add({id:103,href:"/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/",title:"Sort-Based Blocking Shuffle Implementation in Flink - Part One",section:"Flink Blog",content:`Part one of this blog post will explain the motivation behind introducing sort-based blocking shuffle, present benchmark results, and provide guidelines on how to use this new feature.
+`}),e.add({id:104,href:"/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/",title:"Sort-Based Blocking Shuffle Implementation in Flink - Part One",section:"Flink Blog",content:`Part one of this blog post will explain the motivation behind introducing sort-based blocking shuffle, present benchmark results, and provide guidelines on how to use this new feature.
 How data gets passed around between operators # Data shuffling is an important stage in batch processing applications and describes how data is sent from one operator to the next. In this phase, output data of the upstream operator will spill over to persistent storages like disk, then the downstream operator will read the corresponding data and process it. Blocking shuffle means that intermediate results from operator A are not sent immediately to operator B until operator A has complet [...]
 The hash-based and sort-based blocking shuffle are two main blocking shuffle implementations widely adopted by existing distributed data processing frameworks:
 Hash-Based Approach: The core idea behind the hash-based approach is to write data consumed by different consumer tasks to different files and each file can then serve as a natural boundary for the partitioned data. Sort-Based Approach: The core idea behind the sort-based approach is to write all the produced data together first and then leverage sorting to cluster data belonging to different data partitions or even keys. The sort-based blocking shuffle was introduced in Flink 1.12 and f [...]
@@ -1726,7 +1741,7 @@ taskmanager.memory.framework.off-heap.batch-shuffle.size: This configuration def
 For more information about blocking shuffle in Flink, please refer to the official documentation.
 Note: From the optimization mechanism in part two, we can see that the IO scheduling relies on the concurrent data read requests of the downstream consumer tasks for more sequential reads. As a result, if the downstream consumer task is running one by one (for example, because of limited resources), the advantage brought by IO scheduling disappears, which can influence performance. We may further optimize this scenario in future versions.
 What&rsquo;s next? # For details on the design and implementation of this feature, please refer to the second part of this blog!
-`}),e.add({id:104,href:"/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/",title:"Sort-Based Blocking Shuffle Implementation in Flink - Part Two",section:"Flink Blog",content:`Part one of this blog post explained the motivation behind introducing sort-based blocking shuffle, presented benchmark results, and provided guidelines on how to use this new feature.
+`}),e.add({id:105,href:"/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/",title:"Sort-Based Blocking Shuffle Implementation in Flink - Part Two",section:"Flink Blog",content:`Part one of this blog post explained the motivation behind introducing sort-based blocking shuffle, presented benchmark results, and provided guidelines on how to use this new feature.
 Like sort-merge shuffle implemented by other distributed data processing frameworks, the whole sort-based shuffle process in Flink consists of several important stages, including collecting data in memory, sorting the collected data in memory, spilling the sorted data to files, and reading the shuffle data from these spilled files. However, Flink’s implementation has some core differences, including the multiple data region file structure, the removal of file merge, and IO scheduling.
 In part two of this blog post, we will give you insight into some core design considerations and implementation details of the sort-based blocking shuffle in Flink and list several ideas for future improvement.
 Design considerations # There are several core objectives we want to achieve for the new sort-based blocking shuffle to be implemented Flink:
@@ -1754,7 +1769,7 @@ Future improvements # TCP Connection Reuse: This improvement is also useful for
 Multi-Disks Load Balance: Multi-Disks Load Balance: In production environments, there are usually multiple disks per node, better load balance can lead to better performance, the relevant issues are FLINK-21790 and FLINK-21789.
 External/Remote Shuffle Service: Implementing an external/remote shuffle service can further improve the shuffle io performance because as a centralized service, it can collect more information leading to more optimized decisions. For example, further merging of data to the same downstream task, better node-level load balance, handling of stragglers, shared resources and so on. There are several relevant issues: FLINK-13247, FLINK-22672, FLINK-19551 and FLINK-10653.
 Enable the Choice of SSD/HDD: In production environments, there are usually both SSD and HDD storage. Some jobs may prefer SSD for the faster speed, some jobs may prefer HDD for larger space and cheaper price. Enabling the choice of SSD/HDD can improve the usability of Flink’s blocking shuffle.
-`}),e.add({id:105,href:"/2021/10/19/apache-flink-1.13.3-released/",title:"Apache Flink 1.13.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.13 series.
+`}),e.add({id:106,href:"/2021/10/19/apache-flink-1.13.3-released/",title:"Apache Flink 1.13.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.13 series.
 This release includes 136 fixes and minor improvements for Flink 1.13.2. The list below includes bugfixes and improvements. For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.13.3.
 Updated Maven dependencies:
@@ -1765,7 +1780,7 @@ Table API &lsquo;Primary Key&rsquo; feature was not working correctly (FLINK-238
 Clarify SourceFunction#cancel() contract about interrupting (FLINK-23527) # The contract of the SourceFunction#cancel() method with respect to interruptions has been clarified:
 The source itself shouldn&rsquo;t interrupt the source thread. The source can expect to not be interrupted during a clean cancellation procedure. taskmanager.slot.timeout falls back to akka.ask.timeout (FLINK-22002) # The config option taskmanager.slot.timeout falls now back to akka.ask.timeout if no value has been configured.
 Increase akka.ask.timeout for tests using the MiniCluster (FLINK-23906) # The default akka.ask.timeout used by the MiniCluster has been increased to 5 minutes. If you want to use a smaller value, then you have to set it explicitly in the passed configuration. The change is due to the fact that messages cannot get lost in a single-process minicluster, so this timeout (which otherwise helps to detect message loss in distributed setups) has no benefit here. The increased timeout reduces the [...]
-`}),e.add({id:106,href:"/2021/09/29/apache-flink-1.14.0-release-announcement/",title:"Apache Flink 1.14.0 Release Announcement",section:"Flink Blog",content:`The Apache Software Foundation recently released its annual report and Apache Flink once again made it on the list of the top 5 most active projects! This remarkable activity also shows in the new 1.14.0 release. Once again, more than 200 contributors worked on over 1,000 issues. We are proud of how this community is consistently mo [...]
+`}),e.add({id:107,href:"/2021/09/29/apache-flink-1.14.0-release-announcement/",title:"Apache Flink 1.14.0 Release Announcement",section:"Flink Blog",content:`The Apache Software Foundation recently released its annual report and Apache Flink once again made it on the list of the top 5 most active projects! This remarkable activity also shows in the new 1.14.0 release. Once again, more than 200 contributors worked on over 1,000 issues. We are proud of how this community is consistently mo [...]
 This release brings many new features and improvements in areas such as the SQL API, more connector support, checkpointing, and PyFlink. A major area of changes in this release is the integrated streaming &amp; batch experience. We believe that, in practice, unbounded stream processing goes hand-in-hand with bounded- and batch processing tasks, because many use cases require processing historic data from various sources alongside streaming data. Examples are data exploration when develop [...]
 In Flink 1.14, we finally made it possible to mix bounded and unbounded streams in an application: Flink now supports taking checkpoints of applications that are partially running and partially finished (some operators reached the end of the bounded inputs). Additionally, bounded streams now take a final checkpoint when reaching their end to ensure smooth committing of results in sinks.
 The batch execution mode now supports programs that use a mixture of the DataStream API and the SQL/Table API (previously only pure Table/SQL or DataStream programs).
@@ -1819,7 +1834,7 @@ The active integration with Apache Mesos was also removed, because we saw little
 Upgrade Notes # While we aim to make upgrades as smooth as possible, some of the changes require users to adjust some parts of the program when upgrading to Apache Flink 1.14. Please take a look at the release notes for a list of adjustments to make and issues to check during upgrades.
 List of Contributors # The Apache Flink community would like to thank each one of the contributors that have made this release possible:
 adavis9592, Ada Wong, aidenma, Aitozi, Ankush Khanna, anton, Anton Kalashnikov, Arvid Heise, Ashwin Kolhatkar, Authuir, bgeng777, Brian Zhou, camile.sing, caoyingjie, Cemre Mengu, chennuo, Chesnay Schepler, chuixue, CodeCooker17, comsir, Daisy T, Danny Cranmer, David Anderson, David Moravek, Dawid Wysakowicz, dbgp2021, Dian Fu, Dong Lin, Edmondsky, Elphas Toringepi, Emre Kartoglu, ericliuk, Eron Wright, est08zw, Etienne Chauchot, Fabian Paul, fangliang, fangyue1, fengli, Francesco Guardi [...]
-`}),e.add({id:107,href:"/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/",title:"Implementing a Custom Source Connector for Table API and SQL - Part One ",section:"Flink Blog",content:`Part one of this tutorial will teach you how to build and run a custom source connector to be used with Table API and SQL, two high-level abstractions in Flink. The tutorial comes with a bundled docker-compose setup that lets you easily run the connector. You can then try  [...]
+`}),e.add({id:108,href:"/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/",title:"Implementing a Custom Source Connector for Table API and SQL - Part One ",section:"Flink Blog",content:`Part one of this tutorial will teach you how to build and run a custom source connector to be used with Table API and SQL, two high-level abstractions in Flink. The tutorial comes with a bundled docker-compose setup that lets you easily run the connector. You can then try  [...]
 Introduction # Apache Flink is a data processing engine that aims to keep state locally in order to do computations efficiently. However, Flink does not &ldquo;own&rdquo; the data but relies on external systems to ingest and persist data. Connecting to external data input (sources) and external data storage (sinks) is usually summarized under the term connectors in Flink.
 Since connectors are such important components, Flink ships with connectors for some popular systems. But sometimes you may need to read in an uncommon data format and what Flink provides is not enough. This is why Flink also provides extension points for building custom connectors if you want to connect to a system that is not supported by an existing connector.
 Once you have a source and a sink defined for Flink, you can use its declarative APIs (in the form of the Table API and SQL) to execute queries for data analysis.
@@ -1861,7 +1876,7 @@ You should be able to see the static data you provided in your source connector
 Now that you have a working connector, the next step is to make it do something more useful than returning static data.
 Summary # In this tutorial, you looked into the infrastructure required for a connector and configured its runtime implementation to define how it should be executed in a cluster. You also defined a dynamic table source that reads the entire stream-converted table from the external source, made the connector discoverable by Flink through creating a factory class for it, and then tested it.
 Next Steps # In part two, you will integrate this connector with an email inbox through the IMAP protocol.
-`}),e.add({id:108,href:"/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/",title:"Implementing a custom source connector for Table API and SQL - Part Two ",section:"Flink Blog",content:`In part one of this tutorial, you learned how to build a custom source connector for Flink. In part two, you will learn how to integrate the connector with a test email inbox through the IMAP protocol and filter out emails using Flink SQL.
+`}),e.add({id:109,href:"/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/",title:"Implementing a custom source connector for Table API and SQL - Part Two ",section:"Flink Blog",content:`In part one of this tutorial, you learned how to build a custom source connector for Flink. In part two, you will learn how to integrate the connector with a test email inbox through the IMAP protocol and filter out emails using Flink SQL.
 Goals # Part two of the tutorial will teach you how to:
 integrate a source connector which connects to a mailbox using the IMAP protocol use Jakarta Mail, a Java library that can send and receive email via the IMAP protocol write Flink SQL and execute the queries in the Ververica Platform for a nicer visualization You are encouraged to follow along with the code in this repository. It provides a boilerplate project that also comes with a bundled docker-compose setup that lets you easily run the connector. You can then try it out with Flink’s  [...]
 Prerequisites # This tutorial assumes that you have:
@@ -1900,7 +1915,7 @@ First, head to SQL → Connectors. There you can create a new connector by uploa
 Ververica Platform - SQL Editor
 Summary # Apache Flink is designed for easy extensibility and allows users to access many different external systems as data sources or sinks through a versatile set of connectors. It can read and write data from databases, local and distributed file systems.
 Flink also exposes APIs on top of which custom connectors can be built. In this two-part blog series, you explored some of these APIs and concepts and learned how to implement your own custom source connector that can read in data from an email inbox. You then used Flink to process incoming emails through the IMAP protocol and wrote some Flink SQL.
-`}),e.add({id:109,href:"/2021/08/31/stateful-functions-3.1.0-release-announcement/",title:"Stateful Functions 3.1.0 Release Announcement",section:"Flink Blog",content:`Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications. This new release brings various improvements to the StateFun runtime, a leaner way to specify StateFun module components, and a brand [...]
+`}),e.add({id:110,href:"/2021/08/31/stateful-functions-3.1.0-release-announcement/",title:"Stateful Functions 3.1.0 Release Announcement",section:"Flink Blog",content:`Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications. This new release brings various improvements to the StateFun runtime, a leaner way to specify StateFun module components, and a brand [...]
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Java SDK, Python SDK, and GoLang SDK distributions are available on Maven, PyPI, and Github repecitvely. You can also find official StateFun Docker images of the new version on Dockerhub.
 For more details, check the complete release changelog and the updated documentation. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA!
 New Features # Delayed Message Cancellation # Stateful Functions communicate by sending messages, but sometimes it is helpful that a function will send a message for itself. For example, you may want to set a time limit on a customer onboarding flow to complete. This can easily be implmented by sending a message with a delay. But up until now, there was no way to indicate to the StateFun runtime that a particular delayed message is not necessary anymore (a customer had completed their on [...]
@@ -1922,30 +1937,30 @@ For a detailed SDK tutorial, we would like to encourage you to visit:
 GoLang SDK Showcase GoLang Greeter GoLang SDK Documentation Release Notes # Release Notes # Please review the release notes for a detailed list of changes and new features if you plan to upgrade your setup to Stateful Functions 3.1.0.
 List of Contributors # Evans Ye, George Birbilis, Igal Shilman, Konstantin Knauf, Seth Wiesman, Siddique Ahmad, Tzu-Li (Gordon) Tai, ariskk, austin ce
 If you’d like to get involved, we’re always looking for new contributors.
-`}),e.add({id:110,href:"/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/",title:"Help us stabilize Apache Flink 1.14.0 RC0",section:"Flink Blog",content:` Hint Update 29th of September: Today Apache Flink 1.14 has been released. For sure we'd still like to hear your feedback. Dear Flink Community,
+`}),e.add({id:111,href:"/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/",title:"Help us stabilize Apache Flink 1.14.0 RC0",section:"Flink Blog",content:` Hint Update 29th of September: Today Apache Flink 1.14 has been released. For sure we'd still like to hear your feedback. Dear Flink Community,
 we are excited to announce the first release candidate of Apache Flink 1.14. 🎉
 A lot of features and fixes went into this release, including improvements to the unified batch and streaming experience, an increase in fault tolerance by reducing in-flight data, and more developments on connectors and components. It wouldn&rsquo;t have been possible without your help. Around 211 people have made contributions!
 Two weeks ago (August 16th) we created a feature freeze. This means that only a few small, almost-ready features will go into the release from this moment on. We are now in the process of stabilizing the release and need your help! As you can see on the 1.14 release coordination page, a lot of focus is on documentation and testing.
 If you would like to contribute to the squirrel community, a great way would be to download the release candidate and test it. You can run some existing Flink jobs or pick one of the test issues. We would greatly appreciate any feedback you can provide on the JIRA tickets or on the mailing list.
 We continue to be grateful and inspired by the community who believe in the project and want to help create a great user experience and product for all Flink users.
 Many thanks!
-`}),e.add({id:111,href:"/2021/08/09/apache-flink-1.11.4-released/",title:"Apache Flink 1.11.4 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.11 series.
+`}),e.add({id:112,href:"/2021/08/09/apache-flink-1.11.4-released/",title:"Apache Flink 1.11.4 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.11 series.
 This release includes 78 fixes and minor improvements for Flink 1.11.4. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.11.4.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.11.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.11.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
-Release Notes - Flink - Version 1.11.4 Sub-task [FLINK-21070] - Overloaded aggregate functions cause converter errors [FLINK-21486] - Add sanity check when switching from Rocks to Heap timers Bug [FLINK-15262] - kafka connector doesn&#39;t read from beginning immediately when &#39;connector.startup-mode&#39; = &#39;earliest-offset&#39; [FLINK-16443] - Fix wrong fix for user-code CheckpointExceptions [FLINK-18438] - TaskManager start failed [FLINK-19369] - BlobClientTest.testGetFailsDurin [...]
+Release Notes - Flink - Version 1.11.4 Sub-task [FLINK-21070] - Overloaded aggregate functions cause converter errors [FLINK-21486] - Add sanity check when switching from Rocks to Heap timers Bug [FLINK-15262] - kafka connector doesn&#39;t read from beginning immediately when &#39;connector.startup-mode&#39; = &#39;earliest-offset&#39; [FLINK-16443] - Fix wrong fix for user-code CheckpointExceptions [FLINK-18438] - TaskManager start failed [FLINK-19369] - BlobClientTest.testGetFailsDurin [...]
 This release includes 76 fixes and minor improvements for Flink 1.12.4. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.12.5.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 Release Notes - Flink - Version 1.12.5
-Bug [FLINK-19925] - Errors$NativeIoException: readAddress(..) failed: Connection reset by peer [FLINK-20321] - Get NPE when using AvroDeserializationSchema to deserialize null input [FLINK-20888] - ContinuousFileReaderOperator should not close the output on close() [FLINK-21329] - &quot;Local recovery and sticky scheduling end-to-end test&quot; does not finish within 600 seconds [FLINK-21445] - Application mode does not set the configuration when building PackagedProgram [FLINK-21469] -  [...]
+Bug [FLINK-19925] - Errors$NativeIoException: readAddress(..) failed: Connection reset by peer [FLINK-20321] - Get NPE when using AvroDeserializationSchema to deserialize null input [FLINK-20888] - ContinuousFileReaderOperator should not close the output on close() [FLINK-21329] - &quot;Local recovery and sticky scheduling end-to-end test&quot; does not finish within 600 seconds [FLINK-21445] - Application mode does not set the configuration when building PackagedProgram [FLINK-21469] -  [...]
 This release includes 127 fixes and minor improvements for Flink 1.13.2. The list below includes bugfixes and improvements. For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.13.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.13.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.13.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
-Release Notes - Flink - Version 1.13.2 Sub-task [FLINK-22726] - Hive GROUPING__ID returns different value in older versions Bug [FLINK-20888] - ContinuousFileReaderOperator should not close the output on close() [FLINK-20975] - HiveTableSourceITCase.testPartitionFilter fails on AZP [FLINK-21389] - ParquetInputFormat should not need parquet schema as user input [FLINK-21445] - Application mode does not set the configuration when building PackagedProgram [FLINK-21952] - Make all the &quot; [...]
+Release Notes - Flink - Version 1.13.2 Sub-task [FLINK-22726] - Hive GROUPING__ID returns different value in older versions Bug [FLINK-20888] - ContinuousFileReaderOperator should not close the output on close() [FLINK-20975] - HiveTableSourceITCase.testPartitionFilter fails on AZP [FLINK-21389] - ParquetInputFormat should not need parquet schema as user input [FLINK-21445] - Application mode does not set the configuration when building PackagedProgram [FLINK-21952] - Make all the &quot; [...]
 The backpressure topic was tackled from different angles over the last couple of years. However, when it comes to identifying and analyzing sources of backpressure, things have changed quite a bit in the recent Flink releases (especially with new additions to metrics and the web UI in Flink 1.13). This post will try to clarify some of these changes and go into more detail about how to track down the source of backpressure, but first&hellip;
 What is backpressure? # This has been explained very well in an old, but still accurate, post by Ufuk Celebi. I highly recommend reading it if you are not familiar with this concept. For a much deeper and low-level understanding of the topic and how Flink’s network stack works, there is a more advanced explanation available here.
 At a high level, backpressure happens if some operator(s) in the Job Graph cannot process records at the same rate as they are received. This fills up the input buffers of the subtask that is running this slow operator. Once the input buffers are full, backpressure propagates to the output buffers of the upstream subtasks. Once those are filled up, the upstream subtasks are also forced to slow down their records’ processing rate to match the processing rate of the operator causing this b [...]
@@ -1973,18 +1988,18 @@ What can I do with backpressure? # In general this is a complex topic that is wo
 Identifying the presence of backpressure. Locating which subtask(s) or machines are causing it. Digging deeper into what part of the code is causing it and which resource is scarce. Backpressure monitoring improvements and metrics can help you with the first two points. To tackle the last one, profiling the code can be the way to go. To help with profiling, also starting from Flink 1.13, Flame Graphs are integrated into Flink&rsquo;s web UI. Flame Graphs is a well known profiling tool an [...]
 But keep in mind that after locating where the bottleneck is, you can analyze it the same way you would any other non-distributed application (by checking resource utilization, attaching a profiler, etc). Usually there is no silver bullet for problems like this. You can try to scale up but sometimes it might not be easy or practical to do.
 Anyway&hellip; The aforementioned improvements to backpressure monitoring allow us to easily detect the source of backpressure, and Flame Graphs can help us to analyze why a particular subtask is causing problems. Together those two features should make the previously quite tedious process of debugging and performance analysis of Flink jobs that much easier! Please upgrade to Flink 1.13.x and try them out!
-[1] There is a third possibility. In a rare case when network exchange is actually the bottleneck in your job, the downstream task will have empty input buffers, while upstream output buffers will be full. `}),e.add({id:115,href:"/2021/05/28/apache-flink-1.13.1-released/",title:"Apache Flink 1.13.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.13 series.
+[1] There is a third possibility. In a rare case when network exchange is actually the bottleneck in your job, the downstream task will have empty input buffers, while upstream output buffers will be full. `}),e.add({id:116,href:"/2021/05/28/apache-flink-1.13.1-released/",title:"Apache Flink 1.13.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.13 series.
 This release includes 82 fixes and minor improvements for Flink 1.13.1. The list below includes bugfixes and improvements. For a complete list of all changes see: JIRA.
 We highly recommend all users to upgrade to Flink 1.13.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.13.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.13.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
-Release Notes - Flink - Version 1.13.1 Sub-task [FLINK-22378] - Type mismatch when declaring SOURCE_WATERMARK on TIMESTAMP_LTZ column [FLINK-22666] - Make structured type&#39;s fields more lenient during casting Bug [FLINK-12351] - AsyncWaitOperator should deep copy StreamElement when object reuse is enabled [FLINK-17170] - Cannot stop streaming job with savepoint which uses kinesis consumer [FLINK-19449] - LEAD/LAG cannot work correctly in streaming mode [FLINK-21181] - Buffer pool is d [...]
+Release Notes - Flink - Version 1.13.1 Sub-task [FLINK-22378] - Type mismatch when declaring SOURCE_WATERMARK on TIMESTAMP_LTZ column [FLINK-22666] - Make structured type&#39;s fields more lenient during casting Bug [FLINK-12351] - AsyncWaitOperator should deep copy StreamElement when object reuse is enabled [FLINK-17170] - Cannot stop streaming job with savepoint which uses kinesis consumer [FLINK-19449] - LEAD/LAG cannot work correctly in streaming mode [FLINK-21181] - Buffer pool is d [...]
 This release includes 21 fixes and minor improvements for Flink 1.12.3. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.12.4.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 Release Notes - Flink - Version 1.12.4
-Bug [FLINK-17170] - Cannot stop streaming job with savepoint which uses kinesis consumer [FLINK-20114] - Fix a few KafkaSource-related bugs [FLINK-21181] - Buffer pool is destroyed error when outputting data over a timer after cancellation. [FLINK-22109] - Misleading exception message if the number of arguments of a nested function is incorrect [FLINK-22368] - UnalignedCheckpointITCase hangs on azure [FLINK-22424] - Writing to already released buffers potentially causing data corruption  [...]
+Bug [FLINK-17170] - Cannot stop streaming job with savepoint which uses kinesis consumer [FLINK-20114] - Fix a few KafkaSource-related bugs [FLINK-21181] - Buffer pool is destroyed error when outputting data over a timer after cancellation. [FLINK-22109] - Misleading exception message if the number of arguments of a nested function is incorrect [FLINK-22368] - UnalignedCheckpointITCase hangs on azure [FLINK-22424] - Writing to already released buffers potentially causing data corruption  [...]
 A simple way of quantifying the mismatch between the required resources and the available resources is to measure the space between the actual load and the number of available workers. As pictured below, in the case of static resource allocation, you can see that there&rsquo;s a big gap between the actual load and the available workers — hence, we are wasting resources. For elastic resource allocation, the gap between the red and black line is consistently small.
 Manually rescaling a Flink job has been possible since Flink 1.2 introduced rescalable state, which allows you to stop-and-restore a job with a different parallelism. For example, if your job is running with a parallelism of p=100 and your load increases, you can restart it with p=200 to cope with the additional data.
 The problem with this approach is that you have to orchestrate a rescale operation with custom tools by yourself, including error handling and similar tasks.
@@ -2022,7 +2037,7 @@ To mitigate this issue, we have reduced the heartbeat.timeout in our experiment
 Conclusion # In this blog post, we&rsquo;ve introduced Reactive Mode, a big step forward in Flink&rsquo;s ability to dynamically adjust to changing workloads, reducing resource utilization and overall costs. The blog post demonstrated Reactive Mode on Kubernetes, including some lessons learned.
 Reactive Mode is new feature in Flink 1.13 and is currently in the MVP (Minimal Viable Product) phase of product development. Before experimenting with it, or using it in production, please check the documentation, in particular the current limitations section. In this phase, the biggest limitation is that only standalone application mode deployments are supported (i.e. no active resource managers or session clusters).
 The community is actively looking for feedback on this feature, to continue improving Flink&rsquo;s resource elasticity. If you have any feedback, please reach out to the dev@ mailing list or to me personally on Twitter.
-`}),e.add({id:118,href:"/2021/05/03/apache-flink-1.13.0-release-announcement/",title:"Apache Flink 1.13.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink 1.13.0! More than 200 contributors worked on over 1,000 issues for this new version.
+`}),e.add({id:119,href:"/2021/05/03/apache-flink-1.13.0-release-announcement/",title:"Apache Flink 1.13.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to announce the release of Flink 1.13.0! More than 200 contributors worked on over 1,000 issues for this new version.
 The release brings us a big step forward in one of our major efforts: Making Stream Processing Applications as natural and as simple to manage as any other application. The new reactive scaling mode means that scaling streaming applications in and out now works like in any other application by just changing the number of parallel processes.
 The release also prominently features a series of improvements that help users better understand the performance of applications. When the streams don&rsquo;t flow as fast as you&rsquo;d hope, these can help you to understand why: Load and backpressure visualization to identify bottlenecks, CPU flame graphs to identify hot code paths in your application, and State Access Latencies to see how the State Backends are keeping up.
 Beyond those features, the Flink community has added a ton of improvements all over the system, some of which we discuss in this article. We hope you enjoy the new release and features. Towards the end of the article, we describe changes to be aware of when upgrading from earlier versions of Apache Flink.
@@ -2127,13 +2142,13 @@ Please review the release notes carefully if you plan to upgrade your setup to F
 You can also check the complete release changelog and updated documentation for a detailed list of changes and new features.
 List of Contributors # The Apache Flink community would like to thank each one of the contributors that have made this release possible:
 acqua.csq, AkisAya, Alexander Fedulov, Aljoscha Krettek, Ammar Al-Batool, Andrey Zagrebin, anlen321, Anton Kalashnikov, appleyuchi, Arvid Heise, Austin Cawley-Edwards, austin ce, azagrebin, blublinsky, Brian Zhou, bytesmithing, caozhen1937, chen qin, Chesnay Schepler, Congxian Qiu, Cristian, cxiiiiiii, Danny Chan, Danny Cranmer, David Anderson, Dawid Wysakowicz, dbgp2021, Dian Fu, DinoZhang, dixingxing, Dong Lin, Dylan Forciea, est08zw, Etienne Chauchot, fanrui03, Flora Tao, FLRNKS, forn [...]
-`}),e.add({id:119,href:"/2021/04/29/apache-flink-1.12.3-released/",title:"Apache Flink 1.12.3 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
+`}),e.add({id:120,href:"/2021/04/29/apache-flink-1.12.3-released/",title:"Apache Flink 1.12.3 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
 This release includes 73 fixes and minor improvements for Flink 1.12.2. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.12.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Bug [FLINK-18071] - CoordinatorEventsExactlyOnceITCase.checkListContainsSequence fails on CI [FLINK-20547] - Batch job fails due to the exception in network stack [FLINK-20654] - Unaligned checkpoint recovery may lead to corrupted data stream [FLINK-20722] - HiveTableSink should copy the record when converting RowData to Row [FLINK-20752] - FailureRateRestartBackoffTimeStrategy allows one less restart than configured [FLINK-20761] - Cannot read hive table/partition whose location path co [...]
+Bug [FLINK-18071] - CoordinatorEventsExactlyOnceITCase.checkListContainsSequence fails on CI [FLINK-20547] - Batch job fails due to the exception in network stack [FLINK-20654] - Unaligned checkpoint recovery may lead to corrupted data stream [FLINK-20722] - HiveTableSink should copy the record when converting RowData to Row [FLINK-20752] - FailureRateRestartBackoffTimeStrategy allows one less restart than configured [FLINK-20761] - Cannot read hive table/partition whose location path co [...]
 This new release brings remote functions to the front and center of StateFun, making the disaggregated setup that separates the application logic from the StateFun cluster the default. It is now easier, more efficient, and more ergonomic to write applications that live in their own processes or containers. With the new Java SDK this is now also possible for all JVM languages, in addition to Python.
 Background # Starting with the first StateFun release, before the project was donated to the Apache Software Foundation, our focus was: making scalable stateful applications easy to build and run.
 The first StateFun version introduced an SDK that allowed writing stateful functions that build up a StateFun application packaged and deployed as a particular Flink job submitted to a Flink cluster. Having functions executing within the same JVM as Flink has some advantages, such as the deployment&rsquo;s performance and immutability. However, it had a few limitations:
@@ -2158,7 +2173,7 @@ Release Resources # The binary distribution and source artifacts are now availab
 For more details, check the updated documentation and the release notes for a detailed list of changes and new features if you plan to upgrade your setup to Stateful Functions 3.0.0. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA
 List of Contributors # The Apache Flink community would like to thank all contributors that have made this release possible:
 Authuir, Chesnay Schepler, David Anderson, Dian Fu, Frans King, Galen Warren, Guillaume Vauvert, Igal Shilman, Ismaël Mejía, Kartik Khare, Konstantin Knauf, Marta Paes Moreira, Patrick Lucas, Patrick Wiener, Rafi Aroch, Robert Metzger, RocMarshal, Seth Wiesman, Siddique Ahmad, SteNicholas, Stephan Ewen, Timothy Bess, Tymur Yarosh, Tzu-Li (Gordon) Tai, Ufuk Celebi, abc863377, billyrrr, congxianqiu, danp11, hequn8128, kaibo, klion26, morsapaes, slinkydeveloper, wangchao, wangzzu, winder If [...]
-`}),e.add({id:121,href:"/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/",title:"A Rundown of Batch Execution Mode in the DataStream API",section:"Flink Blog",content:`Flink has been following the mantra that Batch is a Special Case of Streaming since the very early days. As the project evolved to address specific uses cases, different core APIs ended up being implemented for batch (DataSet API) and streaming execution (DataStream API), but the higher-level Table API/ [...]
+`}),e.add({id:122,href:"/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/",title:"A Rundown of Batch Execution Mode in the DataStream API",section:"Flink Blog",content:`Flink has been following the mantra that Batch is a Special Case of Streaming since the very early days. As the project evolved to address specific uses cases, different core APIs ended up being implemented for batch (DataSet API) and streaming execution (DataStream API), but the higher-level Table API/ [...]
 The idea behind making the DataStream API a unified abstraction for batch and streaming execution instead of maintaining separate APIs is two-fold:
 Reusability: efficient batch and stream processing under the same API would allow you to easily switch between both execution modes without rewriting any code. So, a job could be easily reused to process real-time and historical data.
 Operational simplicity: providing a unified API would mean using a single set of connectors, maintaining a single codebase and being able to easily implement mixed execution pipelines e.g. for use cases like backfilling.
@@ -2192,13 +2207,13 @@ Having a mixed graph, where one of the branches would have only bounded sources
 Another approach is to run the exact same program first on the bounded data. However, this time we wouldn&rsquo;t assume completeness of the job; instead, we would produce the state of all operators up to a certain point in time and store it as a savepoint. Later on, we could use the savepoint to start the application on the unbounded data.
 Lastly, to achieve feature parity with the DataSet API (Flink&rsquo;s legacy API for batch-style execution), we are looking into the topic of iterations and how to meet the different usage patterns depending on the mode. In STREAMING mode, iterations serve as a loopback edge, but we don&rsquo;t necessarily need to keep track of the iteration step. On the other hand, the iteration generation is vital for Machine Learning (ML) algorithms, which are the primary use case for iterations in BA [...]
 Have you tried the new BATCH execution mode in the DataStream API? How was your experience? We are happy to hear your feedback and stories!
-`}),e.add({id:122,href:"/2021/03/03/apache-flink-1.12.2-released/",title:"Apache Flink 1.12.2 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
+`}),e.add({id:123,href:"/2021/03/03/apache-flink-1.12.2-released/",title:"Apache Flink 1.12.2 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
 This release includes 83 fixes and minor improvements for Flink 1.12.1. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.12.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Sub-task [FLINK-21070] - Overloaded aggregate functions cause converter errors [FLINK-21486] - Add sanity check when switching from Rocks to Heap timers Bug [FLINK-12461] - Document binary compatibility situation with Scala beyond 2.12.8 [FLINK-16443] - Fix wrong fix for user-code CheckpointExceptions [FLINK-19771] - NullPointerException when accessing null array from postgres in JDBC Connector [FLINK-20309] - UnalignedCheckpointTestBase.execute is failed [FLINK-20462] - MailboxOperatorT [...]
+Sub-task [FLINK-21070] - Overloaded aggregate functions cause converter errors [FLINK-21486] - Add sanity check when switching from Rocks to Heap timers Bug [FLINK-12461] - Document binary compatibility situation with Scala beyond 2.12.8 [FLINK-16443] - Fix wrong fix for user-code CheckpointExceptions [FLINK-19771] - NullPointerException when accessing null array from postgres in JDBC Connector [FLINK-20309] - UnalignedCheckpointTestBase.execute is failed [FLINK-20462] - MailboxOperatorT [...]
 From release to release, the Flink community has made significant progress in integrating natively with Kubernetes, from active resource management to “Zookeeperless” High Availability (HA). In this blogpost, we&rsquo;ll recap the technical details of deploying Flink applications natively on Kubernetes, diving deeper into Flink’s Kubernetes HA architecture. We&rsquo;ll then walk you through a hands-on example of running a Flink application cluster on Kubernetes with HA enabled. We’ll end [...]
 Native Flink on Kubernetes Integration # Before we dive into the technical details of how the Kubernetes-based HA service works, let us briefly explain what native means in the context of Flink deployments on Kubernetes:
 Flink is self-contained. There will be an embedded Kubernetes client in the Flink client, and so you will not need other external tools (e.g. kubectl, Kubernetes dashboard) to create a Flink cluster on Kubernetes.
@@ -2219,13 +2234,13 @@ $ docker build -t &lt;user-image&gt; . $ docker push &lt;user-image&gt; **2. Sta
 $ ./bin/flink cancel --target kubernetes-application -Dkubernetes.cluster-id=&lt;ClusterID&gt; &lt;JobID&gt; When the job is cancelled, all the Kubernetes resources created by Flink (e.g. JobManager deployment, TaskManager pods, service, Flink configuration ConfigMap, leader-related ConfigMaps) will be deleted automatically.
 Conclusion # The native Kubernetes integration was first introduced in Flink 1.10, abstracting a lot of the complexities of hosting, configuring, managing and operating Flink clusters in cloud-native environments. After three major releases, the community has made great progress in supporting multiple deployment modes (i.e. session and application) and an alternative HA setup that doesn’t depend on Zookeeper.
 Compared with standalone Kubernetes deployments, the native integration is more user-friendly and requires less upfront knowledge about Kubernetes. Given that Flink is now aware of the underlying Kubernetes cluster, it also can benefit from dynamic resource allocation and make more efficient use of Kubernetes cluster resources. The next building block to deepen Flink’s native integration with Kubernetes is the pod template (FLINK-15656), which will greatly enhance the flexibility of usin [...]
-`}),e.add({id:124,href:"/2021/01/29/apache-flink-1.10.3-released/",title:"Apache Flink 1.10.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.10 series.
+`}),e.add({id:125,href:"/2021/01/29/apache-flink-1.10.3-released/",title:"Apache Flink 1.10.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.10 series.
 This release includes 36 fixes and minor improvements for Flink 1.10.2. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.10.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.10.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.10.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Bug [FLINK-14087] - throws java.lang.ArrayIndexOutOfBoundsException when emiting the data using RebalancePartitioner. [FLINK-15170] - WebFrontendITCase.testCancelYarn fails on travis [FLINK-15467] - Should wait for the end of the source thread during the Task cancellation [FLINK-16246] - Exclude &quot;SdkMBeanRegistrySupport&quot; from dynamically loaded AWS connectors [FLINK-17341] - freeSlot in TaskExecutor.closeJobManagerConnection cause ConcurrentModificationException [FLINK-17458] - [...]
+Bug [FLINK-14087] - throws java.lang.ArrayIndexOutOfBoundsException when emiting the data using RebalancePartitioner. [FLINK-15170] - WebFrontendITCase.testCancelYarn fails on travis [FLINK-15467] - Should wait for the end of the source thread during the Task cancellation [FLINK-16246] - Exclude &quot;SdkMBeanRegistrySupport&quot; from dynamically loaded AWS connectors [FLINK-17341] - freeSlot in TaskExecutor.closeJobManagerConnection cause ConcurrentModificationException [FLINK-17458] - [...]
 This release includes 79 fixes and minor improvements for Flink 1.12.0. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.12.1.
 Attention: Using unaligned checkpoints in Flink 1.12.0 combined with two/multiple inputs tasks or with union inputs for single input tasks can result in corrupted state. This can happen if a new checkpoint is triggered before recovery is fully completed. For state to be corrupted a task with two or more input gates must receive a checkpoint barrier exactly at the same time this tasks finishes recovering spilled in-flight data. In such case this new checkpoint can succeed, with corrupted/ [...]
@@ -2234,7 +2249,7 @@ A late barrier of a canceled checkpoint may lead to buffers being not written in
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Sub-task [FLINK-18897] - Add documentation for the maxwell-json format [FLINK-20352] - Rework command line interface documentation page [FLINK-20353] - Rework logging documentation page [FLINK-20354] - Rework standalone deployment documentation page [FLINK-20355] - Rework K8s deployment documentation page [FLINK-20356] - Rework Mesos deployment documentation page [FLINK-20422] - Remove from .html files in flink documentation [FLINK-20485] - Map views are deserialized multiple times [FLIN [...]
+Sub-task [FLINK-18897] - Add documentation for the maxwell-json format [FLINK-20352] - Rework command line interface documentation page [FLINK-20353] - Rework logging documentation page [FLINK-20354] - Rework standalone deployment documentation page [FLINK-20355] - Rework K8s deployment documentation page [FLINK-20356] - Rework Mesos deployment documentation page [FLINK-20422] - Remove from .html files in flink documentation [FLINK-20485] - Map views are deserialized multiple times [FLIN [...]
 State in Flink # To best understand state and state backends in Flink, it’s important to distinguish between in-flight state and state snapshots. In-flight state, also known as working state, is the state a Flink job is working on. It is always stored locally in memory (with the possibility to spill to disk) and can be lost when jobs fail without impacting job recoverability. State snapshots, i.e., checkpoints and savepoints, are stored in a remote durable storage, and are used to restor [...]
 What is RocksDB? # Thinking of RocksDB as a distributed database that needs to run on a cluster and to be managed by specialized administrators is a common misconception. RocksDB is an embeddable persistent key-value store for fast storage. It interacts with Flink via the Java Native Interface (JNI). The picture below shows where RocksDB fits in a Flink cluster node. Details are explained in the following sections.
 RocksDB in Flink # Everything you need to use RocksDB as a state backend is bundled in the Apache Flink distribution, including the native shared library:
@@ -2255,7 +2270,7 @@ Note From Flink 1.10, RocksDB logging was effectively disabled by [setting the l
 While data is being written or overwritten in RocksDB, flushing from memory to local disks and data compaction are managed in the background by RocksDB threads. On a machine with many CPU cores, you should increase the parallelism of background flushing and compaction by setting the Flink configuration state.backend.rocksdb.thread.num (corresponding to max_background_jobs in RocksDB). The default configuration is usually too small for a production setup. If your job reads frequently from [...]
 For other RocksDBStateBackend configurations, check the Flink documentation on Advanced RocksDB State Backends Options. For further tuning, check RocksDB Tuning Guide in RocksDB Wiki.
 Conclusion # The RocksDB state backend (i.e., RocksDBStateBackend) is one of the three state backends bundled in Flink, and can be a powerful choice when configuring your streaming applications. It enables scalable applications maintaining up to many terabytes of state with exactly-once processing guarantees. If the state of your Flink job is too large to fit on the JVM heap, you are interested in incremental checkpointing, or you expect to have predictable latency, you should use RocksD [...]
-`}),e.add({id:127,href:"/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/",title:"Exploring fine-grained recovery of bounded data sets on Flink",section:"Flink Blog",content:`Apache Flink is a very versatile tool for all kinds of data processing workloads. It can process incoming data within a few milliseconds or crunch through petabytes of bounded datasets (also known as batch processing).
+`}),e.add({id:128,href:"/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/",title:"Exploring fine-grained recovery of bounded data sets on Flink",section:"Flink Blog",content:`Apache Flink is a very versatile tool for all kinds of data processing workloads. It can process incoming data within a few milliseconds or crunch through petabytes of bounded datasets (also known as batch processing).
 Processing efficiency is not the only parameter users of data processing systems care about. In the real world, system outages due to hardware or software failure are expected to happen all the time. For unbounded (or streaming) workloads, Flink is using periodic checkpoints to allow for reliable and correct recovery. In case of bounded data sets, having a reliable recovery mechanism is mission critical — as users do not want to potentially lose many hours of intermediate processing results.
 Apache Flink 1.9 introduced fine-grained recovery into its internal workload scheduler. The Flink APIs that are made for bounded workloads benefit from this change by individually recovering failed operators, re-using results from the previous processing step.
 In this blog post, we are going to give an overview over these changes, and we will experimentally validate their effectiveness.
@@ -2287,7 +2302,7 @@ Execution time with rare failures: Looking at the first few results on the left,
 In general, we recommend conducting your own performance experiments on your own hardware and with your own workloads, as results might vary from what we’ve presented here. Despite the findings here, the pipelined mode probably has some performance advantages in environments with rare failures and slower I/O (for example when using spinning disks, or network attached disks). On the other hand, CPU intensive workloads might benefit from the batch mode even in slow I/O environments.
 We should also note that the caching (and subsequent reprocessing on failure) only works if the cached results are still present &ndash; this is currently only the case, if the TaskManager survives a failure. However, this is an unrealistic assumption as many failures would cause the TaskManager process to die. To mitigate this limitation, data processing frameworks employ external shuffle services that persist the cached results independent of the data processing framework. Since Flink  [...]
 Despite these considerations, we believe that fine-grained recovery is a great improvement for Flink’s batch capabilities, as it makes the framework much more efficient, even in unstable environments.
-`}),e.add({id:128,href:"/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/",title:"What's New in the Pulsar Flink Connector 2.7.0",section:"Flink Blog",content:` About the Pulsar Flink Connector # In order for companies to access real-time data insights, they need unified batch and streaming capabilities. Apache Flink unifies batch and stream processing into one single computing engine with “streams” as the unified data representation. Although developers have done extensive work [...]
+`}),e.add({id:129,href:"/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/",title:"What's New in the Pulsar Flink Connector 2.7.0",section:"Flink Blog",content:` About the Pulsar Flink Connector # In order for companies to access real-time data insights, they need unified batch and streaming capabilities. Apache Flink unifies batch and stream processing into one single computing engine with “streams” as the unified data representation. Although developers have done extensive work [...]
 The Pulsar Flink connector provides elastic data processing with Apache Pulsar and Apache Flink, allowing Apache Flink to read/write data from/to Apache Pulsar. The Pulsar Flink Connector enables you to concentrate on your business logic without worrying about the storage details.
 Challenges # When we first developed the Pulsar Flink Connector, it received wide adoption from both the Flink and Pulsar communities. Leveraging the Pulsar Flink connector, Hewlett Packard Enterprise (HPE) built a real-time computing platform, BIGO built a real-time message processing system, and Zhihu is in the process of assessing the Connector’s fit for a real-time computing system.
 With more users adopting the Pulsar Flink Connector, it became clear that one of the common issues was evolving around data formats and specifically performing serialization and deserialization. While the Pulsar Flink connector leverages the Pulsar serialization, the previous connector versions did not support the Flink data format. As a result, users had to manually configure their setup in order to use the connector for real-time computing scenarios.
@@ -2321,12 +2336,12 @@ Pulsar offers a hierarchical architecture where data is divided into streaming,
 The batch and stream solution based on the new Flink Source API is divided into two simple parts: SplitEnumerator and Reader. SplitEnumerator discovers and assigns partitions, and Reader reads data from the partition.
 Apache Pulsar stores messages in the ledger block for users to locate the ledgers through Pulsar admin, and then provide broker partition, BookKeeper partition, Offloader partition, and other information through different partitioning policies. For more details, you can refer here.
 Conclusion # The latest version of the Pulsar Flink Connector is now available and we encourage everyone to use/upgrade to the Pulsar Flink Connector 2.7.0. The new version provides significant user enhancements, enabled by various features in Pulsar 2.7 and Flink 1.12. We will be contributing the Pulsar Flink Connector 2.7.0 to the Apache Flink repository soon. If you have any questions or concerns about the Pulsar Flink Connector, feel free to open issues in this repository.
-`}),e.add({id:129,href:"/2021/01/02/stateful-functions-2.2.2-release-announcement/",title:"Stateful Functions 2.2.2 Release Announcement",section:"Flink Blog",content:`The Apache Flink community released the second bugfix release of the Stateful Functions (StateFun) 2.2 series, version 2.2.2.
+`}),e.add({id:130,href:"/2021/01/02/stateful-functions-2.2.2-release-announcement/",title:"Stateful Functions 2.2.2 Release Announcement",section:"Flink Blog",content:`The Apache Flink community released the second bugfix release of the Stateful Functions (StateFun) 2.2 series, version 2.2.2.
 The most important change of this bugfix release is upgrading Apache Flink to version 1.11.3. In addition to many stability fixes to the Flink runtime itself, this also allows StateFun applications to safely use savepoints to upgrade from older versions earlier than StateFun 2.2.1. Previously, restoring from savepoints could have failed under certain conditions.
 We strongly recommend all users to upgrade to 2.2.2.
 You can find the binaries on the updated Downloads page.
 This release includes 5 fixes and minor improvements since StateFun 2.2.1. Below is a detailed list of all fixes and improvements:
-Improvement [FLINK-20699] - Feedback invocation_id must not be constant. Task [FLINK-20161] - Consider switching from Travis CI to Github Actions for flink-statefun&#39;s CI workflows [FLINK-20189] - Restored feedback events may be silently dropped if per key-group header bytes were not fully read [FLINK-20636] - Require unaligned checkpoints to be disabled in StateFun applications [FLINK-20689] - Upgrade StateFun to Flink 1.11.3 `}),e.add({id:130,href:"/2020/12/18/apache-flink-1.11.3-re [...]
+Improvement [FLINK-20699] - Feedback invocation_id must not be constant. Task [FLINK-20161] - Consider switching from Travis CI to Github Actions for flink-statefun&#39;s CI workflows [FLINK-20189] - Restored feedback events may be silently dropped if per key-group header bytes were not fully read [FLINK-20636] - Require unaligned checkpoints to be disabled in StateFun applications [FLINK-20689] - Upgrade StateFun to Flink 1.11.3 `}),e.add({id:131,href:"/2020/12/18/apache-flink-1.11.3-re [...]
 Release Highlights
 The community has added support for efficient batch execution in the DataStream API. This is the next major milestone towards achieving a truly unified runtime for both batch and stream processing.
 Kubernetes-based High Availability (HA) was implemented as an alternative to ZooKeeper for highly available production setups.
@@ -2394,7 +2409,7 @@ Note: General UDAFs are only supported for group aggregations and in _streaming_
 Release Notes # Please review the release notes carefully for a detailed list of changes and new features if you plan to upgrade your setup to Flink 1.12. This version is API-compatible with previous 1.x releases for APIs annotated with the @Public annotation.
 List of Contributors # The Apache Flink community would like to thank each and every one of the 300 contributors that have made this release possible:
 Abhijit Shandilya, Aditya Agarwal, Alan Su, Alexander Alexandrov, Alexander Fedulov, Alexey Trenikhin, Aljoscha Krettek, Allen Madsen, Andrei Bulgakov, Andrey Zagrebin, Arvid Heise, Authuir, Bairos, Bartosz Krasinski, Benchao Li, Brandon, Brian Zhou, C08061, Canbin Zheng, Cedric Chen, Chesnay Schepler, Chris Nix, Congxian Qiu, DG-Wangtao, Da(Dash)Shen, Dan Hill, Daniel Magyar, Danish Amjad, Danny Chan, Danny Cranmer, David Anderson, Dawid Wysakowicz, Devin Thomson, Dian Fu, Dongxu Wang,  [...]
-`}),e.add({id:132,href:"/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/",title:"Improvements in task scheduling for batch workloads in Apache Flink 1.12",section:"Flink Blog",content:`The Flink community has been working for some time on making Flink a truly unified batch and stream processing system. Achieving this involves touching a lot of different components of the Flink stack, from the user-facing APIs all the way to low-level operator processe [...]
+`}),e.add({id:133,href:"/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/",title:"Improvements in task scheduling for batch workloads in Apache Flink 1.12",section:"Flink Blog",content:`The Flink community has been working for some time on making Flink a truly unified batch and stream processing system. Achieving this involves touching a lot of different components of the Flink stack, from the user-facing APIs all the way to low-level operator processe [...]
 Towards unified scheduling # Flink has an internal scheduler to distribute work to all available cluster nodes, taking resource utilization, state locality and recovery into account. How do you write a scheduler for a unified batch and streaming system? To answer this question, let&rsquo;s first have a look into the high-level differences between batch and streaming scheduling requirements.
 Streaming # Streaming jobs usually require that all operator subtasks are running in parallel at the same time, for an indefinite time. Therefore, all the required resources to run these jobs have to be provided upfront, and all operator subtasks must be deployed at once.
 Flink: Streaming job example Because there are no finite intermediate results, a streaming job always has to be restarted fully from a checkpoint or a savepoint in case of failure.
@@ -2434,7 +2449,7 @@ A blocking result can be consumed only when its production is done. Hence, the b
 Slots and resources # A TaskManager instance has a certain number of virtual slots. Each slot represents a certain part of the TaskManager’s physical resources to run the operator subtasks, and each subtask is deployed into a slot of the TaskManager. A slot can run multiple subtasks from different operators at the same time, usually chained together.
 Scheduling strategy # Scheduling in Flink is a process of searching for and allocating appropriate resources (slots) from the TaskManagers to run the subtasks and produce results. The scheduling strategy reacts on scheduling events (like start job, subtask failed or finished etc) to decide which subtask to deploy next.
 For instance, it does not make sense to schedule subtasks whose inputs are not ready to consume yet to avoid wasting resources. Another example is to schedule subtasks which are connected with pipelined edges together, to avoid deadlocks caused by backpressure.
-`}),e.add({id:133,href:"/2020/11/11/stateful-functions-2.2.1-release-announcement/",title:"Stateful Functions 2.2.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink community released the first bugfix release of the Stateful Functions (StateFun) 2.2 series, version 2.2.1.
+`}),e.add({id:134,href:"/2020/11/11/stateful-functions-2.2.1-release-announcement/",title:"Stateful Functions 2.2.1 Release Announcement",section:"Flink Blog",content:`The Apache Flink community released the first bugfix release of the Stateful Functions (StateFun) 2.2 series, version 2.2.1.
 This release fixes a critical bug that causes restoring the Stateful Functions cluster from snapshots (checkpoints or savepoints) to fail under certain conditions. Starting from this release, StateFun now creates snapshots with a more robust format that allows it to be restored safely going forward.
 We strongly recommend all users to upgrade to 2.2.1. Please see the following sections on instructions and things to keep in mind for this upgrade.
 For new users just starting out with Stateful Functions # We strongly recommend to skip all previous versions and start using StateFun from version 2.2.1. This guarantees that failure recovery from checkpoints, or application upgrades using savepoints will work as expected for you.
@@ -2442,7 +2457,7 @@ For existing users on versions &lt;= 2.2.0 # Users that are currently using olde
 The follow-up hotfix release 2.2.2 is expected to be ready within another 2~3 weeks, as it requires a new hotfix release from Flink core, and ultimately an upgrade of the Flink dependency in StateFun. We’ll update the community via the Flink mailing lists as soon as this is ready, so please subscribe to the mailing lists for important updates for this!
 You can find the binaries on the updated Downloads page.
 This release includes 6 fixes and minor improvements since StateFun 2.2.0. Below is a detailed list of all fixes and improvements:
-Bug [FLINK-19515] - Async RequestReply handler concurrency bug [FLINK-19692] - Can&#39;t restore feedback channel from savepoint [FLINK-19866] - FunctionsStateBootstrapOperator.createStateAccessor fails due to uninitialized runtimeContext Improvement [FLINK-19826] - StateFun Dockerfile copies plugins with a specific version instead of a wildcard [FLINK-19827] - Allow the harness to start with a user provided Flink configuration [FLINK-19840] - Add a rocksdb and heap timers configuration  [...]
+Bug [FLINK-19515] - Async RequestReply handler concurrency bug [FLINK-19692] - Can&#39;t restore feedback channel from savepoint [FLINK-19866] - FunctionsStateBootstrapOperator.createStateAccessor fails due to uninitialized runtimeContext Improvement [FLINK-19826] - StateFun Dockerfile copies plugins with a specific version instead of a wildcard [FLINK-19827] - Allow the harness to start with a user provided Flink configuration [FLINK-19840] - Add a rocksdb and heap timers configuration  [...]
 Despite all these great properties, Flink&rsquo;s checkpointing method has an Achilles Heel: the speed of a completed checkpoint is determined by the speed at which data flows through the application. When the application backpressures, the processing of checkpoints is backpressured as well (Appendix 1 recaps what is backpressure and why it can be a good thing). In such cases, checkpoints may take longer to complete or even time out completely.
 In Flink 1.11, the community introduced a first version of a new feature called &ldquo;unaligned checkpoints&rdquo; that aims at solving this issue, while Flink 1.12 plans to further expand its functionality. In this two-series blog post, we discuss how Flink’s checkpointing mechanism has been modified to support unaligned checkpoints, how unaligned checkpoints work, and how this new mode impacts Flink users. In the first of the two posts, we start with a recap of the original checkpoint [...]
 State in Streaming Applications # Simply put, state is the information that you need to remember across events. Even the most trivial streaming applications are typically stateful because of their need to “remember” the exact position they are processing data from, for example in the form of a Kafka Partition Offset or a File Offset. In addition, many applications hold state internally as a way to support their internal operations, such as windows, aggregations, joins, or state machines.
@@ -2471,7 +2486,7 @@ Consider the example below:
 We have a source (let’s say reading data from Apache Kafka), parsing data, grouping and aggregating data by a key, and writing it to a sink system (some database). The application needs to re-group data by key between the parsing and the grouping/aggregation step. Let’s assume we use a non-backpressure approach, like writing the data to a log/MQ for the data re-grouping over the network (the approach used by Kafka Streams). If the sink is now slower than the remaining parts of the stream [...]
 With backpressure, the source/parse stage slows down to match the speed of the sink, keeping both parts of the application closer together in their progress through the data, and avoiding the need to provision a lot of intermediate storage capacity.
 We&rsquo;d like to thank Marta Paes Moreira and Markos Sfikas for the wonderful review process.
-`}),e.add({id:135,href:"/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/",title:"Stateful Functions Internals: Behind the scenes of Stateful Serverless",section:"Flink Blog",content:`Stateful Functions (StateFun) simplifies the building of distributed stateful applications by combining the best of two worlds: the strong messaging and state consistency guarantees of stateful stream processing, and the elasticity and serverless experience of today&rsquo;s  [...]
+`}),e.add({id:136,href:"/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/",title:"Stateful Functions Internals: Behind the scenes of Stateful Serverless",section:"Flink Blog",content:`Stateful Functions (StateFun) simplifies the building of distributed stateful applications by combining the best of two worlds: the strong messaging and state consistency guarantees of stateful stream processing, and the elasticity and serverless experience of today&rsquo;s  [...]
 But how exactly does StateFun achieve that? How does the StateFun cluster communicate with the functions?
 This blog dives deep into the internals of the StateFun runtime. The entire walkthrough is complemented by a demo application which can be completely deployed on AWS services. Most significantly, in the demo, the stateful functions are deployed and serviced using AWS Lambda, a popular FaaS platform among many others. The goal here is to allow readers to have a good grasp of the interaction between the StateFun runtime and the functions, how that works cohesively to provide a Stateful Ser [...]
 Introducing the example: Shopping Cart # Note You can find the full code [here](https://github.com/tzulitai/statefun-aws-demo/blob/master/app/shopping_cart.py), which uses StateFun's [Python SDK](//nightlies.apache.org/flink/flink-statefun-docs-master/sdk/python.html). Alternatively, if you are unfamiliar with StateFun's API, you can check out this [earlier blog](https://flink.apache.org/2020/08/19/statefun.html) on modeling applications and stateful entities using [StateFun's programmin [...]
@@ -2500,7 +2515,7 @@ Fig.5: Complete deployment example on AWS. A natural consequence of this charact
 In our complementary demo code, you can find here the exact code on how to expose and service StateFun functions through AWS Lambda. Likewise, this is possible for any other FaaS platform that supports triggering the functions using HTTP endpoints (and other transports as well in the future).
 Fig. 5 on the right illustrates what a complete AWS deployment of a StateFun application would look like, with functions serviced via AWS Lambda, AWS Kinesis streams as ingresses and egresses, AWS EKS managed Kubernetes cluster to run the StateFun cluster, and an AWS S3 bucket to store the periodic checkpoints. You can also follow the instructions in the demo code to try it out and deploy this yourself right away!
 If you’d like to learn more about Stateful Functions, head over to the official documentation, where you can also find more hands-on tutorials to try out yourself!
-`}),e.add({id:136,href:"/2020/09/28/stateful-functions-2.2.0-release-announcement/",title:"Stateful Functions 2.2.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is happy to announce the release of Stateful Functions (StateFun) 2.2.0! This release introduces major features that extend the SDKs, such as support for asynchronous functions in the Python SDK, new persisted state constructs, and a new SDK that allows embedding StateFun functions within a Flink [...]
+`}),e.add({id:137,href:"/2020/09/28/stateful-functions-2.2.0-release-announcement/",title:"Stateful Functions 2.2.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is happy to announce the release of Stateful Functions (StateFun) 2.2.0! This release introduces major features that extend the SDKs, such as support for asynchronous functions in the Python SDK, new persisted state constructs, and a new SDK that allows embedding StateFun functions within a Flink [...]
 We&rsquo;ve also seen new 3rd party SDKs for StateFun being developed since the last release. While they are not part of the release artifacts, it&rsquo;s great seeing these community-driven additions! We&rsquo;ve highlighted these efforts below in this announcement.
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Python SDK distribution is available on PyPI. For more details, check the complete release changelog and the updated documentation. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA!
 New Features # Asynchronous functions in Python SDK # This release enables registering asynchronous Python functions as stateful functions by introducing a new handler in the Python SDK: AsyncRequestReplyHandler. This allows serving StateFun functions with Python web frameworks that support asynchronous IO natively (for example, aiohttp):
@@ -2520,13 +2535,13 @@ Important Patch Notes # Below is a list of user-facing interface and configurati
 List of Contributors # The Apache Flink community would like to thank all contributors that have made this release possible:
 abc863377, Authuir, Chesnay Schepler, Congxian Qiu, David Anderson, Dian Fu, Francesco Guardiani, Igal Shilman, Marta Paes Moreira, Patrick Wiener, Rafi Aroch, Seth Wiesman, Stephan Ewen, Tzu-Li (Gordon) Tai, Ufuk Celebi
 If you’d like to get involved, we’re always looking for new contributors.
-`}),e.add({id:137,href:"/2020/09/17/apache-flink-1.11.2-released/",title:"Apache Flink 1.11.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.11 series.
+`}),e.add({id:138,href:"/2020/09/17/apache-flink-1.11.2-released/",title:"Apache Flink 1.11.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.11 series.
 This release includes 96 fixes and minor improvements for Flink 1.11.1. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.11.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.11.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.11.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Sub-task [FLINK-16087] - Translate &quot;Detecting Patterns&quot; page of &quot;Streaming Concepts&quot; into Chinese [FLINK-18264] - Translate the &quot;External Resource Framework&quot; page into Chinese [FLINK-18628] - Invalid error message for overloaded methods with same parameter name [FLINK-18801] - Add a &quot;10 minutes to Table API&quot; document under the &quot;Python API&quot; -&gt; &quot;User Guide&quot; -&gt; &quot;Table API&quot; section [FLINK-18910] - Create the new docu [...]
+Sub-task [FLINK-16087] - Translate &quot;Detecting Patterns&quot; page of &quot;Streaming Concepts&quot; into Chinese [FLINK-18264] - Translate the &quot;External Resource Framework&quot; page into Chinese [FLINK-18628] - Invalid error message for overloaded methods with same parameter name [FLINK-18801] - Add a &quot;10 minutes to Table API&quot; document under the &quot;Python API&quot; -&gt; &quot;User Guide&quot; -&gt; &quot;Table API&quot; section [FLINK-18910] - Create the new docu [...]
 The Past Month in Flink # Flink Releases # Getting Ready for Flink Stateful Functions 2.2 # The details of the next release of Stateful Functions are under discussion in this @dev mailing list thread, and the feature freeze is set for September 10th — so, you can expect Stateful Functions 2.2 to be released soon after! Some of the most relevant features in the upcoming release are:
 DataStream API interoperability, allowing users to embed Stateful Functions pipelines in regular DataStream API programs with DataStream ingress/egress.
 Fine-grained control over state for remote functions, including the ability to configure different state expiration modes for each individual function.
@@ -2565,7 +2580,7 @@ Change Data Capture with Flink SQL and Debezium
 Real-Time Stock Processing With Apache NiFi, Apache Flink and Apache Kafka
 Using the Mm FLaNK Stack for Edge AI (Apache MXNet, Apache Flink, Apache NiFi, Apache Kafka, Apache Kudu)
 Blogposts Flink 1.11 Series The State of Flink on Docker Accelerating your workload with GPU and other external resources PyFlink: The integration of Pandas into PyFlink Other Monitoring and Controlling Networks of IoT Devices with Flink Stateful Functions Advanced Flink Application Patterns Vol.3: Custom Window Processing Flink Packages Flink Packages is a website where you can explore (and contribute to) the Flink ecosystem of connectors, extensions, APIs, tools and integrations. New i [...]
-`}),e.add({id:139,href:"/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/",title:"Memory Management improvements for Flink’s JobManager in Apache Flink 1.11",section:"Flink Blog",content:`Apache Flink 1.11 comes with significant changes to the memory model of Flink’s JobManager and configuration options for your Flink clusters. These recently-introduced changes make Flink adaptable to all kinds of deployment environments (e.g. Kubernetes, Yarn, Mesos) [...]
+`}),e.add({id:140,href:"/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/",title:"Memory Management improvements for Flink’s JobManager in Apache Flink 1.11",section:"Flink Blog",content:`Apache Flink 1.11 comes with significant changes to the memory model of Flink’s JobManager and configuration options for your Flink clusters. These recently-introduced changes make Flink adaptable to all kinds of deployment environments (e.g. Kubernetes, Yarn, Mesos) [...]
 The previous blog post focused on the memory model of the TaskManagers and how it was improved in Flink 1.10. This post addresses the same topic but for the JobManager instead. Flink 1.11 unifies the memory model of Flink’s processes. The newly-introduced memory model of the JobManager follows a similar approach to that of the TaskManagers; it is simpler and has fewer components and tuning knobs. This post might consequently seem very similar to our previous story on Flink’s memory but a [...]
 Introduction to Flink’s process memory model # Having a clear understanding of Apache Flink’s process memory model allows you to manage resources for the various workloads more efficiently. The following diagram illustrates the main memory components of a Flink process:
 Flink: Total Process Memory The JobManager process is a JVM process. On a high level, its memory consists of the JVM Heap and Off-Heap memory. These types of memory are consumed by Flink directly or by the JVM for its specific purposes (i.e. metaspace). There are two major memory consumers within the JobManager process: the framework itself consuming memory for internal data structures, network communication, etc. and the user code which runs within the JobManager process, e.g. in certai [...]
@@ -2581,7 +2596,7 @@ User code or its dependencies consume significant off-heap memory. Tuning the Of
 JVM metaspace requires additional memory. If you encounter OutOfMemoryError: Metaspace, Flink provides an option to increase its default limit and the JVM will ensure that it is not exceeded. The metaspace size of a Flink JVM process is always explicitly set in contrast to the default JVM settings where it is not limited.
 JVM requires more internal memory. There is no direct control over certain types of JVM process allocations but Flink provides JVM Overhead options. The JVM Overhead options allow declaring an additional amount of memory, anticipated for those allocations and not covered by other options.
 Conclusion # The latest Flink release (Flink 1.11) introduces some notable changes to the memory configuration of Flink’s JobManager, making its memory management significantly easier than before. Stay tuned for more additions and features in upcoming releases. If you have any suggestions or questions for the Flink community, we encourage you to sign up to the Apache Flink mailing lists and become part of the discussion.
-`}),e.add({id:140,href:"/2020/08/25/apache-flink-1.10.2-released/",title:"Apache Flink 1.10.2 Released",section:"Flink Blog",content:"The Apache Flink community released the second bugfix version of the Apache Flink 1.10 series.\nThis release includes 73 fixes and minor improvements for Flink 1.10.1. The list below includes a detailed list of all fixes and improvements.\nWe highly recommend all users to upgrade to Flink 1.10.2.\nNote After FLINK-18242, the deprecated `OptionsFactory` and [...]
+`}),e.add({id:141,href:"/2020/08/25/apache-flink-1.10.2-released/",title:"Apache Flink 1.10.2 Released",section:"Flink Blog",content:"The Apache Flink community released the second bugfix version of the Apache Flink 1.10 series.\nThis release includes 73 fixes and minor improvements for Flink 1.10.1. The list below includes a detailed list of all fixes and improvements.\nWe highly recommend all users to upgrade to Flink 1.10.2.\nNote After FLINK-18242, the deprecated `OptionsFactory` and [...]
 The Flink community recently put some effort into improving the Docker experience for our users with the goal to reduce confusion and improve usability.
 Let&rsquo;s quickly break down the recent improvements:
 Reduce confusion: Flink used to have 2 Dockerfiles and a 3rd file maintained outside of the official repository — all with different features and varying stability. Now, we have one central place for all images: apache/flink-docker.
@@ -2599,7 +2614,7 @@ Let&rsquo;s now submit one of Flink&rsquo;s example jobs:
 # 1: (optional) Download the Flink distribution, and unpack it wget https://archive.apache.org/dist/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz tar xf flink-1.11.1-bin-scala_2.12.tgz cd flink-1.11.1 # 2: Start the Flink job ./bin/flink run ./examples/streaming/TopSpeedWindowing.jar The main steps of the tutorial are also recorded in this short screencast:
 Next steps: Now that you&rsquo;ve successfully completed this tutorial, we recommend you checking out the full Flink on Docker documentation for implementing more advanced deployment scenarios, such as Job Clusters, Docker Compose or our native Kubernetes integration.
 Conclusion # We encourage all readers to try out Flink on Docker to provide the community with feedback to further improve the experience. Please refer to the user@flink.apache.org (remember to subscribe first) for general questions and our issue tracker for specific bugs or improvements, or ideas for contributions!
-`}),e.add({id:142,href:"/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/",title:"Monitoring and Controlling Networks of IoT Devices with Flink Stateful Functions",section:"Flink Blog",content:`In this blog post, we&rsquo;ll take a look at a class of use cases that is a natural fit for Flink Stateful Functions: monitoring and controlling networks of connected devices (often called the “Internet of Things” (IoT)).
+`}),e.add({id:143,href:"/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/",title:"Monitoring and Controlling Networks of IoT Devices with Flink Stateful Functions",section:"Flink Blog",content:`In this blog post, we&rsquo;ll take a look at a class of use cases that is a natural fit for Flink Stateful Functions: monitoring and controlling networks of connected devices (often called the “Internet of Things” (IoT)).
 IoT networks are composed of many individual, but interconnected components, which makes getting some kind of high-level insight into the status, problems, or optimization opportunities in these networks not trivial. Each individual device “sees” only its own state, which means that the status of groups of devices, or even the network as a whole, is often a complex aggregation of the individual devices’ state. Diagnosing, controlling, or optimizing these groups of devices thus requires d [...]
 A powerful approach to implement this is using digital twins: each device has a corresponding virtual entity (i.e. the digital twin), which also captures their relationships and interactions. The digital twins track the status of their corresponding devices and send updates to other twins, representing groups (such as geographical regions) of devices. Those, in turn, handle the logic to obtain the network&rsquo;s aggregated view, or this &ldquo;bigger picture&rdquo; we mentioned before.
 Our Scenario: Datacenter Monitoring and Alerting # Fig.1 An oversimplified view of a data center. There are many examples of the digital twins approach in the real world, such as smart grids of batteries, smart cities, or monitoring infrastructure software clusters. In this blogpost, we&rsquo;ll use the example of data center monitoring and alert correlation implemented with Stateful Functions.
@@ -2634,7 +2649,7 @@ A root function correlates the high-level events across the intermediate functio
 How does it really look? # ServerFun # This section associates a behaviour for every message that the function expects to be invoked with. The metricsHistory buffer is our sliding window of the last 15 minutes worth of ServerMetricReports. Note that this buffer is configured to expire entries 15 minutes after they were written. serverHealthState represents the current physical server state, open incidents and so on. Let&rsquo;s take a look at what happens when a ServerMetricReport messag [...]
 Retrieve the previously computed serverHealthState that is kept in state. Evaluate a model on the sliding window of the previous metric reports + the current metric reported + the previously computed server state to obtain an assessment of the current server health. If the server is not believed to be healthy, emit an alert via an alerts topic, and also send a message to our containing rack with all the open incidents that this server currently has. We'll omit the other handlers for brev [...]
 Stateful Functions provides the building blocks necessary for building complex distributed applications (here the digital twins that support analysis and interactions of the physical entities), while removing common complexities of distributed systems like service discovery, retires, circuit breakers, state management, scalability and similar challenges. If you&rsquo;d like to learn more about Stateful Functions, head over to the official documentation, where you can also find more hands [...]
-`}),e.add({id:143,href:"/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/",title:"Accelerating your workload with GPU and other external resources",section:"Flink Blog",content:`Apache Flink 1.11 introduces a new External Resource Framework, which allows you to request external resources from the underlying resource management systems (e.g., Kubernetes) and accelerate your workload with those resources. As Flink provides a first-party GPU plugin at the moment, [...]
+`}),e.add({id:144,href:"/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/",title:"Accelerating your workload with GPU and other external resources",section:"Flink Blog",content:`Apache Flink 1.11 introduces a new External Resource Framework, which allows you to request external resources from the underlying resource management systems (e.g., Kubernetes) and accelerate your workload with those resources. As Flink provides a first-party GPU plugin at the moment, [...]
 End-to-end real-time AI with GPU # Recently, AI and Machine Learning have gained additional popularity and have been widely used in various scenarios, such as personalized recommendation and image recognition. Flink, with the ability to support GPU allocation, can be used to build an end-to-end real-time AI workflow.
 Why Flink # Typical AI workloads fall into two categories: training and inference.
 Typical AI Workflow The training workload is usually a batch task, in which we train a model from a bounded dataset. On the other hand, the inference workload tends to be a streaming job. It consumes an unbounded data stream, which contains image data, for example, and uses a model to produce the output of predictions. Both workloads need to do data preprocessing first. Flink, as a unified batch and stream processing engine, can be used to build an end-to-end AI workflow naturally.
@@ -2651,7 +2666,7 @@ Other external resources # In addition to GPU support, there are many other exte
 With the external resource framework, you only need to implement a plugin that enables the operator to get the information for these external resources; see Custom Plugin for more details. If you just want to ensure that an external resource exists in the TaskManager, then you only need to find the configuration key of that resource in the underlying resource management system and configure the external resource framework accordingly.
 Conclusion # In the latest Flink release (Flink 1.11), an external resource framework has been introduced to support requesting various types of resources from the underlying resource management systems, and supply all the necessary information for using these resources to the operators. The first-party GPU plugin expands the application prospects of Flink in the AI domain. Different resource types can be supported in a pluggable way. You can also implement your own plugins for custom re [...]
 Future developments in this area include implementing operator level resource isolation and fine-grained external resource scheduling. The community may kick this work off once FLIP-56 is finished. If you have any suggestions or questions for the community, we encourage you to sign up to the Apache Flink mailing lists and join the discussion there.
-`}),e.add({id:144,href:"/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/",title:"PyFlink: The integration of Pandas into PyFlink",section:"Flink Blog",content:`Python has evolved into one of the most important programming languages for many fields of data processing. So big has been Python’s popularity, that it has pretty much become the default data processing language for data scientists. On top of that, there is a plethora of Python-based data processing tools such as NumPy [...]
+`}),e.add({id:145,href:"/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/",title:"PyFlink: The integration of Pandas into PyFlink",section:"Flink Blog",content:`Python has evolved into one of the most important programming languages for many fields of data processing. So big has been Python’s popularity, that it has pretty much become the default data processing language for data scientists. On top of that, there is a plethora of Python-based data processing tools such as NumPy [...]
 Pic source: VanderPlas 2017, slide 52. In an effort to meet the user needs and demands, the Flink community hopes to leverage and make better use of these tools. Along this direction, the Flink community put some great effort in integrating Pandas into PyFlink with the latest Flink version 1.11. Some of the added features include support for Pandas UDF and the conversion between Pandas DataFrame and Table. Pandas UDF not only greatly improve the execution performance of Python UDF, but a [...]
 Note Currently, only Scalar Pandas UDFs are supported in PyFlink. Pandas UDF in Flink 1.11 # Using scalar Python UDF was already possible in Flink 1.10 as described in a previous article on the Flink blog. Scalar Python UDFs work based on three primary steps:
 the Java operator serializes one input row to bytes and sends them to the Python worker;
@@ -2671,7 +2686,7 @@ Firstly, you need to prepare the input data in the &ldquo;/tmp/input&rdquo; file
 Finally, you can see the execution result on the command line. As you can see, all the temperature data with an empty value has been interpolated: $ cat /tmp/output 1,98.0 1,99.0 1,100.0 2,99.0 Conversion between PyFlink Table and Pandas DataFrame # You can use the from_pandas() method to create a PyFlink Table from a Pandas DataFrame or use the to_pandas() method to convert a PyFlink Table to a Pandas DataFrame.
 from pyflink.datastream import StreamExecutionEnvironment from pyflink.table import StreamTableEnvironment import pandas as pd import numpy as np env = StreamExecutionEnvironment.get_execution_environment() t_env = StreamTableEnvironment.create(env) # Create a PyFlink Table pdf = pd.DataFrame(np.random.rand(1000, 2)) table = t_env.from_pandas(pdf, [&#34;a&#34;, &#34;b&#34;]).filter(&#34;a &gt; 0.5&#34;) # Convert the PyFlink Table to a Pandas DataFrame pdf = table.to_pandas() print(pdf)  [...]
 Future work by the community will focus on adding more features and bringing additional optimizations with follow up releases. Such optimizations and additions include a Python DataStream API and more integration with the Python ecosystem, such as support for distributed Pandas in Flink. Stay tuned for more information and updates with the upcoming releases!
-`}),e.add({id:145,href:"/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/",title:"Advanced Flink Application Patterns Vol.3: Custom Window Processing",section:"Flink Blog",content:` Introduction # In the previous articles of the series, we described how you can achieve flexible stream partitioning based on dynamically-updated configurations (a set of fraud-detection rules) and how you can utilize Flink's Broadcast mechanism to distribute processing configura [...]
+`}),e.add({id:146,href:"/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/",title:"Advanced Flink Application Patterns Vol.3: Custom Window Processing",section:"Flink Blog",content:` Introduction # In the previous articles of the series, we described how you can achieve flexible stream partitioning based on dynamically-updated configurations (a set of fraud-detection rules) and how you can utilize Flink's Broadcast mechanism to distribute processing configura [...]
 This article will describe some high-level concepts that can be applied independently, but it is recommended that you review the material in part one and part two of the series as well as checkout the code base in order to make it easier to follow along.
 ProcessFunction as a &ldquo;Window&rdquo; # Low Latency # Let&rsquo;s start with a reminder of the type of fraud detection rule that we would like to support:
 &ldquo;Whenever the sum of payments from the same payer to the same beneficiary within a 24 hour period is greater than 200 000 $ - trigger an alert.&rdquo;
@@ -2727,7 +2742,7 @@ Fault-tolerant state with quick, local access
 Convenient abstraction for working with this state, which is as simple as using a local variable
 Multi-threaded, parallel execution engine. ProcessFunction code runs in a single thread, without the need for synchronization. Flink handles all the parallel execution aspects and correct access to the shared state, without you, as a developer, having to think about it (concurrency is hard).
 All these aspects make it possible to build applications with Flink that go well beyond trivial streaming ETL use cases and enable implementation of arbitrarily-sophisticated, distributed event-driven applications. With Flink, you can rethink approaches to a wide range of use cases which normally would rely on using stateless parallel execution nodes and &ldquo;pushing&rdquo; the concerns of state fault tolerance to a database, an approach that is often destined to run into scalability i [...]
-`}),e.add({id:146,href:"/2020/07/29/flink-community-update-july20/",title:"Flink Community Update - July'20",section:"Flink Blog",content:`As July draws to an end, we look back at a monthful of activity in the Flink community, including two releases (!) and some work around improving the first-time contribution experience in the project.
+`}),e.add({id:147,href:"/2020/07/29/flink-community-update-july20/",title:"Flink Community Update - July'20",section:"Flink Blog",content:`As July draws to an end, we look back at a monthful of activity in the Flink community, including two releases (!) and some work around improving the first-time contribution experience in the project.
 Also, events are starting to pick up again, so we&rsquo;ve put together a list of some great ones you can (virtually) attend in August!
 The Past Month in Flink # Flink Releases # Flink 1.11 # A couple of weeks ago, Flink 1.11 was announced in what was (again) the biggest Flink release to date (see &ldquo;A Look Into the Evolution of Flink Releases&rdquo;)! The new release brought significant improvements to usability as well as new features to Flink users across the API stack. Some highlights of Flink 1.11 are:
 Unaligned checkpoints to cope with high backpressure scenarios;
@@ -2758,7 +2773,7 @@ Sweet Streams are Made of These: Data Driven Development with Stream Processing
 Beam Summit (Aug. 24-29) Streaming, Fast and Slow
 Building Stateful Streaming Pipelines With Beam
 Blogposts Flink 1.11 Series Application Deployment in Flink: Current State and the new Application Mode Sharing is caring - Catalogs in Flink SQL (Tutorial) Flink SQL Demo: Building an End-to-End Streaming Application (Tutorial) Other Streaming analytics with Java and Apache Flink (Tutorial) Flink for online Machine Learning and real-time processing at Weibo Data-driven Matchmaking at Azar with Apache Flink Flink Packages Flink Packages is a website where you can explore (and contribute  [...]
-`}),e.add({id:147,href:"/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/",title:"Flink SQL Demo: Building an End-to-End Streaming Application",section:"Flink Blog",content:`Apache Flink 1.11 has released many exciting new features, including many developments in Flink SQL which is evolving at a fast pace. This article takes a closer look at how to quickly build streaming applications with Flink SQL from a practical point of view.
+`}),e.add({id:148,href:"/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/",title:"Flink SQL Demo: Building an End-to-End Streaming Application",section:"Flink Blog",content:`Apache Flink 1.11 has released many exciting new features, including many developments in Flink SQL which is evolving at a fast pace. This article takes a closer look at how to quickly build streaming applications with Flink SQL from a practical point of view.
 In the following sections, we describe how to integrate Kafka, MySQL, Elasticsearch, and Kibana with Flink SQL to analyze e-commerce user behavior in real-time. All exercises in this blogpost are performed in the Flink SQL CLI, and the entire process uses standard SQL syntax, without a single line of Java/Scala code or IDE installation. The final result of this demo is shown in the following figure:
 Preparation # Prepare a Linux or MacOS computer with Docker installed.
 Starting the Demo Environment # The components required in this demo are all managed in containers, so we will use docker-compose to start them. First, download the docker-compose.yml file that defines the demo environment, for example by running the following commands:
@@ -2799,13 +2814,13 @@ INSERT INTO top_category SELECT category_name, COUNT(*) buy_cnt FROM rich_user_b
 As illustrated in the diagram, the categories of clothing and shoes exceed by far other categories on the e-commerce website.
 We have now implemented three practical applications and created charts for them. We can now return to the dashboard page and drag-and-drop each view to give our dashboard a more formal and intuitive style, as illustrated in the beginning of the blogpost. Of course, Kibana also provides a rich set of graphics and visualization features, and the user_behavior logs contain a lot more interesting information to explore. Using Flink SQL, you can analyze data in more dimensions, while using K [...]
 Summary # In the previous sections, we described how to use Flink SQL to integrate Kafka, MySQL, Elasticsearch, and Kibana to quickly build a real-time analytics application. The entire process can be completed using standard SQL syntax, without a line of Java or Scala code. We hope that this article provides some clear and practical examples of the convenience and power of Flink SQL, featuring an easy connection to various external systems, native support for event time and out-of-order [...]
-`}),e.add({id:148,href:"/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/",title:"Sharing is caring - Catalogs in Flink SQL",section:"Flink Blog",content:"With an ever-growing number of people working with data, it&rsquo;s a common practice for companies to build self-service platforms with the goal of democratizing their access across different teams and — especially — to enable users from any background to be independent in their data needs. In such environments, metadata management [...]
+`}),e.add({id:149,href:"/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/",title:"Sharing is caring - Catalogs in Flink SQL",section:"Flink Blog",content:"With an ever-growing number of people working with data, it&rsquo;s a common practice for companies to build self-service platforms with the goal of democratizing their access across different teams and — especially — to enable users from any background to be independent in their data needs. In such environments, metadata management [...]
 This release includes 44 fixes and minor improvements for Flink 1.11.0. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.11.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.11.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.11.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Sub-task [FLINK-15794] - Rethink default value of kubernetes.container.image [FLINK-18324] - Translate updated data type and function page into Chinese [FLINK-18387] - Translate &quot;BlackHole SQL Connector&quot; page into Chinese [FLINK-18388] - Translate &quot;CSV Format&quot; page into Chinese [FLINK-18391] - Translate &quot;Avro Format&quot; page into Chinese [FLINK-18395] - Translate &quot;ORC Format&quot; page into Chinese [FLINK-18469] - Add Application Mode to release notes. [FL [...]
+Sub-task [FLINK-15794] - Rethink default value of kubernetes.container.image [FLINK-18324] - Translate updated data type and function page into Chinese [FLINK-18387] - Translate &quot;BlackHole SQL Connector&quot; page into Chinese [FLINK-18388] - Translate &quot;CSV Format&quot; page into Chinese [FLINK-18391] - Translate &quot;Avro Format&quot; page into Chinese [FLINK-18395] - Translate &quot;ORC Format&quot; page into Chinese [FLINK-18469] - Add Application Mode to release notes. [FL [...]
 These platforms aim at simplifying application submission internally by lifting all the operational burden from the end user. To submit Flink applications, these platforms usually expose only a centralized or low-parallelism endpoint (e.g. a Web frontend) for application submission that we will call the Deployer.
 One of the roadblocks that platform developers and maintainers often mention is that the Deployer can be a heavy resource consumer that is difficult to provision for. Provisioning for average load can lead to the Deployer service being overwhelmed with deployment requests (in the worst case, for all production applications in a short period of time), while planning based on top load leads to unnecessary costs. Building on this observation, Flink 1.11 introduces the Application Mode as a  [...]
 In order to understand the problem and how the Application Mode solves it, we start by describing briefly the current status of application execution in Flink, before describing the architectural changes introduced by the new deployment mode and how to leverage them.
@@ -2844,7 +2859,7 @@ To further save the bandwidth of shipping the Flink distribution to the cluster,
 Conclusion # We hope that this discussion helped you understand the differences between the various deployment modes offered by Flink and will help you to make informed decisions about which one is suitable in your own setup. Feel free to play around with them and report any issues you may find. If you have any questions or requests, do not hesitate to post them in the mailing lists and, hopefully, see you (virtually) at one of our conferences or meetups soon!
 The only exceptions are the Web Submission and the Standalone per-job implementation.&#160;&#x21a9;&#xfe0e;
 Support for Kubernetes will come soon.&#160;&#x21a9;&#xfe0e;
-`}),e.add({id:151,href:"/2020/07/06/apache-flink-1.11.0-release-announcement/",title:"Apache Flink 1.11.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is proud to announce the release of Flink 1.11.0! More than 200 contributors worked on over 1.3k issues to bring significant improvements to usability as well as new features to Flink users across the whole API stack. Some highlights that we&rsquo;re particularly excited about are:
+`}),e.add({id:152,href:"/2020/07/06/apache-flink-1.11.0-release-announcement/",title:"Apache Flink 1.11.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is proud to announce the release of Flink 1.11.0! More than 200 contributors worked on over 1.3k issues to bring significant improvements to usability as well as new features to Flink users across the whole API stack. Some highlights that we&rsquo;re particularly excited about are:
 The core engine is introducing unaligned checkpoints, a major change to Flink&rsquo;s fault tolerance mechanism that improves checkpointing performance under heavy backpressure.
 A new Source API that simplifies the implementation of (custom) sources by unifying batch and streaming execution, as well as offloading internals such as event-time handling, watermark generation or idleness detection to Flink.
 Flink SQL is introducing Support for Change Data Capture (CDC) to easily consume and interpret database changelogs from tools like Debezium. The renewed FileSystem Connector also expands the set of use cases and formats supported in the Table API/SQL, enabling scenarios like streaming data directly from Kafka to Hive.
@@ -2931,7 +2946,7 @@ Important Changes # [FLINK-17339] The Blink planner is the default in the Table
 Release Notes # Please review the release notes carefully for a detailed list of changes and new features if you plan to upgrade your setup to Flink 1.11. This version is API-compatible with previous 1.x releases for APIs annotated with the @Public annotation.
 List of Contributors # The Apache Flink community would like to thank all the 200+ contributors that have made this release possible:
 Aitozi, Alexander Fedulov, Alexey Trenikhin, Aljoscha Krettek, Andrey Zagrebin, Arvid Heise, Ayush Saxena, Bairos, Bartosz Krasinski, Benchao Li, Benoit Hanotte, Benoît Paris, Bhagavan Das, Canbin Zheng, Cedric Chen, Chesnay Schepler, Colm O hEigeartaigh, Congxian Qiu, CrazyTomatoOo, Danish Amjad, Danny Chan, David Anderson, Dawid Wysakowicz, Dian Fu, Dominik Wosiński, Echo Lee, Ethan Marsh, Etienne Chauchot, Fabian Hueske, Fabian Paul, Flavio Pompermaier, Gao Yun, Gary Yao, Ghildiyal, G [...]
-`}),e.add({id:152,href:"/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/",title:"Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 2",section:"Flink Blog",content:`In a previous post, we introduced the basics of Flink on Zeppelin and how to do Streaming ETL. In this second part of the &ldquo;Flink on Zeppelin&rdquo; series of posts, I will share how to perform streaming data visualization via Flink on Zeppelin and how to use Apache Flink UDFs i [...]
+`}),e.add({id:153,href:"/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/",title:"Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 2",section:"Flink Blog",content:`In a previous post, we introduced the basics of Flink on Zeppelin and how to do Streaming ETL. In this second part of the &ldquo;Flink on Zeppelin&rdquo; series of posts, I will share how to perform streaming data visualization via Flink on Zeppelin and how to use Apache Flink UDFs i [...]
 Streaming Data Visualization # With Zeppelin, you can build a real time streaming dashboard without writing any line of javascript/html/css code.
 Overall, Zeppelin supports 3 kinds of streaming data analytics:
 Single Mode Update Mode Append Mode Single Mode # Single mode is used for cases when the result of a SQL statement is always one row, such as the following example. The output format is translated in HTML, and you can specify a paragraph local property template for the final output content template. And you can use {i} as placeholder for the {i}th column of the result.
@@ -2940,14 +2955,14 @@ Append Mode # Append mode is suitable for the cases when the output data is alwa
 UDF # SQL is a very powerful language, especially in expressing data flow. But most of the time, you need to handle complicated business logic that cannot be expressed by SQL. In these cases UDFs (user-defined functions) come particularly handy. In Zeppelin, you can write Scala or Python UDFs, while you can also import Scala, Python and Java UDFs. Here are 2 examples of Scala and Python UDFs:
 Scala UDF %flink class ScalaUpper extends ScalarFunction { def eval(str: String) = str.toUpperCase } btenv.registerFunction(&#34;scala_upper&#34;, new ScalaUpper()) Python UDF %flink.pyflink class PythonUpper(ScalarFunction): def eval(self, s): return s.upper() bt_env.register_function(&#34;python_upper&#34;, udf(PythonUpper(), DataTypes.STRING(), DataTypes.STRING())) After you define the UDFs, you can use them directly in SQL:
 Use Scala UDF in SQL Use Python UDF in SQL Summary # In this post, we explained how to perform streaming data visualization via Flink on Zeppelin and how to use UDFs. Besides that, you can do more in Zeppelin with Flink, such as batch processing, Hive integration and more. You can check the following articles for more details and here&rsquo;s a list of Flink on Zeppelin tutorial videos for your reference.
-References # Apache Zeppelin official website Flink on Zeppelin tutorials - Part 1 Flink on Zeppelin tutorials - Part 2 Flink on Zeppelin tutorials - Part 3 Flink on Zeppelin tutorials - Part 4 Flink on Zeppelin tutorial videos `}),e.add({id:153,href:"/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/",title:"Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1",section:"Flink Blog",content:`The latest release of Apache Zeppelin comes with a redes [...]
+References # Apache Zeppelin official website Flink on Zeppelin tutorials - Part 1 Flink on Zeppelin tutorials - Part 2 Flink on Zeppelin tutorials - Part 3 Flink on Zeppelin tutorials - Part 4 Flink on Zeppelin tutorial videos `}),e.add({id:154,href:"/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/",title:"Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1",section:"Flink Blog",content:`The latest release of Apache Zeppelin comes with a redes [...]
 The Flink Interpreter in Zeppelin 0.9 # The Flink interpreter can be accessed and configured from Zeppelin’s interpreter settings page. The interpreter has been refactored so that Flink users can now take advantage of Zeppelin to write Flink applications in three languages, namely Scala, Python (PyFlink) and SQL (for both batch &amp; streaming executions). Zeppelin 0.9 now comes with the Flink interpreter group, consisting of the below five interpreters:
 %flink - Provides a Scala environment %flink.pyflink - Provides a python environment %flink.ipyflink - Provides an ipython environment %flink.ssql - Provides a stream sql environment %flink.bsql - Provides a batch sql environment Not only has the interpreter been extended to support writing Flink applications in three languages, but it has also extended the available execution modes for Flink that now include:
 Running Flink in Local Mode Running Flink in Remote Mode Running Flink in Yarn Mode You can find more information about how to get started with Zeppelin and all the execution modes for Flink applications in Zeppelin notebooks in this post.
 Flink on Zeppelin for Stream processing # Performing stream processing jobs with Apache Flink on Zeppelin allows you to run most major streaming cases, such as streaming ETL and real time data analytics, with the use of Flink SQL and specific UDFs. Below we showcase how you can execute streaming ETL using Flink on Zeppelin:
 You can use Flink SQL to perform streaming ETL by following the steps below (for the full tutorial, please refer to the Flink Tutorial/Streaming ETL tutorial of the Zeppelin distribution):
 Step 1. Create source table to represent the source data. Step 2. Create a sink table to represent the processed data. Step 3. After creating the source and sink table, we can insert them to our statement to trigger the stream processing job as the following: Step 4. After initiating the streaming job, you can use another SQL statement to query the sink table to verify the results of your job. Here you can see the top 10 records which will be refreshed every 3 seconds. Summary # In this  [...]
-References # Apache Zeppelin official website Flink on Zeppelin tutorials - Part 1 Flink on Zeppelin tutorials - Part 2 Flink on Zeppelin tutorials - Part 3 Flink on Zeppelin tutorials - Part 4 Flink on Zeppelin tutorial videos `}),e.add({id:154,href:"/2020/06/10/flink-community-update-june20/",title:"Flink Community Update - June'20",section:"Flink Blog",content:`And suddenly it’s June. The previous month has been calm on the surface, but quite hectic underneath — the final testing phas [...]
+References # Apache Zeppelin official website Flink on Zeppelin tutorials - Part 1 Flink on Zeppelin tutorials - Part 2 Flink on Zeppelin tutorials - Part 3 Flink on Zeppelin tutorials - Part 4 Flink on Zeppelin tutorial videos `}),e.add({id:155,href:"/2020/06/10/flink-community-update-june20/",title:"Flink Community Update - June'20",section:"Flink Blog",content:`And suddenly it’s June. The previous month has been calm on the surface, but quite hectic underneath — the final testing phas [...]
 To top it off, a piece of good news: Flink Forward is back on October 19-22 as a free virtual event!
 The Past Month in Flink # Flink Stateful Functions 2.1 Release # It might seem like Stateful Functions 2.0 was announced 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 important changes that im [...]
 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 looking for new contributors — especially around SDKs for other languages (e.g. Go, Rust, Javascript).
@@ -2966,7 +2981,7 @@ Got a Flink story to share? Maybe your recent adventures with Stateful Functions
 Google Season of Docs 2020 # In the last update, we announced that Flink was applying to Google Season of Docs (GSoD) 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 look forward to receiving applicatio [...]
 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 announcement blogpost and submit your application. The deadline for GSoD applications is July 9th, 18:00 UTC.
 If you’d like to keep a closer eye on what’s happening in the community, subscribe to the Flink @community mailing list to get fine-grained weekly updates, upcoming event announcements and more.
-`}),e.add({id:155,href:"/2020/06/09/stateful-functions-2.1.0-release-announcement/",title:"Stateful Functions 2.1.0 Release Announcement",section:"Flink Blog",content:`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 commu [...]
+`}),e.add({id:156,href:"/2020/06/09/stateful-functions-2.1.0-release-announcement/",title:"Stateful Functions 2.1.0 Release Announcement",section:"Flink Blog",content:`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 commu [...]
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Python SDK distribution is available on PyPI. For more details, check the complete release changelog and the updated documentation. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA!
 New Features and Improvements # Support for State Time-To-Live (TTL) # Being able to define state expiration and a state cleanup strategy is a useful feature for stateful applications — for example, to keep state size from growing indefinitely or to work with sensitive data. In previous StateFun versions, users could implement this behavior manually using delayed messages as state expiration callbacks. For StateFun 2.1, the community has worked on enabling users to configure any persiste [...]
 Persisted state can be configured to expire after the last write operation (AFTER_WRITE) or after the last read or write operation (AFTER_READ_AND_WRITE). For the Java SDK, users can configure State TTL in the definition of their persisted fields:
@@ -2981,13 +2996,13 @@ Release Notes # Please review the release notes for a detailed list of changes a
 List of Contributors # The Apache Flink community would like to thank all contributors that have made this release possible:
 abc863377, Authuir, Chesnay Schepler, Congxian Qiu, David Anderson, Dian Fu, Francesco Guardiani, Igal Shilman, Marta Paes Moreira, Patrick Wiener, Rafi Aroch, Seth Wiesman, Stephan Ewen, Tzu-Li (Gordon) Tai
 If you’d like to get involved, we’re always looking for new contributors — especially around SDKs for other languages like Go, Rust or Javascript.
-`}),e.add({id:156,href:"/2020/05/12/apache-flink-1.10.1-released/",title:"Apache Flink 1.10.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.10 series.
+`}),e.add({id:157,href:"/2020/05/12/apache-flink-1.10.1-released/",title:"Apache Flink 1.10.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.10 series.
 This release includes 158 fixes and minor improvements for Flink 1.10.0. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.10.1.
 Note FLINK-16684 changed the builders of the StreamingFileSink to make them compilable in Scala. This change is source compatible but binary incompatible. If using the StreamingFileSink, please recompile your user code against 1.10.1 before upgrading. Note FLINK-16683 Flink no longer supports starting clusters with .bat scripts. Users should instead use environments like WSL or Cygwin and work with the .sh scripts. Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.10.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.10.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
 List of resolved issues:
-Sub-task [FLINK-14126] - Elasticsearch Xpack Machine Learning doesn&#39;t support ARM [FLINK-15143] - Create document for FLIP-49 TM memory model and configuration guide [FLINK-15561] - Unify Kerberos credentials checking [FLINK-15790] - Make FlinkKubeClient and its implementations asynchronous [FLINK-15817] - Kubernetes Resource leak while deployment exception happens [FLINK-16049] - Remove outdated &quot;Best Practices&quot; section from Application Development Section [FLINK-16131] -  [...]
+Sub-task [FLINK-14126] - Elasticsearch Xpack Machine Learning doesn&#39;t support ARM [FLINK-15143] - Create document for FLIP-49 TM memory model and configuration guide [FLINK-15561] - Unify Kerberos credentials checking [FLINK-15790] - Make FlinkKubeClient and its implementations asynchronous [FLINK-15817] - Kubernetes Resource leak while deployment exception happens [FLINK-16049] - Remove outdated &quot;Best Practices&quot; section from Application Development Section [FLINK-16131] -  [...]
 Last month also marked the debut of Flink Forward Virtual Conference 2020: what did you think? If you missed it altogether or just want to recap some of the sessions, the videos and slides are now available!
 The Past Month in Flink # Flink Stateful Functions 2.0 is out! # In the beginning of April, the Flink community announced the release of Stateful Functions 2.0 — the first as part of the Apache Flink project. From this release, you can use Flink as the base of a (stateful) serverless platform with out-of-the-box consistent and scalable state, and efficient messaging between functions. You can even run your stateful functions on platforms like AWS Lambda, as Gordon (@tzulitai) demonstrate [...]
 It’s been encouraging to see so many questions about Stateful Functions popping up in the mailing list and Stack Overflow! If you’d like to get involved, we’re always looking for new contributors — especially around SDKs for other languages like Go, Javascript and Rust.
@@ -3017,7 +3032,7 @@ Some areas of the documentation have insufficient detail or are not accessible f
 If you’re interested in learning more about this project idea or want to get involved in GSoD as a technical writer, check out the announcement blogpost.
 &hellip;and something to read! # Events across the globe have pretty much come to a halt, so we’ll leave you with some interesting resources to read and explore instead. In addition to this written content, you can also recap the sessions from the Flink Forward Virtual Conference!
 Type Links Blogposts Event-Driven Supply Chain for Crisis with FlinkSQL and Zeppelin Memory Management Improvements with Apache Flink 1.10 Flink Serialization Tuning Vol. 1: Choosing your Serializer — if you can Tutorials PyFlink: Introducing Python Support for UDFs in Flink's Table API Flink Stateful Functions: where to start? Flink Packages Flink Packages is a website where you can explore (and contribute to) the Flink ecosystem of connectors, extensions, APIs, tools and integrations.  [...]
-`}),e.add({id:158,href:"/2020/05/04/applying-to-google-season-of-docs-2020/",title:"Applying to Google Season of Docs 2020",section:"Flink Blog",content:`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. The first edition supported ove [...]
+`}),e.add({id:159,href:"/2020/05/04/applying-to-google-season-of-docs-2020/",title:"Applying to Google Season of Docs 2020",section:"Flink Blog",content:`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. The first edition supported ove [...]
 Why Apply? # As one of the most active projects in the ASF, Flink is experiencing a boom in contributions and some major changes to its codebase. And, while the project has also seen a significant increase in activity when it comes to writing, reviewing and translating documentation, it’s hard to keep up with the pace.
 Since last year, the community has been working on FLIP-42 to improve the documentation experience and bring a more accessible information architecture to Flink. After some discussion, we agreed that GSoD would be a valuable opportunity to double down on this effort and collaborate with someone who is passionate about technical writing&hellip;and Flink!
 How can you contribute? # If working shoulder to shoulder with the Flink community on documentation sounds exciting, we’d love to hear from you! You can read more about our idea for this year’s project below and, depending on whether it is accepted, apply as a technical writer. If you have any questions or just want to know more about the project idea, ping us at dev@flink.apache.org!
@@ -3034,13 +3049,13 @@ Table API &amp; SQL Documentation: //nightlies.apache.org/flink/flink-docs-relea
 How to Contribute Documentation: https://flink.apache.org/contributing/contribute-documentation.html
 Documentation Style Guide: https://flink.apache.org/contributing/docs-style.html
 We look forward to receiving feedback on this GSoD application and also to continue improving the documentation experience for Flink users. Join us!
-`}),e.add({id:159,href:"/2020/04/24/apache-flink-1.9.3-released/",title:"Apache Flink 1.9.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.9 series.
+`}),e.add({id:160,href:"/2020/04/24/apache-flink-1.9.3-released/",title:"Apache Flink 1.9.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.9 series.
 This release includes 38 fixes and minor improvements for Flink 1.9.2. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.9.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.9.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.9.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-15143] - Create document for FLIP-49 TM memory model and configuration guide [FLINK-16389] - Bump Kafka 0.10 to 0.10.2.2 Bug [FLINK-11193] - Rocksdb timer service factory configuration option is not settable per job [FLINK-14316] - Stuck in &quot;Job leader ... lost leadership&quot; error [FLINK-14560] - The value of taskmanager.memory.size in flink-conf.yaml is set to zero will cause taskmanager not to work [FLINK-15010] - Temp directories flink-netty-shuffle-* are not c [...]
+Sub-task [FLINK-15143] - Create document for FLIP-49 TM memory model and configuration guide [FLINK-16389] - Bump Kafka 0.10 to 0.10.2.2 Bug [FLINK-11193] - Rocksdb timer service factory configuration option is not settable per job [FLINK-14316] - Stuck in &quot;Job leader ... lost leadership&quot; error [FLINK-14560] - The value of taskmanager.memory.size in flink-conf.yaml is set to zero will cause taskmanager not to work [FLINK-15010] - Temp directories flink-netty-shuffle-* are not c [...]
 Introduction to Flink’s memory model # Having a clear understanding of Apache Flink’s memory model allows you to manage resources for the various workloads more efficiently. The following diagram illustrates the main memory components in Flink:
 Flink: Total Process Memory The Task Manager process is a JVM process. On a high level, its memory consists of the JVM Heap and Off-Heap memory. These types of memory are consumed by Flink directly or by JVM for its specific purposes (i.e. metaspace etc.). There are two major memory consumers within Flink: the user code of job operator tasks and the framework itself consuming memory for internal data structures, network buffers, etc.
 Please note that the user code has direct access to all memory types: JVM Heap, Direct and Native memory. Therefore, Flink cannot really control its allocation and usage. There are however two types of Off-Heap memory which are consumed by tasks and controlled explicitly by Flink:
@@ -3061,7 +3076,7 @@ User code or its dependencies consume significant off-heap memory. Tuning the Ta
 JVM metaspace requires additional memory. If you encounter OutOfMemoryError: Metaspace, Flink provides an option to increase its limit and the JVM will ensure that it is not exceeded.
 JVM requires more internal memory. There is no direct control over certain types of JVM process allocations but Flink provides JVM Overhead options. The options allow declaring an additional amount of memory, anticipated for those allocations and not covered by other options.
 Conclusion # The latest Flink release (Flink 1.10) introduces some significant changes to Flink’s memory configuration, making it possible to manage your application memory and debug Flink significantly better than before. Future developments in this area also include adopting a similar memory model for the job manager process in FLIP-116, so stay tuned for more additions and features in upcoming releases. If you have any suggestions or questions for the community, we encourage you to si [...]
-`}),e.add({id:161,href:"/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/",title:"Flink Serialization Tuning Vol. 1: Choosing your Serializer — if you can",section:"Flink Blog",content:`Almost every Flink job has to exchange data between its operators and since these records may not only be sent to another instance in the same JVM but instead to a separate process, records need to be serialized to bytes first. Similarly, Flink’s off-heap state-backend is  [...]
+`}),e.add({id:162,href:"/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/",title:"Flink Serialization Tuning Vol. 1: Choosing your Serializer — if you can",section:"Flink Blog",content:`Almost every Flink job has to exchange data between its operators and since these records may not only be sent to another instance in the same JVM but instead to a separate process, records need to be serialized to bytes first. Similarly, Flink’s off-heap state-backend is  [...]
 Since serialization is so crucial to your Flink job, we would like to highlight Flink’s serialization stack in a series of blog posts starting with looking at the different ways Flink can serialize your data types.
 Recap: Flink Serialization # Flink handles data types and serialization with its own type descriptors, generic type extraction, and type serialization framework. We recommend reading through the documentation first in order to be able to follow the arguments we present below. In essence, Flink tries to infer information about your job’s data types for wire and state serialization, and to be able to use grouping, joining, and aggregation operations by referring to individual field names,  [...]
 Choice of Serializer # Apache Flink&rsquo;s out-of-the-box serialization can be roughly divided into the following groups:
@@ -3107,7 +3122,7 @@ If you cannot use POJOs, try to define your data type with one of the serializat
 Note As with all benchmarks, please bear in mind that these numbers only give a hint on Flink’s serializer performance in a specific scenario. They may be different with your data types but the rough classification is probably the same. If you want to be sure, please verify the results with your data types. You should be able to copy from \`SerializationFrameworkAllBenchmarks.java\` to set up your own micro-benchmarks or integrate different serialization benchmarks into your own tooling. [...]
 The fastest de/serialization is achieved with Flink’s internal tuple and row serializers which can access these types&rsquo; fields directly without going via reflection. With roughly 30% decreased throughput as compared to tuples, Protobuf and POJO types do not perform too badly on their own and are more flexible and maintainable. Avro (specific and generic) records as well as Thrift data types further reduce performance by 20% and 30%, respectively. You definitely want to avoid Kryo as [...]
 The next article in this series will use this finding as a starting point to look into a few common pitfalls and obstacles of avoiding Kryo, how to get the most out of the PojoSerializer, and a few more tuning techniques with respect to serialization. Stay tuned for more.
-`}),e.add({id:162,href:"/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/",title:"PyFlink: Introducing Python Support for UDFs in Flink's Table API",section:"Flink Blog",content:`Flink 1.9 introduced the Python Table API, allowing developers and data engineers to write Python Table API jobs for Table transformations and analysis, such as Python ETL or aggregate jobs. However, Python users faced some limitations when it came to support for Python UDFs in Flink 1 [...]
+`}),e.add({id:163,href:"/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/",title:"PyFlink: Introducing Python Support for UDFs in Flink's Table API",section:"Flink Blog",content:`Flink 1.9 introduced the Python Table API, allowing developers and data engineers to write Python Table API jobs for Table transformations and analysis, such as Python ETL or aggregate jobs. However, Python users faced some limitations when it came to support for Python UDFs in Flink 1 [...]
 In Flink 1.10, the community further extended the support for Python by adding Python UDFs in PyFlink. Additionally, both the Python UDF environment and dependency management are now supported, allowing users to import third-party libraries in the UDFs, leveraging Python&rsquo;s rich set of third-party libraries.
 Python Support for UDFs in Flink 1.10 # Before diving into how you can define and use Python UDFs, we explain the motivation and background behind how UDFs work in PyFlink and provide some additional context about the implementation of our approach. Below we give a brief introduction on the PyFlink architecture from job submission, all the way to executing the Python UDF.
 The PyFlink architecture mainly includes two parts — local and cluster — as shown in the architecture visual below. The local phase is the compilation of the job, and the cluster is the execution of the job.
@@ -3129,7 +3144,7 @@ Suppose you want to use the mpmath to perform the sum of the example above. The
 @udf(input_types=[DataTypes.BIGINT(), DataTypes.BIGINT()], result_type=DataTypes.BIGINT()) def add(i, j): from mpmath import fadd # add third-party dependency return int(fadd(i, j)) To make it available on the worker node that does not contain the dependency, you can specify the dependencies with the following commands and API:
 $ cd /tmp $ echo mpmath==1.1.0 &gt; requirements.txt $ pip download -d cached_dir -r requirements.txt --no-binary :all: t_env.set_python_requirements(&#34;/tmp/requirements.txt&#34;, &#34;/tmp/cached_dir&#34;) A requirements.txt file that defines the third-party dependencies is used. If the dependencies cannot be accessed in the cluster, then you can specify a directory containing the installation packages of these dependencies by using the parameter &ldquo;requirements_cached_dir&rdquo; [...]
 Conclusion &amp; Upcoming work # In this blog post, we introduced the architecture of Python UDFs in PyFlink and provided some examples on how to define, register and invoke UDFs. Flink 1.10 brings Python support in the framework to new levels, allowing Python users to write even more magic with their preferred language. The community is actively working towards continuously improving the functionality and performance of PyFlink. Future work in upcoming releases will introduce support fo [...]
-`}),e.add({id:163,href:"/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/",title:"Stateful Functions 2.0 - An Event-driven Database on Apache Flink",section:"Flink Blog",content:`Today, we are announcing the release of Stateful Functions (StateFun) 2.0 — the first release of Stateful Functions as part of the Apache Flink project. This release marks a big milestone: Stateful Functions 2.0 is not only an API update, but the first version of an event-driven databa [...]
+`}),e.add({id:164,href:"/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/",title:"Stateful Functions 2.0 - An Event-driven Database on Apache Flink",section:"Flink Blog",content:`Today, we are announcing the release of Stateful Functions (StateFun) 2.0 — the first release of Stateful Functions as part of the Apache Flink project. This release marks a big milestone: Stateful Functions 2.0 is not only an API update, but the first version of an event-driven databa [...]
 Stateful Functions 2.0 makes it possible to combine StateFun’s powerful approach to state and composition with the elasticity, rapid scaling/scale-to-zero and rolling upgrade capabilities of FaaS implementations like AWS Lambda and modern resource orchestration frameworks like Kubernetes.
 With these features, Stateful Functions 2.0 addresses two of the most cited shortcomings of many FaaS setups today: consistent state and efficient messaging between functions.
 An Event-driven Database # When Stateful Functions joined Apache Flink at the beginning of this year, the project had started as a library on top of Flink to build general-purpose event-driven applications. Users would implement functions that receive and send messages, and maintain state in persistent variables. Flink provided the runtime with efficient exactly-once state and messaging. Stateful Functions 1.0 was a FaaS-inspired mix between stream processing and actor programming — on s [...]
@@ -3162,7 +3177,7 @@ The project is still in a comparatively early stage, so if you want to get invol
 To follow the project and learn more, please check out these resources:
 Code: https://github.com/apache/flink-statefun Docs: //nightlies.apache.org/flink/flink-statefun-docs-release-2.0/ Apache Flink project site: https://flink.apache.org/ Apache Flink on Twitter: @ApacheFlink Stateful Functions Webpage: https://statefun.io Stateful Functions on Twitter: @StateFun_IO Thank you! # The Apache Flink community would like to thank all contributors that have made this release possible:
 David Anderson, Dian Fu, Igal Shilman, Seth Wiesman, Stephan Ewen, Tzu-Li (Gordon) Tai, hequn8128
-`}),e.add({id:164,href:"/2020/03/30/flink-community-update-april20/",title:"Flink Community Update - April'20",section:"Flink Blog",content:`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.
+`}),e.add({id:165,href:"/2020/03/30/flink-community-update-april20/",title:"Flink Community Update - April'20",section:"Flink Blog",content:`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.
 And since now it&rsquo;s more important than ever to keep up the spirits, we’d like to invite you to join the Flink Forward Virtual Conference, on April 22-24 (see Upcoming Events). Hope to see you there!
 The Year (so far) in Flink # Flink 1.10 Release # To kick off the new year, the Flink community released Flink 1.10 with the record contribution of over 200 engineers. This release introduced significant improvements to the overall performance and stability of Flink jobs, a preview of native Kubernetes integration and advances in Python support (PyFlink). Flink 1.10 also marked the completion of the Blink integration, hardening streaming SQL and bringing mature batch processing to Flink  [...]
 The community is now discussing the release of Flink 1.10.1, covering some outstanding bugs from Flink 1.10.
@@ -3183,7 +3198,7 @@ Flink &ldquo;Engine Room&rdquo; # The community has recently launched the “Eng
 Upcoming Events # Flink Forward Virtual Conference # The organization of Flink Forward had to make the hard decision of cancelling this year’s event in San Francisco. But all is not lost! Flink Forward SF will be held online on April 22-24 and you can register (for free) here. Join the community for interactive talks and Q&amp;A sessions with core Flink contributors and companies like Splunk, Lyft, Netflix or Google.
 Others # Events across the globe have come to a halt due to the growing concerns around COVID-19, so this time we’ll leave you with some interesting content to read instead. In addition to this written content, you can also recap last year’s sessions from Flink Forward Berlin and Flink Forward China!
 Type Links Blogposts Replayable Process Functions: Time, Ordering, and Timers @Bird Application Log Intelligence & Performance Insights at Salesforce Using Flink @Salesforce State Unlocked: Interacting with State in Apache Flink Advanced Flink Application Patterns Vol.1: Case Study of a Fraud Detection System Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic Apache Beam: How Beam Runs on Top of Flink Flink as Unified Engine for Modern Data Warehousing: Produ [...]
-`}),e.add({id:165,href:"/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/",title:"Flink as Unified Engine for Modern Data Warehousing: Production-Ready Hive Integration",section:"Flink Blog",content:`In this blog post, you will learn our motivation behind the Flink-Hive integration, and how Flink 1.10 can help modernize your data warehouse.
+`}),e.add({id:166,href:"/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/",title:"Flink as Unified Engine for Modern Data Warehousing: Production-Ready Hive Integration",section:"Flink Blog",content:`In this blog post, you will learn our motivation behind the Flink-Hive integration, and how Flink 1.10 can help modernize your data warehouse.
 Introduction # What are some of the latest requirements for your data warehouse and data infrastructure in 2020?
 We’ve came up with some for you.
 Firstly, today’s business is shifting to a more real-time fashion, and thus demands abilities to process online streaming data with low latency for near-real-time or even real-time analytics. People become less and less tolerant of delays between when data is generated and when it arrives at their hands, ready to use. Hours or even days of delay is not acceptable anymore. Users are expecting minutes, or even seconds, of end-to-end latency for data in their warehouse, to get quicker-than- [...]
@@ -3214,7 +3229,7 @@ Hive streaming sink so that Flink can stream data into Hive tables, bringing a r
 Summary # Data warehousing is shifting to a more real-time fashion, and Apache Flink can make a difference for your organization in this space.
 Flink 1.10 brings production-ready Hive integration and empowers users to achieve more in both metadata management and unified/batch data processing.
 We encourage all our users to get their hands on Flink 1.10. You are very welcome to join the community in development, discussions, and all other kinds of collaborations in this topic.
-`}),e.add({id:166,href:"/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/",title:"Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic",section:"Flink Blog",content:`In the first article of the series, we gave a high-level description of the objectives and required functionality of a Fraud Detection engine. We also described how to make data partitioning in Apache Flink customizable based on modifiable rules instead of  [...]
+`}),e.add({id:167,href:"/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/",title:"Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic",section:"Flink Blog",content:`In the first article of the series, we gave a high-level description of the objectives and required functionality of a Fraud Detection engine. We also described how to make data partitioning in Apache Flink customizable based on modifiable rules instead of  [...]
 We intentionally omitted details of how the applied rules are initialized and what possibilities exist for updating them at runtime. In this post, we will address exactly these details. You will learn how the approach to data partitioning described in Part 1 can be applied in combination with a dynamic configuration. These two patterns, when used together, can eliminate the need to recompile the code and redeploy your Flink job for a wide range of modifications of the business logic.
 Rules Broadcasting # Let&rsquo;s first have a look at the previously-defined data-processing pipeline:
 DataStream&lt;Alert&gt; alerts = transactions .process(new DynamicKeyFunction()) .keyBy((keyed) -&gt; keyed.getKey()); .process(new DynamicAlertFunction()) DynamicKeyFunction provides dynamic data partitioning while DynamicAlertFunction is responsible for executing the main logic of processing transactions and sending alert messages according to defined rules.
@@ -3235,7 +3250,7 @@ public abstract class BroadcastProcessFunction&lt;IN1, IN2, OUT&gt; { public abs
 public class DynamicKeyFunction extends BroadcastProcessFunction&lt;Transaction, Rule, Keyed&lt;Transaction, String, Integer&gt;&gt; { @Override public void processBroadcastElement(Rule rule, Context ctx, Collector&lt;Keyed&lt;Transaction, String, Integer&gt;&gt; out) { BroadcastState&lt;Integer, Rule&gt; broadcastState = ctx.getBroadcastState(RULES_STATE_DESCRIPTOR); broadcastState.put(rule.getRuleId(), rule); } @Override public void processElement(Transaction event, ReadOnlyContext ctx [...]
 DynamicAlertFunction follows the same logic with respect to storing the rules in the broadcast MapState. As described in Part 1, each message in the processElement input is intended to be processed by one specific rule and comes &ldquo;pre-marked&rdquo; with a corresponding ID by DynamicKeyFunction. All we need to do is retrieve the definition of the corresponding rule from BroadcastState by using the provided ID and process it according to the logic required by that rule. At this stage, [...]
 Summary # In this blog post, we continued our investigation of the use case of a Fraud Detection System built with Apache Flink. We looked into different ways in which data can be distributed between parallel operator instances and, most importantly, examined broadcast state. We demonstrated how dynamic partitioning — a pattern described in the first part of the series — can be combined and enhanced by the functionality provided by the broadcast state pattern. The ability to send dynamic [...]
-`}),e.add({id:167,href:"/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/",title:"Apache Beam: How Beam Runs on Top of Flink",section:"Flink Blog",content:`Note: This blog post is based on the talk &ldquo;Beam on Flink: How Does It Actually Work?&rdquo;.
+`}),e.add({id:168,href:"/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/",title:"Apache Beam: How Beam Runs on Top of Flink",section:"Flink Blog",content:`Note: This blog post is based on the talk &ldquo;Beam on Flink: How Does It Actually Work?&rdquo;.
 Apache Flink and Apache Beam are open-source frameworks for parallel, distributed data processing at scale. Unlike Flink, Beam does not come with a full-blown execution engine of its own but plugs into other execution engines, such as Apache Flink, Apache Spark, or Google Cloud Dataflow. In this blog post we discuss the reasons to use Flink together with Beam for your batch and stream processing needs. We also take a closer look at how Beam works with Flink to provide an idea of the tech [...]
 What is Apache Beam # Apache Beam is an open-source, unified model for defining batch and streaming data-parallel processing pipelines. It is unified in the sense that you use a single API, in contrast to using a separate API for batch and streaming like it is the case in Flink. Beam was originally developed by Google which released it in 2014 as the Cloud Dataflow SDK. In 2016, it was donated to the Apache Software Foundation with the name of Beam. It has been developed by the open-sour [...]
 The execution model, as well as the API of Apache Beam, are similar to Flink&rsquo;s. Both frameworks are inspired by the MapReduce, MillWheel, and Dataflow papers. Like Flink, Beam is designed for parallel, distributed data processing. Both have similar transformations, support for windowing, event/processing time, watermarks, timers, triggers, and much more. However, Beam not being a full runtime focuses on providing the framework for building portable, multi-language batch and stream  [...]
@@ -3265,7 +3280,7 @@ Environments can be present for many languages. This opens up an entirely new ty
 Conclusion # Using Apache Beam with Apache Flink combines (a.) the power of Flink with (b.) the flexibility of Beam. All it takes to run Beam is a Flink cluster, which you may already have. Apache Beam&rsquo;s fully-fledged Python API is probably the most compelling argument for using Beam with Flink, but the unified API which allows to &ldquo;write-once&rdquo; and &ldquo;execute-anywhere&rdquo; is also very appealing to Beam users. On top of this, features like side inputs and a rich co [...]
 With the introduction of schemas, a new format for handling type information, Beam is heading in a similar direction as Flink with its type system which is essential for the Table API or SQL. Speaking of, the next Flink release will include a Python version of the Table API which is based on the language portability of Beam. Looking ahead, the Beam community plans to extend the support for interactive programs like notebooks. TFX, which is built with Beam, is a very powerful way to solve [...]
 For many years, Beam and Flink have inspired and learned from each other. With the Python support being based on Beam in Flink, they only seem to come closer to each other. That&rsquo;s all the better for the community, and also users have more options and functionality to choose from.
-`}),e.add({id:168,href:"/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/",title:"No Java Required: Configuring Sources and Sinks in SQL",section:"Flink Blog",content:` Introduction # The recent Apache Flink 1.10 release includes many exciting features. In particular, it marks the end of the community&rsquo;s year-long effort to merge in the Blink SQL contribution from Alibaba. The reason the community chose to spend so much time on the contribution is that SQL works. It [...]
+`}),e.add({id:169,href:"/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/",title:"No Java Required: Configuring Sources and Sinks in SQL",section:"Flink Blog",content:` Introduction # The recent Apache Flink 1.10 release includes many exciting features. In particular, it marks the end of the community&rsquo;s year-long effort to merge in the Blink SQL contribution from Alibaba. The reason the community chose to spend so much time on the contribution is that SQL works. It [...]
 A lot of work focused on improving runtime performance and progressively extending its coverage of the SQL standard. Flink now supports the full TPC-DS query set for batch queries, reflecting the readiness of its SQL engine to address the needs of modern data warehouse-like workloads. Its streaming SQL supports an almost equal set of features - those that are well defined on a streaming runtime - including complex joins and MATCH_RECOGNIZE.
 As important as this work is, the community also strives to make these features generally accessible to the broadest audience possible. That is why the Flink community is excited in 1.10 to offer production-ready DDL syntax (e.g., CREATE TABLE, DROP TABLE) and a refactored catalog interface.
 Accessing Your Data Where It Lives # Flink does not store data at rest; it is a compute engine and requires other systems to consume input from and write its output. Those that have used Flink&rsquo;s DataStream API in the past will be familiar with connectors that allow for interacting with external systems. Flink has a vast connector ecosystem that includes all major message queues, filesystems, and databases.
@@ -3278,7 +3293,7 @@ To solve this problem, Flink 1.10 also ships with a revamped catalog system for
 The most notable catalog that Flink integrates with today is Hive Metastore. The Hive catalog allows Flink to fully interoperate with Hive and serve as a more efficient query engine. Flink supports reading and writing Hive tables, using Hive UDFs, and even leveraging Hive&rsquo;s metastore catalog to persist Flink specific metadata.
 Looking Ahead # Flink SQL has made enormous strides to democratize stream processing, and 1.10 marks a significant milestone in that development. However, we are not ones to rest on our laurels and, the community is committed to raising the bar on standards while lowering the barriers to entry. The community is looking to add more catalogs, such as JDBC and Apache Pulsar. We encourage you to sign up for the mailing list and stay on top of the announcements and new features in upcoming releases.
 My colleague Timo, whose worked on Flink SQL from the beginning, has the entire SQL standard printed on his desk and references it before any changes are merged. It&rsquo;s enormous.&#160;&#x21a9;&#xfe0e;
-`}),e.add({id:169,href:"/2020/02/11/apache-flink-1.10.0-release-announcement/",title:"Apache Flink 1.10.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to hit the double digits and announce the release of Flink 1.10.0! As a result of the biggest community effort to date, with over 1.2k issues implemented and more than 200 contributors, this release introduces significant improvements to the overall performance and stability of Flink jobs, a pre [...]
+`}),e.add({id:170,href:"/2020/02/11/apache-flink-1.10.0-release-announcement/",title:"Apache Flink 1.10.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is excited to hit the double digits and announce the release of Flink 1.10.0! As a result of the biggest community effort to date, with over 1.2k issues implemented and more than 200 contributors, this release introduces significant improvements to the overall performance and stability of Flink jobs, a pre [...]
 Flink 1.10 also marks the completion of the Blink integration, hardening streaming SQL and bringing mature batch processing to Flink with production-ready Hive integration and TPC-DS coverage. This blog post describes all major new features and improvements, important changes to be aware of and what to expect moving forward.
 The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website. For more details, check the complete release changelog and the updated documentation. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA.
 New Features and Improvements # Improved Memory Management and Configuration # The current TaskExecutor memory configuration in Flink has some shortcomings that make it hard to reason about or optimize resource utilization, such as:
@@ -3330,7 +3345,7 @@ Flink 1.9 shipped with a refactored Web UI, with the legacy one being kept aroun
 Release Notes # Please review the release notes carefully for a detailed list of changes and new features if you plan to upgrade your setup to Flink 1.10. This version is API-compatible with previous 1.x releases for APIs annotated with the @Public annotation.
 List of Contributors # The Apache Flink community would like to thank all contributors that have made this release possible:
 Achyuth Samudrala, Aitozi, Alberto Romero, Alec.Ch, Aleksey Pak, Alexander Fedulov, Alice Yan, Aljoscha Krettek, Aloys, Andrey Zagrebin, Arvid Heise, Benchao Li, Benoit Hanotte, Benoît Paris, Bhagavan Das, Biao Liu, Chesnay Schepler, Congxian Qiu, Cyrille Chépélov, César Soto Valero, David Anderson, David Hrbacek, David Moravek, Dawid Wysakowicz, Dezhi Cai, Dian Fu, Dyana Rose, Eamon Taaffe, Fabian Hueske, Fawad Halim, Fokko Driesprong, Frey Gao, Gabor Gevay, Gao Yun, Gary Yao, GatsbyNew [...]
-`}),e.add({id:170,href:"/2020/02/03/a-guide-for-unit-testing-in-apache-flink/",title:"A Guide for Unit Testing in Apache Flink",section:"Flink Blog",content:`Writing unit tests is one of the essential tasks of designing a production-grade application. Without tests, a single change in code can result in cascades of failure in production. Thus unit tests should be written for all types of applications, be it a simple job cleaning data and training a model or a complex multi-tenant, real-t [...]
+`}),e.add({id:171,href:"/2020/02/03/a-guide-for-unit-testing-in-apache-flink/",title:"A Guide for Unit Testing in Apache Flink",section:"Flink Blog",content:`Writing unit tests is one of the essential tasks of designing a production-grade application. Without tests, a single change in code can result in cascades of failure in production. Thus unit tests should be written for all types of applications, be it a simple job cleaning data and training a model or a complex multi-tenant, real-t [...]
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-test-utils_\${scala.binary.version}&lt;/artifactId&gt; &lt;version&gt;\${flink.version}&lt;/version&gt; &lt;scope&gt;test&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-runtime_\${scala.binary.version}&lt;/artifactId&gt; &lt;version&gt;\${flink.version}&lt;/version&gt; &lt;scope&gt;test&lt;/scope&gt; &lt;classifier&gt;tes [...]
 Stateless Operators Stateful Operators Timed Process Operators Stateless Operators # Writing unit tests for a stateless operator is a breeze. You need to follow the basic norm of writing a test case, i.e., create an instance of the function class and test the appropriate methods. Let’s take an example of a simple Map operator.
 public class MyStatelessMap implements MapFunction&lt;String, String&gt; { @Override public String map(String in) throws Exception { String out = &#34;hello &#34; + in; return out; } } The test case for the above operator should look like
@@ -3348,13 +3363,13 @@ public class MyProcessFunction extends KeyedProcessFunction&lt;String, String, S
 Let’s take a look at the test case
 @Test public void testProcessElement() throws Exception{ MyProcessFunction myProcessFunction = new MyProcessFunction(); OneInputStreamOperatorTestHarness&lt;String, String&gt; testHarness = new KeyedOneInputStreamOperatorTestHarness&lt;&gt;( new KeyedProcessOperator&lt;&gt;(myProcessFunction), x -&gt; &#34;1&#34;, Types.STRING); // Function time is initialized to 0 testHarness.open(); testHarness.processElement(&#34;world&#34;, 10); Assert.assertEquals( Lists.newArrayList(new StreamRecor [...]
 Summary # In the previous sections we showcased how unit testing in Apache Flink works for stateless, stateful and times-aware-operators. We hope you found the steps easy to follow and execute while developing your Flink applications. If you have any questions or feedback you can reach out to me here or contact the community on the Apache Flink user mailing list.
-`}),e.add({id:171,href:"/2020/01/30/apache-flink-1.9.2-released/",title:"Apache Flink 1.9.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.9 series.
+`}),e.add({id:172,href:"/2020/01/30/apache-flink-1.9.2-released/",title:"Apache Flink 1.9.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.9 series.
 This release includes 117 fixes and minor improvements for Flink 1.9.1. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.9.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.9.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.9.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-12122] - Spread out tasks evenly across all available registered TaskManagers [FLINK-13360] - Add documentation for HBase connector for Table API &amp; SQL [FLINK-13361] - Add documentation for JDBC connector for Table API &amp; SQL [FLINK-13723] - Use liquid-c for faster doc generation [FLINK-13724] - Remove unnecessary whitespace from the docs&#39; sidenav [FLINK-13725] - Use sassc for faster doc generation [FLINK-13726] - Build docs with jekyll 4.0.0.pre.beta1 [FLINK-1 [...]
+Sub-task [FLINK-12122] - Spread out tasks evenly across all available registered TaskManagers [FLINK-13360] - Add documentation for HBase connector for Table API &amp; SQL [FLINK-13361] - Add documentation for JDBC connector for Table API &amp; SQL [FLINK-13723] - Use liquid-c for faster doc generation [FLINK-13724] - Remove unnecessary whitespace from the docs&#39; sidenav [FLINK-13725] - Use sassc for faster doc generation [FLINK-13726] - Build docs with jekyll 4.0.0.pre.beta1 [FLINK-1 [...]
 In order to provide a state-of-the-art experience to Flink developers, the Apache Flink community makes significant efforts to provide the safety and future-proof guarantees organizations need while managing state in Flink. In particular, Flink developers should have sufficient means to access and modify their state, as well as making bootstrapping state with existing data from external systems a piece-of-cake. These efforts span multiple Flink major releases and consist of the following:
 Evolvable state schema in Apache Flink Flexibility in swapping state backends, and The State processor API, an offline tool to read, write and modify state in Flink This post discusses the community’s efforts related to state management in Flink, provides some practical examples of how the different features and APIs can be utilized and covers some future ideas for new and improved ways of managing state in Apache Flink.
 Stream processing: What is State? # To set the tone for the remaining of the post, let us first try to explain the very definition of state in stream processing. When it comes to stateful stream processing, state comprises of the information that an application or stream processing engine will remember across events and streams as more realtime (unbounded) and/or offline (bounded) data flow through the system. Most trivial applications are inherently stateful; even the example of a simpl [...]
@@ -3387,7 +3402,7 @@ Looking ahead: More ways to interact with State in Flink # There is a lot of dis
 Beyond widening the scope of the State Processor API, the Flink community is discussing a few additional ways to improve the way developers interact with state in Flink. One of them is the proposal for a Unified Savepoint Format (FLIP-41) for all keyed state backends. Such improvement aims at introducing a unified binary format across all savepoints in all keyed state backends, something that drastically reduces the overhead of swapping the state backend in a Flink application. Such an i [...]
 The community is also discussing the ability to have upgradability dry runs in upcoming Flink releases. Having such functionality in Flink allows developers to detect incompatible updates offline without the need of starting a new Flink job from scratch. For example, Flink users will be able to uncover topology or schema incompatibilities upon upgrading a Flink job, without having to load the state back to a running Flink job in the first place. Additionally, with upgradability dry runs  [...]
 With all the exciting new functionality added in Flink 1.9 as well as some solid ideas and discussions around bringing state in Flink to the next level, the community is committed to making state in Apache Flink a fundamental element of the framework, something that is ever-present across versions and upgrades of your application and a component that is a true first-class citizen in Apache Flink. We encourage you to sign up to the mailing list and stay on top of the announcements and new [...]
-`}),e.add({id:173,href:"/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/",title:"Advanced Flink Application Patterns Vol.1: Case Study of a Fraud Detection System",section:"Flink Blog",content:`In this series of blog posts you will learn about three powerful Flink patterns for building streaming applications:
+`}),e.add({id:174,href:"/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/",title:"Advanced Flink Application Patterns Vol.1: Case Study of a Fraud Detection System",section:"Flink Blog",content:`In this series of blog posts you will learn about three powerful Flink patterns for building streaming applications:
 Dynamic updates of application logic Dynamic data partitioning (shuffle), controlled at runtime Low latency alerting based on custom windowing logic (without using the window API) These patterns expand the possibilities of what is achievable with statically defined data flows and provide the building blocks to fulfill complex business requirements.
 Dynamic updates of application logic allow Flink jobs to change at runtime, without downtime from stopping and resubmitting the code.
 Dynamic data partitioning provides the ability to change how events are distributed and grouped by Flink at runtime. Such functionality often becomes a natural requirement when building jobs with dynamically reconfigurable application logic.
@@ -3427,13 +3442,13 @@ Summary: # In this blog post, we have discussed the motivation behind supporting
 To remain focused on describing the core mechanics of the pattern, we kept the complexity of the DSL and the underlying rules engine to a minimum. Going forward, it is easy to imagine adding extensions such as allowing more sophisticated rule definitions, including filtering of certain events, logical rules chaining, and other more advanced functionality.
 In the second part of this series, we will describe how the rules make their way into the running Fraud Detection engine. Additionally, we will go over the implementation details of the main processing function of the pipeline - DynamicAlertFunction().
 Figure 4: End-to-end pipeline In the next article, we will see how Flink&rsquo;s broadcast streams can be utilized to help steer the processing within the Fraud Detection engine at runtime (Dynamic Application Updates pattern).
-`}),e.add({id:174,href:"/2019/12/11/apache-flink-1.8.3-released/",title:"Apache Flink 1.8.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.8 series.
+`}),e.add({id:175,href:"/2019/12/11/apache-flink-1.8.3-released/",title:"Apache Flink 1.8.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.8 series.
 This release includes 45 fixes and minor improvements for Flink 1.8.2. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.8.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.8.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.8.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-13723] - Use liquid-c for faster doc generation [FLINK-13724] - Remove unnecessary whitespace from the docs&#39; sidenav [FLINK-13725] - Use sassc for faster doc generation [FLINK-13726] - Build docs with jekyll 4.0.0.pre.beta1 [FLINK-13791] - Speed up sidenav by using group_by Bug [FLINK-12342] - Yarn Resource Manager Acquires Too Many Containers [FLINK-13184] - Starting a TaskExecutor blocks the YarnResourceManager&#39;s main thread [FLINK-13728] - Fix wrong closing tag [...]
+Sub-task [FLINK-13723] - Use liquid-c for faster doc generation [FLINK-13724] - Remove unnecessary whitespace from the docs&#39; sidenav [FLINK-13725] - Use sassc for faster doc generation [FLINK-13726] - Build docs with jekyll 4.0.0.pre.beta1 [FLINK-13791] - Speed up sidenav by using group_by Bug [FLINK-12342] - Yarn Resource Manager Acquires Too Many Containers [FLINK-13184] - Starting a TaskExecutor blocks the YarnResourceManager&#39;s main thread [FLINK-13728] - Fix wrong closing tag [...]
 A short intro to Apache Pulsar # Apache Pulsar is a flexible pub/sub messaging system, backed by durable log storage. Some of the framework’s highlights include multi-tenancy, a unified message model, structured event streams and a cloud-native architecture that make it a perfect fit for a wide set of use cases, ranging from billing, payments and trading services all the way to the unification of the different messaging architectures in an organization. If you are interested in finding o [...]
 Existing Pulsar &amp; Flink integration (Apache Flink 1.6+) # The existing integration between Pulsar and Flink exploits Pulsar as a message queue in a Flink application. Flink developers can utilize Pulsar as a streaming source and streaming sink for their Flink applications by selecting a specific Pulsar source and connecting to their desired Pulsar cluster and topic:
 // create and configure Pulsar consumer PulsarSourceBuilder&lt;String&gt;builder = PulsarSourceBuilder .builder(new SimpleStringSchema()) .serviceUrl(serviceUrl) .topic(inputTopic) .subsciptionName(subscription); SourceFunction&lt;String&gt; src = builder.build(); // ingest DataStream with Pulsar consumer DataStream&lt;String&gt; words = env.addSource(src); Pulsar streams can then get connected to the Flink processing logic…
@@ -3451,7 +3466,7 @@ Flink &amp; Pulsar: Read data from Pulsar # Create a Pulsar source for streaming
 Next Steps &amp; Future Integration # The goal of the integration between Pulsar and Flink is to simplify how developers use the two frameworks to build a unified data processing stack. As we progress from the classical Lamda architectures — where an online, speeding layer is combined with an offline, batch layer to run data computations — Flink and Pulsar present a great combination in providing a truly unified data processing stack. We see Flink as a unified computation engine, handlin [...]
 There is still a lot of ongoing work and effort from both communities in getting the integration even better, such as a new source API (FLIP-27) that will allow the contribution of the Pulsar connectors to the Flink community as well as a new subscription type called Key_Shared subscription type in Pulsar that will allow efficient scaling of the source parallelism. Additional efforts focus around the provision of end-to-end, exactly-once guarantees (currently available only in the source [...]
 You can find a more detailed overview of the integration work between the two communities in this recording video from Flink Forward Europe 2019 or sign up to the Flink dev mailing list for the latest contribution and integration efforts between Flink and Pulsar.
-`}),e.add({id:176,href:"/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/",title:"Running Apache Flink on Kubernetes with KUDO",section:"Flink Blog",content:`A common use case for Apache Flink is streaming data analytics together with Apache Kafka, which provides a pub/sub model and durability for data streams. To achieve elastic scalability, both are typically deployed in clustered environments, and increasingly on top of container orchestration platforms like Kubernetes. The Op [...]
+`}),e.add({id:177,href:"/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/",title:"Running Apache Flink on Kubernetes with KUDO",section:"Flink Blog",content:`A common use case for Apache Flink is streaming data analytics together with Apache Kafka, which provides a pub/sub model and durability for data streams. To achieve elastic scalability, both are typically deployed in clustered environments, and increasingly on top of container orchestration platforms like Kubernetes. The Op [...]
 In this blog post we demonstrate how to orchestrate a streaming data analytics application based on Flink and Kafka with KUDO. It consists of a Flink job that checks financial transactions for fraud, and two microservices that generate and display the transactions. You can find more details about this demo in the KUDO Operators repository, including instructions for installing the dependencies.
 Prerequisites # You can run this demo on your local machine using minikube. The instructions below were tested with minikube v1.5.1 and Kubernetes v1.16.2 but should work on any Kubernetes version above v1.15.0. First, start a minikube cluster with enough capacity:
 minikube start --cpus=6 --memory=9216 --disk-size=10g
@@ -3477,13 +3492,13 @@ It should look similar to this, depending on your local machine and how many cor
 The job is up and running and we should now be able to see fraudulent transaction in the logs of the actor pod:
 $ kubectl logs $(kubectl get pod -l actor=flink-demo -o jsonpath=&#34;{.items[0].metadata.name}&#34;) Broker: flink-demo-kafka-kafka-0.flink-demo-kafka-svc:9093 Topic: fraud Detected Fraud: TransactionAggregate {startTimestamp=0, endTimestamp=1563395831000, totalAmount=19895: Transaction{timestamp=1563395778000, origin=1, target=&#39;3&#39;, amount=8341} Transaction{timestamp=1563395813000, origin=1, target=&#39;3&#39;, amount=8592} Transaction{timestamp=1563395817000, origin=1, target=& [...]
 Conclusion # In this blog post we demonstrated how to easily deploy an end-to-end streaming data application on Kubernetes using KUDO. We deployed a Flink job and two microservices, as well as all the required infrastructure - Flink, Kafka, and ZooKeeper using just a few kubectl commands. To find out more about KUDO, visit the project website or join the community on Slack.
-`}),e.add({id:177,href:"/2019/10/18/apache-flink-1.9.1-released/",title:"Apache Flink 1.9.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.9 series.
+`}),e.add({id:178,href:"/2019/10/18/apache-flink-1.9.1-released/",title:"Apache Flink 1.9.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.9 series.
 This release includes 96 fixes and minor improvements for Flink 1.9.0. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.9.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.9.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.9.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Bug [FLINK-11630] - TaskExecutor does not wait for Task termination when terminating itself [FLINK-13490] - Fix if one column value is null when reading JDBC, the following values are all null [FLINK-13941] - Prevent data-loss by not cleaning up small part files from S3. [FLINK-12501] - AvroTypeSerializer does not work with types generated by avrohugger [FLINK-13386] - Fix some frictions in the new default Web UI [FLINK-13526] - Switching to a non existing catalog or database crashes sql [...]
+Bug [FLINK-11630] - TaskExecutor does not wait for Task termination when terminating itself [FLINK-13490] - Fix if one column value is null when reading JDBC, the following values are all null [FLINK-13941] - Prevent data-loss by not cleaning up small part files from S3. [FLINK-12501] - AvroTypeSerializer does not work with types generated by avrohugger [FLINK-13386] - Fix some frictions in the new default Web UI [FLINK-13526] - Switching to a non existing catalog or database crashes sql [...]
 In this post, we explain why this feature is a big step for Flink, what you can use it for, and how to use it. Finally, we will discuss the future of the State Processor API and how it aligns with our plans to evolve Flink into a system for unified batch and stream processing.
 Stateful Stream Processing with Apache Flink until Flink 1.9 # All non-trivial stream processing applications are stateful and most of them are designed to run for months or years. Over time, many of them accumulate a lot of valuable state that can be very expensive or even impossible to rebuild if it gets lost due to a failure. In order to guarantee the consistency and durability of application state, Flink featured a sophisticated checkpointing and recovery mechanism from very early on [...]
 However, a feature that was commonly requested by Flink users was the ability to access the state of an application “from the outside”. This request was motivated by the need to validate or debug the state of an application, to migrate the state of an application to another application, to evolve an application from the Heap State Backend to the RocksDB State Backend, or to import the initial state of an application from an external system like a relational database.
@@ -3498,13 +3513,13 @@ The figure shows how the values of Src&rsquo;s operator state are mapped to a ta
 The State Processor API now offers methods to create, load, and write a savepoint. You can read a DataSet from a loaded savepoint or convert a DataSet into a state and add it to a savepoint. DataSets can be processed with the full feature set of the DataSet API. With these building blocks, all of the before-mentioned use cases (and more) can be addressed. Please have a look at the documentation if you&rsquo;d like to learn how to use the State Processor API in detail.
 Why DataSet API? # In case you are familiar with Flink&rsquo;s roadmap, you might be surprised that the State Processor API is based on the DataSet API. The Flink community plans to extend the DataStream API with the concept of BoundedStreams and deprecate the DataSet API. When designing this feature, we also evaluated the DataStream API or Table API but neither could provide the right feature set yet. Since we didn&rsquo;t want to block this feature on the progress of Flink&rsquo;s APIs [...]
 Summary # Flink users have requested a feature to access and modify the state of streaming applications from the outside for a long time. With the State Processor API, Flink 1.9.0 finally exposes application state as a data format that can be manipulated. This feature opens up many new possibilities for how users can maintain and manage Flink streaming applications, including arbitrary evolution of stream applications and exporting and bootstrapping of application state. To put it concis [...]
-`}),e.add({id:179,href:"/2019/09/11/apache-flink-1.8.2-released/",title:"Apache Flink 1.8.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.8 series.
+`}),e.add({id:180,href:"/2019/09/11/apache-flink-1.8.2-released/",title:"Apache Flink 1.8.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.8 series.
 This release includes 23 fixes and minor improvements for Flink 1.8.1. The list below includes a detailed list of all fixes and improvements.
 We highly recommend all users to upgrade to Flink 1.8.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.8.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.8.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Bug [FLINK-13941] - Prevent data-loss by not cleaning up small part files from S3. [FLINK-9526] - BucketingSink end-to-end test failed on Travis [FLINK-10368] - &#39;Kerberized YARN on Docker test&#39; unstable [FLINK-12319] - StackOverFlowError in cep.nfa.sharedbuffer.SharedBuffer [FLINK-12736] - ResourceManager may release TM with allocated slots [FLINK-12889] - Job keeps in FAILING state [FLINK-13059] - Cassandra Connector leaks Semaphore on Exception; hangs on close [FLINK-13159] - j [...]
+Bug [FLINK-13941] - Prevent data-loss by not cleaning up small part files from S3. [FLINK-9526] - BucketingSink end-to-end test failed on Travis [FLINK-10368] - &#39;Kerberized YARN on Docker test&#39; unstable [FLINK-12319] - StackOverFlowError in cep.nfa.sharedbuffer.SharedBuffer [FLINK-12736] - ResourceManager may release TM with allocated slots [FLINK-12889] - Job keeps in FAILING state [FLINK-13059] - Cassandra Connector leaks Semaphore on Exception; hangs on close [FLINK-13159] - j [...]
 The first post in the series takes you on an little detour across the year, to freshen up and make sure you&rsquo;re all up to date.
 The Year (so far) in Flink # Two major versions were released this year: Flink 1.8 and Flink 1.9; paving the way for the goal of making Flink the first framework to seamlessly support stream and batch processing with a single, unified runtime. The contribution of Blink to Apache Flink was key in accelerating the path to this vision and reduced the waiting time for long-pending user requests — such as Hive integration, (better) Python support, the rework of Flink&rsquo;s Machine Learning  [...]
 The 1.9 release was the result of the biggest community effort the project has experienced so far, with the number of contributors soaring to 190 (see The Bigger Picture). For a quick overview of the upcoming work for Flink 1.10 (and beyond), have a look at the updated roadmap!
@@ -3526,7 +3541,7 @@ Most Active Visits and Downloads * Most Active Sources: Visits * Most Active Sou
 North America # [Conference] Strata Data Conference 2019, September 23-26, New York, USA [Meetup] Apache Flink Bay Area Meetup, September 24, San Francisco, USA [Conference] Scale By The Bay 2019, November 13-15, San Francisco, USA Europe # [Meetup] Apache Flink London Meetup, September 23, London, UK
 [Conference] Flink Forward Europe 2019, October 7-9, Berlin, Germany
 * The next edition of Flink Forward Europe is around the corner and the [program](https://europe-2019.flink-forward.org/conference-program) has been announced, featuring 70+ talks as well as panel discussions and interactive "Ask Me Anything" sessions with core Flink committers. If you're looking to learn more about Flink and share your experience with other community members, there really is [no better place]((https://vimeo.com/296403091)) than Flink Forward! Note: if you are a committe [...]
-`}),e.add({id:181,href:"/2019/08/22/apache-flink-1.9.0-release-announcement/",title:"Apache Flink 1.9.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is proud to announce the release of Apache Flink 1.9.0.
+`}),e.add({id:182,href:"/2019/08/22/apache-flink-1.9.0-release-announcement/",title:"Apache Flink 1.9.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is proud to announce the release of Apache Flink 1.9.0.
 The Apache Flink project&rsquo;s goal is to develop a stream processing system to unify and power many forms of real-time and offline data processing applications as well as event-driven applications. In this release, we have made a huge step forward in that effort, by integrating Flink’s stream and batch processing capabilities under a single, unified runtime.
 Significant features on this path are batch-style recovery for batch jobs and a preview of the new Blink-based query engine for Table API and SQL queries. We are also excited to announce the availability of the State Processor API, which is one of the most frequently requested features and enables users to read and write savepoints with Flink DataSet jobs. Finally, Flink 1.9 includes a reworked WebUI and previews of Flink’s new Python Table API and its integration with the Apache Hive ec [...]
 This blog post describes all major new features and improvements, important changes to be aware of and what to expect moving forward. For more details, check the complete release changelog.
@@ -3567,7 +3582,7 @@ If you’d like to try the new Python API, you have to manually install PyFlink.
 Important Changes # The Table API and SQL are now part of the default configuration of the Flink distribution. Before, the Table API and SQL had to be enabled by moving the corresponding JAR file from ./opt to ./lib. The machine learning library (flink-ml) has been removed in preparation for FLIP-39. The old DataSet and DataStream Python APIs have been removed in favor of FLIP-38. Flink can be compiled and run on Java 9. Note that certain components interacting with external systems (con [...]
 List of Contributors # We would like to thank all contributors who have made this release possible:
 Abdul Qadeer (abqadeer), Aitozi, Alberto Romero, Aleksey Pak, Alexander Fedulov, Alice Yan, Aljoscha Krettek, Aloys, Andrew Duffy, Andrey Zagrebin, Ankur, Artsem Semianenka, Benchao Li, Biao Liu, Bo WANG, Bowen L, Chesnay Schepler, Clark Yang, Congxian Qiu, Cristian, Danny Chan, David Moravek, Dawid Wysakowicz, Dian Fu, EronWright, Fabian Hueske, Fabio Lombardelli, Fokko Driesprong, Gao Yun, Gary Yao, Gen Luo, Gyula Fora, Hequn Cheng, Hongtao Zhang, Huang Xingbo, HuangXingBo, Hugo Da Cru [...]
-`}),e.add({id:182,href:"/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/",title:"Flink Network Stack Vol. 2: Monitoring, Metrics, and that Backpressure Thing",section:"Flink Blog",content:` In a previous blog post, we presented how Flink’s network stack works from the high-level abstractions to the low-level details. This second blog post in the series of network stack posts extends on this knowledge and discusses monitoring network-related metrics t [...]
+`}),e.add({id:183,href:"/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/",title:"Flink Network Stack Vol. 2: Monitoring, Metrics, and that Backpressure Thing",section:"Flink Blog",content:` In a previous blog post, we presented how Flink’s network stack works from the high-level abstractions to the low-level details. This second blog post in the series of network stack posts extends on this knowledge and discusses monitoring network-related metrics t [...]
 Monitoring # Probably the most important part of network monitoring is monitoring backpressure, a situation where a system is receiving data at a higher rate than it can process¹. Such behaviour will result in the sender being backpressured and may be caused by two things:
 The receiver is slow.
 This can happen because the receiver is backpressured itself, is unable to keep processing at the same rate as the sender, or is temporarily blocked by garbage collection, lack of system resources, or I/O.
@@ -3624,13 +3639,13 @@ Since LatencyMarkers sit in network buffers just like normal records, they will
 By looking at the exposed latency tracking metrics for each subtask, for example at the 95th percentile, you should nevertheless be able to identify subtasks which are adding substantially to the overall source-to-sink latency and continue with optimising there.
 Note Flink's latency markers assume that the clocks on all machines in the cluster are in sync. We recommend setting up an automated clock synchronisation service (like NTP) to avoid false latency results. Warning Enabling latency metrics can significantly impact the performance of the cluster (in particular for \`subtask\` granularity) due to the sheer amount of metrics being added as well as the use of histograms which are quite expensive to maintain. It is highly recommended to only u [...]
 Stay tuned for the third blog post in the series of network stack posts that will focus on tuning techniques and anti-patterns to avoid.
-`}),e.add({id:183,href:"/2019/07/02/apache-flink-1.8.1-released/",title:"Apache Flink 1.8.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.8 series.
+`}),e.add({id:184,href:"/2019/07/02/apache-flink-1.8.1-released/",title:"Apache Flink 1.8.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.8 series.
 This release includes more than 40 fixes and minor improvements for Flink 1.8.1. The list below includes a detailed list of all improvements, sub-tasks and bug fixes.
 We highly recommend all users to upgrade to Flink 1.8.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.8.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.8.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-10921] - Prioritize shard consumers in Kinesis Consumer by event time [FLINK-12617] - StandaloneJobClusterEntrypoint should default to random JobID for non-HA setups Bug [FLINK-9445] - scala-shell uses plain java command [FLINK-10455] - Potential Kafka producer leak in case of failures [FLINK-10941] - Slots prematurely released which still contain unconsumed data [FLINK-11059] - JobMaster may continue using an invalid slot if releasing idle slot meet a timeout [FLINK-1110 [...]
+Sub-task [FLINK-10921] - Prioritize shard consumers in Kinesis Consumer by event time [FLINK-12617] - StandaloneJobClusterEntrypoint should default to random JobID for non-HA setups Bug [FLINK-9445] - scala-shell uses plain java command [FLINK-10455] - Potential Kafka producer leak in case of failures [FLINK-10941] - Slots prematurely released which still contain unconsumed data [FLINK-11059] - JobMaster may continue using an invalid slot if releasing idle slot meet a timeout [FLINK-1110 [...]
 What is Broadcast State? # The Broadcast State can be used to combine and jointly process two streams of events in a specific way. The events of the first stream are broadcasted to all parallel instances of an operator, which maintains them as state. The events of the other stream are not broadcasted but sent to individual instances of the same operator and processed together with the events of the broadcasted stream. The new broadcast state is a natural fit for applications that need to [...]
 Dynamic Pattern Evaluation with Broadcast State # Imagine an e-commerce website that captures the interactions of all users as a stream of user actions. The company that operates the website is interested in analyzing the interactions to increase revenue, improve the user experience, and detect and prevent malicious behavior. The website implements a streaming application that detects a pattern on the stream of user events. However, the company wants to avoid modifying and redeploying th [...]
 Our example application ingests two data streams. The first stream provides user actions on the website and is illustrated on the top left side of the above figure. A user interaction event consists of the type of the action (user login, user logout, add to cart, or complete payment) and the id of the user, which is encoded by color. The user action event stream in our illustration contains a logout action of User 1001 followed by a payment-complete event for User 1003, and an “add-to-ca [...]
@@ -3659,7 +3674,7 @@ processBroadcastElement() is called for each record of the broadcasted stream. I
 The broadcast state (read-write or read-only, depending on the method), A TimerService, which gives access to the record’s timestamp, the current watermark, and which can register timers, The current key (only available in processElement()), and A method to apply a function the keyed state of each registered key (only available in processBroadcastElement()) The KeyedBroadcastProcessFunction has full access to Flink state and time features just like any other ProcessFunction and hence can [...]
 Conclusion # In this blog post, we walked you through an example application to explain what Apache Flink’s broadcast state is and how it can be used to evaluate dynamic patterns on event streams. We’ve also discussed the API and showed the source code of our example application.
 We invite you to check the documentation of this feature and provide feedback or suggestions for further improvements through our mailing list.
-`}),e.add({id:185,href:"/2019/06/05/a-deep-dive-into-flinks-network-stack/",title:"A Deep-Dive into Flink's Network Stack",section:"Flink Blog",content:` Flink’s network stack is one of the core components that make up the flink-runtime module and sit at the heart of every Flink job. It connects individual work units (subtasks) from all TaskManagers. This is where your streamed-in data flows through and it is therefore crucial to the performance of your Flink job for both the throughput  [...]
+`}),e.add({id:186,href:"/2019/06/05/a-deep-dive-into-flinks-network-stack/",title:"A Deep-Dive into Flink's Network Stack",section:"Flink Blog",content:` Flink’s network stack is one of the core components that make up the flink-runtime module and sit at the heart of every Flink job. It connects individual work units (subtasks) from all TaskManagers. This is where your streamed-in data flows through and it is therefore crucial to the performance of your Flink job for both the throughput  [...]
 This blog post is the first in a series of posts about the network stack. In the sections below, we will first have a high-level look at what abstractions are exposed to the stream operators and then go into detail on the physical implementation and various optimisations Flink did. We will briefly present the result of these optimisations and Flink’s trade-off between throughput and latency. Future blog posts in this series will elaborate more on monitoring and metrics, tuning parameters [...]
 Logical View # Flink’s network stack provides the following logical view to the subtasks when communicating with each other, for example during a network shuffle as required by a keyBy().
 It abstracts over the different settings of the following three concepts:
@@ -3696,7 +3711,7 @@ Flush after Buffer Full # The RecordWriter works with a local serialisation buff
 less synchronisation overhead (output flusher and RecordWriter are independent) in high-load scenarios where Netty is the bottleneck (either through backpressure or directly), we can still accumulate data in incomplete buffers significant reduction of Netty notifications However, you may notice an increased CPU use and TCP packet rate during low load scenarios. This is because, with the changes, Flink will use any available CPU cycles to try to maintain the desired latency. Once the load [...]
 Latency vs. Throughput # Network buffers were introduced to get higher resource utilisation and higher throughput at the cost of having some records wait in buffers a little longer. Although an upper limit to this wait time can be given via the buffer timeout, you may be curious to find out more about the trade-off between these two dimensions: latency and throughput, as, obviously, you cannot get both. The following plot shows various values for the buffer timeout starting at 0 (flush w [...]
 Conclusion # Now you know about result partitions, the different network connections and scheduling types for both batch and streaming. You also know about credit-based flow control and how the network stack works internally, in order to reason about network-related tuning parameters and about certain job behaviours. Future blog posts in this series will build upon this knowledge and go into more operational details including relevant metrics to look at, further network stack tuning, and [...]
-`}),e.add({id:186,href:"/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/",title:"State TTL in Flink 1.8.0: How to Automatically Cleanup Application State in Apache Flink",section:"Flink Blog",content:`A common requirement for many stateful streaming applications is to automatically cleanup application state for effective management of your state size, or to control how long the application state can be accessed (e.g. due to legal regula [...]
+`}),e.add({id:187,href:"/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/",title:"State TTL in Flink 1.8.0: How to Automatically Cleanup Application State in Apache Flink",section:"Flink Blog",content:`A common requirement for many stateful streaming applications is to automatically cleanup application state for effective management of your state size, or to control how long the application state can be accessed (e.g. due to legal regula [...]
 In this post, we motivate the State TTL feature and discuss its use cases. Moreover, we show how to use and configure it. We explain how Flink internally manages state with TTL and present some exciting additions to the feature in Flink 1.8.0. The blog post concludes with an outlook on future improvements and extensions.
 The Transient Nature of State # There are two major reasons why state should be maintained only for a limited time. For example, let’s imagine a Flink application that ingests a stream of user login events and stores for each user the time of the last login to improve the experience of frequent visitors.
 Controlling the size of state. Being able to efficiently manage an ever-growing state size is a primary use case for state TTL. Oftentimes, data needs to be persisted temporarily while there is some user activity around it, e.g. web sessions. When the activity ends there is no longer interest in that data while it still occupies storage. Flink 1.8.0 introduces background cleanup of old state based on TTL that makes the eviction of no-longer-necessary data frictionless. Previously, the ap [...]
@@ -3725,7 +3740,7 @@ Eager State Cleanup with Timers # Another way to manually cleanup state is based
 Future work # Apart from including the timer-based cleanup strategy, mentioned above, the Flink community has plans to further improve the state TTL feature. The possible improvements include adding support of TTL for event time scale (only processing time is supported at the moment) and enabling State TTL for queryable state.
 We encourage you to join the conversation and share your thoughts and ideas in the Apache Flink JIRA board or by subscribing to the Apache Flink dev mailing list. Feedback or suggestions are always appreciated and we look forward to hearing your thoughts on the Flink mailing lists.
 Summary # Time-based state access restrictions and controlling the size of application state are common challenges in the world of stateful stream processing. Flink’s 1.8.0 release significantly improves the State TTL feature by adding support for continuous background cleanup of expired state objects. The new clean up mechanisms relieve you from manually implementing state cleanup. They are also more efficient due to their lazy nature. State TTL gives you control over the size of your a [...]
-`}),e.add({id:187,href:"/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/",title:"Flux capacitor, huh? Temporal Tables and Joins in Streaming SQL",section:"Flink Blog",content:`Figuring out how to manage and model temporal data for effective point-in-time analysis was a longstanding battle, dating as far back as the early 80’s, that culminated with the introduction of temporal tables in the SQL standard in 2011. Up to that point, users were doomed to implement th [...]
+`}),e.add({id:188,href:"/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/",title:"Flux capacitor, huh? Temporal Tables and Joins in Streaming SQL",section:"Flink Blog",content:`Figuring out how to manage and model temporal data for effective point-in-time analysis was a longstanding battle, dating as far back as the early 80’s, that culminated with the introduction of temporal tables in the SQL standard in 2011. Up to that point, users were doomed to implement th [...]
 For example: given a stream with Taxi Fare events tied to the local currency of the ride location, we might want to convert the fare price to a common currency for further processing. As conversion rates excel at fluctuating over time, each Taxi Fare event would need to be matched to the rate that was valid at the time the event occurred in order to produce a reliable result.
 Modelling Temporal Data with Flink # In the 1.7 release, Flink has introduced the concept of temporal tables into its streaming SQL and Table API: parameterized views on append-only tables — or, any table that only allows records to be inserted, never updated or deleted — that are interpreted as a changelog and keep data closely tied to time context, so that it can be interpreted as valid only within a specific period of time. Transforming a stream into a temporal table requires:
 Defining a primary key and a versioning field that can be used to keep track of the changes that happen over time;
@@ -3740,7 +3755,7 @@ Temporal table joins support both processing and event time semantics and effect
 Narrowing the scope of the join: only the time-matching version of ratesHistory is visible for a given taxiFare.time; Pruning unneeded records from state: for cases using event time, records between current time and the watermark delay are persisted for both the probe and build side. These are discarded as soon as the watermark arrives and the results are emitted — allowing the join operation to move forward in time and the build table to “refresh” its version in state. Conclusion # All  [...]
 If you&rsquo;d like to get some hands-on practice in joining streams with Flink SQL (and Flink SQL in general), checkout this free training for Flink SQL. The training environment is based on Docker and set up in just a few minutes.
 Subscribe to the Apache Flink mailing lists to stay up-to-date with the latest developments in this space.
-`}),e.add({id:188,href:"/2019/05/03/when-flink-pulsar-come-together/",title:"When Flink & Pulsar Come Together",section:"Flink Blog",content:`The open source data technology frameworks Apache Flink and Apache Pulsar can integrate in different ways to provide elastic data processing at large scale. I recently gave a talk at Flink Forward San Francisco 2019 and presented some of the integrations between the two frameworks for batch and streaming applications. In this post, I will give a sh [...]
+`}),e.add({id:189,href:"/2019/05/03/when-flink-pulsar-come-together/",title:"When Flink & Pulsar Come Together",section:"Flink Blog",content:`The open source data technology frameworks Apache Flink and Apache Pulsar can integrate in different ways to provide elastic data processing at large scale. I recently gave a talk at Flink Forward San Francisco 2019 and presented some of the integrations between the two frameworks for batch and streaming applications. In this post, I will give a sh [...]
 A brief introduction to Apache Pulsar # Apache Pulsar is an open-source distributed pub-sub messaging system under the stewardship of the Apache Software Foundation. Pulsar is a multi-tenant, high-performance solution for server-to-server messaging including multiple features such as native support for multiple clusters in a Pulsar instance, with seamless geo-replication of messages across clusters, very low publish and end-to-end latency, seamless scalability to over a million topics, a [...]
 The first differentiating factor stems from the fact that although Pulsar provides a flexible pub-sub messaging system it is also backed by durable log storage — hence combining both messaging and storage under one framework. Because of that layered architecture, Pulsar provides instant failure recovery, independent scalability and balance-free cluster expansion.
 Pulsar’s architecture follows a similar pattern to other pub-sub systems as the framework is organized in topics as the main data entity, with producers sending data to, and consumers receiving data from a topic as shown in the diagram below.
@@ -3756,7 +3771,7 @@ Existing Integrations # Integration between the two frameworks is ongoing and de
 // create and configure Pulsar consumer PulsarSourceBuilder&lt;String&gt;builder = PulsarSourceBuilder .builder(new SimpleStringSchema()) .serviceUrl(serviceUrl) .topic(inputTopic) .subscriptionName(subscription); SourceFunction&lt;String&gt; src = builder.build(); // ingest DataStream with Pulsar consumer DataStream&lt;String&gt; words = env.addSource(src); // perform computation on DataStream (here a simple WordCount) DataStream&lt;WordWithCount&gt; wc = words .flatMap((FlatMapFunction [...]
 // obtain a DataStream with words DataStream&lt;String&gt; words = ... // register DataStream as Table &#34;words&#34; with two attributes (&#34;word&#34;, &#34;ts&#34;). // &#34;ts&#34; is an event-time timestamp. tableEnvironment.registerDataStream(&#34;words&#34;, words, &#34;word, ts.rowtime&#34;); // create a TableSink that produces to Pulsar TableSink sink = new PulsarJsonTableSink( serviceUrl, outputTopic, new AuthenticationDisabled(), ROUTING_KEY); // register Pulsar TableSink as [...]
 // obtain DataSet from arbitrary computation DataSet&lt;WordWithCount&gt; wc = ... // create PulsarOutputFormat instance OutputFormat pulsarOutputFormat = new PulsarOutputFormat( serviceUrl, topic, new AuthenticationDisabled(), wordWithCount -&gt; wordWithCount.toString().getBytes()); // write DataSet to Pulsar wc.output(pulsarOutputFormat); Conclusion # Both Pulsar and Flink share a similar view on how the data and the computation level of an application can be “streaming-first” with ba [...]
-`}),e.add({id:189,href:"/2019/04/17/apache-flinks-application-to-season-of-docs/",title:"Apache Flink's Application to Season of Docs",section:"Flink Blog",content:`The Apache Flink community is happy to announce its application to the first edition of Season of Docs by Google. The program is bringing together Open Source projects and technical writers to raise awareness for and improve documentation of Open Source projects. While the community is continuously looking for new contributor [...]
+`}),e.add({id:190,href:"/2019/04/17/apache-flinks-application-to-season-of-docs/",title:"Apache Flink's Application to Season of Docs",section:"Flink Blog",content:`The Apache Flink community is happy to announce its application to the first edition of Season of Docs by Google. The program is bringing together Open Source projects and technical writers to raise awareness for and improve documentation of Open Source projects. While the community is continuously looking for new contributor [...]
 The community has discussed this opportunity on the dev mailinglist and agreed on three project ideas to submit to the program. We have a great team of mentors (Stephan, Fabian, David, Jark &amp; Konstantin) lined up and are very much looking forward to the first proposals by potential technical writers (given we are admitted to the program ;)). In case of questions feel free to reach out to the community via dev@flink.apache.org.
 Project Ideas List # Project 1: Improve Documentation of Stream Processing Concepts # Description: Stream processing is the processing of data in motion―in other words, computing on data directly as it is produced or received. Apache Flink has pioneered the field of distributed, stateful stream processing over the last several years. As the community has pushed the boundaries of stream processing, we have introduced new concepts that users need to become familiar with to develop and oper [...]
 In this project, we would like to restructure, consolidate and extend the concepts documentation for Apache Flink to better guide users who want to become productive as quickly as possible. This includes better conceptual introductions to topics such as event time, state, and fault tolerance with proper linking to and from relevant deployment and development guides.
@@ -3767,7 +3782,7 @@ Related material:
 //nightlies.apache.org/flink/flink-docs-release-1.8/ops //nightlies.apache.org/flink/flink-docs-release-1.8/monitoring Project 3: Improve Documentation for Relational APIs (Table API &amp; SQL) # Description: Apache Flink features APIs at different levels of abstraction which enables its users to trade conciseness for expressiveness. Flink’s relational APIs, SQL and the Table API, are “younger” than the DataStream and DataSet APIs, more high-level and focus on data analytics use cases. A [...]
 The existing documentation could be reorganized to prepare for covering the new features. Moreover, it could be improved by adding a concepts section that describes the use cases and internals of the APIs in more detail. Moreover, the documentation of built-in functions could be improved by adding more concrete examples.
 Related material:
-Table API &amp; SQL docs main page Built-in functions Concepts Streaming Concepts `}),e.add({id:190,href:"/2019/04/09/apache-flink-1.8.0-release-announcement/",title:"Apache Flink 1.8.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce Apache Flink 1.8.0. The latest release includes more than 420 resolved issues and some exciting additions to Flink that we describe in the following sections of this post. Please check the complete change [...]
+Table API &amp; SQL docs main page Built-in functions Concepts Streaming Concepts `}),e.add({id:191,href:"/2019/04/09/apache-flink-1.8.0-release-announcement/",title:"Apache Flink 1.8.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce Apache Flink 1.8.0. The latest release includes more than 420 resolved issues and some exciting additions to Flink that we describe in the following sections of this post. Please check the complete change [...]
 Flink 1.8.0 is API-compatible with previous 1.x.y releases for APIs annotated with the @Public annotation. The release is available now and we encourage everyone to download the release and check out the updated documentation. Feedback through the Flink mailing lists or JIRA is, as always, very much appreciated!
 You can find the binaries on the updated Downloads page on the Flink project site.
 With Flink 1.8.0 we come closer to our goals of enabling fast data processing and building data-intensive applications for the Flink community in a seamless way. We do this by cleaning up and refactoring Flink under the hood to allow more efficient feature development in the future. This includes removal of the legacy runtime components that were subsumed in the major rework of Flink&rsquo;s underlying distributed system architecture (FLIP-6) as well as refactorings on the Table API that [...]
@@ -3796,7 +3811,7 @@ Change in the Maven modules of Table API (FLINK-11064): Users that had a flink-t
 Known Issues # Discarded checkpoint can cause Tasks to fail (FLINK-11662): There is a race condition that can lead to erroneous checkpoint failures. This mostly occurs when restarting from a savepoint or checkpoint takes a long time at the sources of a job. If you see random checkpointing failures that don&rsquo;t seem to have a good explanation you might be affected. Please see the Jira issue for more details and a workaround for the problem. Release Notes # Please review the release no [...]
 List of Contributors # We would like to acknowledge all community members for contributing to this release. Special credits go to the following members for contributing to the 1.8.0 release (according to git log --pretty=&quot;%an&quot; release-1.7.0..release-1.8.0 | sort | uniq without manual deduplication):
 Addison Higham, Aitozi, Aleksey Pak, Alexander Fedulov, Alexey Trenikhin, Aljoscha Krettek, Andrey Zagrebin, Artsem Semianenka, Asura7969, Avi, Barisa Obradovic, Benchao Li, Bo WANG, Chesnay Schepler, Congxian Qiu, Cristian, David Anderson, Dawid Wysakowicz, Dian Fu, DuBin, EAlexRojas, EronWright, Eugen Yushin, Fabian Hueske, Fokko Driesprong, Gary Yao, Hequn Cheng, Igal Shilman, Jamie Grier, JaryZhen, Jeff Zhang, Jihyun Cho, Jinhu Wu, Joerg Schad, KarmaGYZ, Kezhu Wang, Konstantin Knauf, [...]
-`}),e.add({id:191,href:"/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/",title:"Flink and Prometheus: Cloud-native monitoring of streaming applications",section:"Flink Blog",content:`This blog post describes how developers can leverage Apache Flink&rsquo;s built-in metrics system together with Prometheus to observe and monitor streaming applications in an effective way. This is a follow-up post from my Flink Forward Berlin 2018 talk (slides, video). We [...]
+`}),e.add({id:192,href:"/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/",title:"Flink and Prometheus: Cloud-native monitoring of streaming applications",section:"Flink Blog",content:`This blog post describes how developers can leverage Apache Flink&rsquo;s built-in metrics system together with Prometheus to observe and monitor streaming applications in an effective way. This is a follow-up post from my Flink Forward Berlin 2018 talk (slides, video). We [...]
 Why Prometheus? # Prometheus is a metrics-based monitoring system that was originally created in 2012. The system is completely open-source (under the Apache License 2) with a vibrant community behind it and it has graduated from the Cloud Native Foundation last year – a sign of maturity, stability and production-readiness. As we mentioned, the system is based on metrics and it is designed to measure the overall health, behavior and performance of a service. Prometheus features a multi-d [...]
 Metrics: Prometheus defines metrics as floats of information that change in time. These time series have millisecond precision.
 Labels are the key-value pairs associated with time series that support Prometheus&rsquo; flexible and powerful data model – in contrast to hierarchical data structures that one might experience with traditional metrics systems.
@@ -3819,7 +3834,7 @@ docker kill taskmanager1 Our Flink job can recover from this partial failure via
 Example alert in Prometheus web UI. In real-world situations alerts like this one can be routed through a component called Alertmanager and be grouped into notifications to systems like email, PagerDuty or Slack.
 Go ahead and play around with the setup, and check out the Grafana instance reachable at http://localhost:3000 (credentials admin:flink) for visualizing Prometheus metrics. If there are any questions or problems, feel free to create an issue. Once finished, do not forget to tear down the setup via
 ./gradlew composeDown Conclusion # Using Prometheus together with Flink provides an easy way for effective monitoring and alerting of your Flink jobs. Both projects have exciting and vibrant communities behind them with new developments and additions scheduled for upcoming releases. We encourage you to try the two technologies together as it has immensely improved our insights into Flink jobs running in production.
-`}),e.add({id:192,href:"/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/",title:"What to expect from Flink Forward San Francisco 2019",section:"Flink Blog",content:`The third annual Flink Forward San Francisco is just a few weeks away! As always, Flink Forward will be the right place to meet and mingle with experienced Flink users, contributors, and committers. Attendees will hear and chat about the latest developments around Flink and learn from technical deep-dive sess [...]
+`}),e.add({id:193,href:"/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/",title:"What to expect from Flink Forward San Francisco 2019",section:"Flink Blog",content:`The third annual Flink Forward San Francisco is just a few weeks away! As always, Flink Forward will be the right place to meet and mingle with experienced Flink users, contributors, and committers. Attendees will hear and chat about the latest developments around Flink and learn from technical deep-dive sess [...]
 Some highlights of the program are:
 Realtime Store Visit Predictions at Scale: Luca Giovagnoli from Yelp will talk about a &ldquo;multidisciplinary&rdquo; Flink application that combines geospatial clustering algorithms, Machine Learning models, and cutting-edge stream-processing technology.
 Real-time Processing with Flink for Machine Learning at Netflix: Elliot Chow will discuss the practical aspects of using Apache Flink to power Machine Learning algorithms for video recommendations, search results ranking, and selection of artwork images at Netflix.
@@ -3833,13 +3848,13 @@ Analyzing Streaming Data with Flink SQL: In this hands-on training, you will lea
 Troubleshooting and Operating Flink at large scale: In this training, we will focus on everything you need to run Apache Flink applications reliably and efficiently in production including topics like capacity planning, monitoring, troubleshooting and tuning Apache Flink.
 If you haven&rsquo;t done so yet, check out the full schedule and register your attendance. I&rsquo;m looking forward to meet you at Flink Forward San Francisco.
 Fabian
-`}),e.add({id:193,href:"/2019/02/25/apache-flink-1.6.4-released/",title:"Apache Flink 1.6.4 Released",section:"Flink Blog",content:`The Apache Flink community released the fourth bugfix version of the Apache Flink 1.6 series.
+`}),e.add({id:194,href:"/2019/02/25/apache-flink-1.6.4-released/",title:"Apache Flink 1.6.4 Released",section:"Flink Blog",content:`The Apache Flink community released the fourth bugfix version of the Apache Flink 1.6 series.
 This release includes more than 25 fixes and minor improvements for Flink 1.6.3. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.6.4.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.6.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.6.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Bug [FLINK-10721] - Kafka discovery-loop exceptions may be swallowed [FLINK-10761] - MetricGroup#getAllVariables can deadlock [FLINK-10774] - connection leak when partition discovery is disabled and open throws exception [FLINK-10848] - Flink&#39;s Yarn ResourceManager can allocate too many excess containers [FLINK-11022] - Update LICENSE and NOTICE files for older releases [FLINK-11071] - Dynamic proxy classes cannot be resolved when deserializing job graph [FLINK-11084] - Incorrect oup [...]
+Bug [FLINK-10721] - Kafka discovery-loop exceptions may be swallowed [FLINK-10761] - MetricGroup#getAllVariables can deadlock [FLINK-10774] - connection leak when partition discovery is disabled and open throws exception [FLINK-10848] - Flink&#39;s Yarn ResourceManager can allocate too many excess containers [FLINK-11022] - Update LICENSE and NOTICE files for older releases [FLINK-11071] - Dynamic proxy classes cannot be resolved when deserializing job graph [FLINK-11084] - Incorrect oup [...]
 With business-critical applications running on Apache Flink, performance monitoring becomes an increasingly important part of a successful production deployment. It ensures that any degradation or downtime is immediately identified and resolved as quickly as possible.
 Monitoring goes hand-in-hand with observability, which is a prerequisite for troubleshooting and performance tuning. Nowadays, with the complexity of modern enterprise applications and the speed of delivery increasing, an engineering team must understand and have a complete overview of its applications’ status at any given point in time.
 Flink’s Metrics System # The foundation for monitoring Flink jobs is its metrics system which consists of two components; Metrics and MetricsReporters.
@@ -3892,13 +3907,13 @@ Metric Scope Description Status.JVM.CPU.Load job-/taskmanager The recent CPU usa
 TaskManager & JobManager CPU load. System Resources # In addition to the JVM metrics above, it is also possible to use Flink’s metrics system to gather insights about system resources, i.e. memory, CPU &amp; network-related metrics for the whole machine as opposed to the Flink processes alone. System resource monitoring is disabled by default and requires additional dependencies on the classpath. Please check out the Flink system resource metrics documentation for additional guidance and [...]
 Conclusion # This post tries to shed some light on Flink’s metrics and monitoring system. You can utilise it as a starting point when you first think about how to successfully monitor your Flink application. I highly recommend to start monitoring your Flink application early on in the development phase. This way you will be able to improve your dashboards and alerts over time and, more importantly, observe the performance impact of the changes to your application throughout the developme [...]
 Last but not least, this post only scratches the surface of the overall metrics and monitoring capabilities of Apache Flink. I highly recommend going over Flink’s metrics documentation for a full reference of Flink’s metrics system.
-`}),e.add({id:195,href:"/2019/02/15/apache-flink-1.7.2-released/",title:"Apache Flink 1.7.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.7 series.
+`}),e.add({id:196,href:"/2019/02/15/apache-flink-1.7.2-released/",title:"Apache Flink 1.7.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.7 series.
 This release includes more than 40 fixes and minor improvements for Flink 1.7.1, covering several critical recovery issues as well as problems in the Flink streaming connectors.
 The list below includes a detailed list of all fixes. We highly recommend all users to upgrade to Flink 1.7.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.7.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.7.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-11179] - JoinCancelingITCase#testCancelSortMatchWhileDoingHeavySorting test error [FLINK-11180] - ProcessFailureCancelingITCase#testCancelingOnProcessFailure [FLINK-11181] - SimpleRecoveryITCaseBase test error Bug [FLINK-10721] - Kafka discovery-loop exceptions may be swallowed [FLINK-10761] - MetricGroup#getAllVariables can deadlock [FLINK-10774] - connection leak when partition discovery is disabled and open throws exception [FLINK-10848] - Flink&#39;s Yarn ResourceMana [...]
+Sub-task [FLINK-11179] - JoinCancelingITCase#testCancelSortMatchWhileDoingHeavySorting test error [FLINK-11180] - ProcessFailureCancelingITCase#testCancelingOnProcessFailure [FLINK-11181] - SimpleRecoveryITCaseBase test error Bug [FLINK-10721] - Kafka discovery-loop exceptions may be swallowed [FLINK-10761] - MetricGroup#getAllVariables can deadlock [FLINK-10774] - connection leak when partition discovery is disabled and open throws exception [FLINK-10848] - Flink&#39;s Yarn ResourceMana [...]
 A Unified Approach to Batch and Streaming # Since its early days, Apache Flink has followed the philosophy of taking a unified approach to batch and streaming data processing. The core building block is &ldquo;continuous processing of unbounded data streams&rdquo;: if you can do that, you can also do offline processing of bounded data sets (batch processing use cases), because these are just streams that happen to end at some point.
 The &ldquo;streaming first, with batch as a special case of streaming&rdquo; philosophy is supported by various projects (for example Flink, Beam, etc.) and often been cited as a powerful way to build data applications that generalize across real-time and offline processing and to help greatly reduce the complexity of data infrastructures.
 Why are there still batch processors? # However, &ldquo;batch is just a special case of streaming&rdquo; does not mean that any stream processor is now the right tool for your batch processing use cases - the introduction of stream processors did not render batch processors obsolete:
@@ -3939,25 +3954,25 @@ Once this effort is finished, we can add Blink’s scheduling and recovery strat
 The extended catalog support, DDL support, as well as support for Hive’s catalog and integrations is currently going through separate design discussions. We plan to leverage existing code here whenever it makes sense.
 Summary # We believe that the data processing stack of the future is based on stream processing: The elegance of stream processing with its ability to model offline processing (batch), real-time data processing, and event-driven applications in the same way, while offering high performance and consistency is simply too compelling.
 Exploiting certain properties of bounded data is important for a stream processor to achieve the same performance as dedicated batch processors. While Flink always supported batch processing, the project is taking the next step in building a unified runtime and towards becoming a stream processor that is competitive with batch processing systems even on their home turf: OLAP SQL. The contribution of Alibaba’s Blink code helps the Flink community to pick up the speed on this development.
-`}),e.add({id:197,href:"/2018/12/26/apache-flink-1.5.6-released/",title:"Apache Flink 1.5.6 Released",section:"Flink Blog",content:`The Apache Flink community released the sixth and last bugfix version of the Apache Flink 1.5 series.
+`}),e.add({id:198,href:"/2018/12/26/apache-flink-1.5.6-released/",title:"Apache Flink 1.5.6 Released",section:"Flink Blog",content:`The Apache Flink community released the sixth and last bugfix version of the Apache Flink 1.5 series.
 This release includes more than 47 fixes and minor improvements for Flink 1.5.5. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.5.6.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.5.6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.5.6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-10252] - Handle oversized metric messages [FLINK-10863] - Assign uids to all operators Bug [FLINK-8336] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability [FLINK-9646] - ExecutionGraphCoLocationRestartTest.testConstraintsAfterRestart failed on Travis [FLINK-10166] - Dependency problems when executing SQL query in sql-client [FLINK-10309] - Cancel with savepoint fails with java.net.ConnectException when using the per job-mode [FLINK-10419] - ClassNot [...]
+Sub-task [FLINK-10252] - Handle oversized metric messages [FLINK-10863] - Assign uids to all operators Bug [FLINK-8336] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability [FLINK-9646] - ExecutionGraphCoLocationRestartTest.testConstraintsAfterRestart failed on Travis [FLINK-10166] - Dependency problems when executing SQL query in sql-client [FLINK-10309] - Cancel with savepoint fails with java.net.ConnectException when using the per job-mode [FLINK-10419] - ClassNot [...]
 This release includes more than 80 fixes and minor improvements for Flink 1.6.2. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.6.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.6.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.6.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-10097] - More tests to increase StreamingFileSink test coverage [FLINK-10252] - Handle oversized metric messages [FLINK-10367] - Avoid recursion stack overflow during releasing SingleInputGate [FLINK-10863] - Assign uids to all operators in general purpose testing job Bug [FLINK-8336] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability [FLINK-9635] - Local recovery scheduling can cause spread out of tasks [FLINK-9646] - ExecutionGraphCoLocationRestar [...]
+Sub-task [FLINK-10097] - More tests to increase StreamingFileSink test coverage [FLINK-10252] - Handle oversized metric messages [FLINK-10367] - Avoid recursion stack overflow during releasing SingleInputGate [FLINK-10863] - Assign uids to all operators in general purpose testing job Bug [FLINK-8336] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability [FLINK-9635] - Local recovery scheduling can cause spread out of tasks [FLINK-9646] - ExecutionGraphCoLocationRestar [...]
 This release includes 27 fixes and minor improvements for Flink 1.7.0. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.7.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.7.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.7.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-10252] - Handle oversized metric messages [FLINK-10367] - Avoid recursion stack overflow during releasing SingleInputGate [FLINK-10522] - Check if RecoverableWriter supportsResume and act accordingly. [FLINK-10963] - Cleanup small objects uploaded to S3 as independent objects Bug [FLINK-8336] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability [FLINK-9646] - ExecutionGraphCoLocationRestartTest.testConstraintsAfterRestart failed on Travis [FLINK-10149 [...]
+Sub-task [FLINK-10252] - Handle oversized metric messages [FLINK-10367] - Avoid recursion stack overflow during releasing SingleInputGate [FLINK-10522] - Check if RecoverableWriter supportsResume and act accordingly. [FLINK-10963] - Cleanup small objects uploaded to S3 as independent objects Bug [FLINK-8336] - YarnFileStageTestS3ITCase.testRecursiveUploadForYarnS3 test instability [FLINK-9646] - ExecutionGraphCoLocationRestartTest.testConstraintsAfterRestart failed on Travis [FLINK-10149 [...]
 Flink 1.7.0 is API-compatible with previous 1.x.y releases for APIs annotated with the @Public annotation. The release is available now and we encourage everyone to download the release and check out the updated documentation. Feedback through the Flink mailing lists or JIRA is, as always, very much appreciated!
 You can find the binaries on the updated Downloads page on the Flink project site.
 Flink 1.7.0 - Extending the reach of Stream Processing # In Flink 1.7.0 we come closer to our goals of enabling fast data processing and building data-intensive applications for the Flink community in a seamless way. Our latest release includes some exciting new features and improvements such as support for Scala 2.12, an exactly-once S3 file sink, the integration of complex event processing with streaming SQL and more features that we explain below.
@@ -3983,37 +3998,37 @@ Removal of Flink’s Legacy Mode (FLINK-10392): Apache Flink 1.7.0 marks the rel
 Release Notes # Please review the release notes if you plan to upgrade your Flink setup to Flink 1.7.
 List of Contributors # We would like to acknowledge all community members for contributing to this release. Special credits go to the following members for contributing to the 1.7.0 release (according to git):
 Aitozi, Alex Arkhipov, Alexander Koltsov, Alexey Trenikhin, Alice, Alice Yan, Aljoscha Krettek, Andrei Poluliakh, Andrey Zagrebin, Ashwin Sinha, Barisa Obradovic, Ben La Monica, Benoit Meriaux, Bowen Li, Chesnay Schepler, Christophe Jolif, Congxian Qiu, Craig Foster, David Anderson, Dawid Wysakowicz, Dian Fu, Diego Carvallo, Dimitris Palyvos, Eugen Yushin, Fabian Hueske, Florian Schmidt, Gary Yao, Guibo Pan, Hequn Cheng, Hiroaki Yoshida, Igal Shilman, JIN SUN, Jamie Grier, Jayant Ameta,  [...]
-`}),e.add({id:201,href:"/2018/10/29/apache-flink-1.5.5-released/",title:"Apache Flink 1.5.5 Released",section:"Flink Blog",content:`The Apache Flink community released the fifth bugfix version of the Apache Flink 1.5 series.
+`}),e.add({id:202,href:"/2018/10/29/apache-flink-1.5.5-released/",title:"Apache Flink 1.5.5 Released",section:"Flink Blog",content:`The Apache Flink community released the fifth bugfix version of the Apache Flink 1.5 series.
 This release includes more than 20 fixes and minor improvements for Flink 1.5.4. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.5.5.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.5.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.5.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-10242] - Latency marker interval should be configurable [FLINK-10243] - Add option to reduce latency metrics granularity [FLINK-10331] - Reduce number of flush requests to the network stack [FLINK-10332] - Move data available notification in PipelinedSubpartition out of the synchronized block Bug [FLINK-5542] - YARN client incorrectly uses local YARN config to check vcore capacity [FLINK-9567] - Flink does not release resource in Yarn Cluster mode [FLINK-9788] - Execution [...]
+Sub-task [FLINK-10242] - Latency marker interval should be configurable [FLINK-10243] - Add option to reduce latency metrics granularity [FLINK-10331] - Reduce number of flush requests to the network stack [FLINK-10332] - Move data available notification in PipelinedSubpartition out of the synchronized block Bug [FLINK-5542] - YARN client incorrectly uses local YARN config to check vcore capacity [FLINK-9567] - Flink does not release resource in Yarn Cluster mode [FLINK-9788] - Execution [...]
 This release includes more than 30 fixes and minor improvements for Flink 1.6.1. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.6.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.6.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.6.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-10242] - Latency marker interval should be configurable [FLINK-10243] - Add option to reduce latency metrics granularity [FLINK-10331] - Reduce number of flush requests to the network stack [FLINK-10332] - Move data available notification in PipelinedSubpartition out of the synchronized block Bug [FLINK-5542] - YARN client incorrectly uses local YARN config to check vcore capacity [FLINK-9567] - Flink does not release resource in Yarn Cluster mode [FLINK-9788] - Execution [...]
+Sub-task [FLINK-10242] - Latency marker interval should be configurable [FLINK-10243] - Add option to reduce latency metrics granularity [FLINK-10331] - Reduce number of flush requests to the network stack [FLINK-10332] - Move data available notification in PipelinedSubpartition out of the synchronized block Bug [FLINK-5542] - YARN client incorrectly uses local YARN config to check vcore capacity [FLINK-9567] - Flink does not release resource in Yarn Cluster mode [FLINK-9788] - Execution [...]
 This release includes more than 20 fixes and minor improvements for Flink 1.5.4. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.5.4.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.5.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.5.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Bug [FLINK-9878] - IO worker threads BLOCKED on SSL Session Cache while CMS full gc [FLINK-10011] - Old job resurrected during HA failover [FLINK-10101] - Mesos web ui url is missing. [FLINK-10115] - Content-length limit is also applied to FileUploads [FLINK-10116] - createComparator fails on case class with Unit type fields prior to the join-key [FLINK-10141] - Reduce lock contention introduced with 1.5 [FLINK-10142] - Reduce synchronization overhead for credit notifications [FLINK-1015 [...]
+Bug [FLINK-9878] - IO worker threads BLOCKED on SSL Session Cache while CMS full gc [FLINK-10011] - Old job resurrected during HA failover [FLINK-10101] - Mesos web ui url is missing. [FLINK-10115] - Content-length limit is also applied to FileUploads [FLINK-10116] - createComparator fails on case class with Unit type fields prior to the join-key [FLINK-10141] - Reduce lock contention introduced with 1.5 [FLINK-10142] - Reduce synchronization overhead for credit notifications [FLINK-1015 [...]
 This release includes 60 fixes and minor improvements for Flink 1.6.1. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.6.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.6.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.6.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-9637] - Add public user documentation for TTL feature [FLINK-10068] - Add documentation for async/RocksDB-based timers [FLINK-10085] - Update AbstractOperatorRestoreTestBase [FLINK-10087] - Update BucketingSinkMigrationTest [FLINK-10089] - Update FlinkKafkaConsumerBaseMigrationTest [FLINK-10090] - Update ContinuousFileProcessingMigrationTest [FLINK-10091] - Update WindowOperatorMigrationTest [FLINK-10092] - Update StatefulJobSavepointMigrationITCase [FLINK-10109] - Add do [...]
+Sub-task [FLINK-9637] - Add public user documentation for TTL feature [FLINK-10068] - Add documentation for async/RocksDB-based timers [FLINK-10085] - Update AbstractOperatorRestoreTestBase [FLINK-10087] - Update BucketingSinkMigrationTest [FLINK-10089] - Update FlinkKafkaConsumerBaseMigrationTest [FLINK-10090] - Update ContinuousFileProcessingMigrationTest [FLINK-10091] - Update WindowOperatorMigrationTest [FLINK-10092] - Update StatefulJobSavepointMigrationITCase [FLINK-10109] - Add do [...]
 This release includes more than 20 fixes and minor improvements for Flink 1.5.3. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.5.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.5.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.5.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-9951] - Update scm developerConnection Bug [FLINK-5750] - Incorrect translation of n-ary Union [FLINK-9289] - Parallelism of generated operators should have max parallism of input [FLINK-9546] - The heartbeatTimeoutIntervalMs of HeartbeatMonitor should be larger than 0 [FLINK-9655] - Externalized checkpoint E2E test fails on travis [FLINK-9693] - Possible memory leak in jobmanager retaining archived checkpoints [FLINK-9694] - Potentially NPE in CompositeTypeSerializerConf [...]
+Sub-task [FLINK-9951] - Update scm developerConnection Bug [FLINK-5750] - Incorrect translation of n-ary Union [FLINK-9289] - Parallelism of generated operators should have max parallism of input [FLINK-9546] - The heartbeatTimeoutIntervalMs of HeartbeatMonitor should be larger than 0 [FLINK-9655] - Externalized checkpoint E2E test fails on travis [FLINK-9693] - Possible memory leak in jobmanager retaining archived checkpoints [FLINK-9694] - Potentially NPE in CompositeTypeSerializerConf [...]
 Flink 1.6.0 is the seventh major release in the 1.x.y series. It is API-compatible with previous 1.x.y releases for APIs annotated with the @Public annotation.
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists or JIRA is, as always, very much appreciated!
 You can find the binaries on the updated Downloads page on the Flink project site.
@@ -4044,19 +4059,19 @@ Intra-Cluster Mutual Authentication (FLINK-9312): Flink’s cluster components n
 Release Notes # Please review the release notes if you plan to upgrade your Flink setup to Flink 1.6.
 List of Contributors # According to git shortlog, the following 112 people contributed to the 1.6.0 release. Thanks to all contributors!
 Alejandro Alcalde, Alexander Koltsov, Alexey Tsitkin, Aljoscha Krettek, Andreas Fink, Andrey Zagrebin, Arunan Sugunakumar, Ashwin Sinha, Bill Lee, Bowen Li, Chesnay Schepler, Christophe Jolif, Clément Tamisier, Craig Foster, David Anderson, Dawid Wysakowicz, Deepak Sharnma, Dmitrii_Kniazev, EAlexRojas, Elias Levy, Eron Wright, Ethan Li, Fabian Hueske, Florian Schmidt, Franz Thoma, Gabor Gevay, Georgii Gobozov, Haohui Mai, Jamie Grier, Jeff Zhang, Jelmer Kuperus, Jiayi Liao, Jungtaek Lim, [...]
-`}),e.add({id:207,href:"/2018/07/31/apache-flink-1.5.2-released/",title:"Apache Flink 1.5.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.5 series.
+`}),e.add({id:208,href:"/2018/07/31/apache-flink-1.5.2-released/",title:"Apache Flink 1.5.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.5 series.
 This release includes more than 20 fixes and minor improvements for Flink 1.5.1. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.5.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.5.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.5.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-9839] - End-to-end test: Streaming job with SSL Bug [FLINK-5750] - Incorrect translation of n-ary Union [FLINK-8161] - Flakey YARNSessionCapacitySchedulerITCase on Travis [FLINK-8731] - TwoInputStreamTaskTest flaky on travis [FLINK-9091] - Failure while enforcing releasability in building flink-json module [FLINK-9380] - Failing end-to-end tests should not clean up logs [FLINK-9439] - DispatcherTest#testJobRecovery dead locks [FLINK-9575] - Potential race condition when r [...]
+Sub-task [FLINK-9839] - End-to-end test: Streaming job with SSL Bug [FLINK-5750] - Incorrect translation of n-ary Union [FLINK-8161] - Flakey YARNSessionCapacitySchedulerITCase on Travis [FLINK-8731] - TwoInputStreamTaskTest flaky on travis [FLINK-9091] - Failure while enforcing releasability in building flink-json module [FLINK-9380] - Failing end-to-end tests should not clean up logs [FLINK-9439] - DispatcherTest#testJobRecovery dead locks [FLINK-9575] - Potential race condition when r [...]
 This release includes more than 60 fixes and minor improvements for Flink 1.5.0. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.5.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.5.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.5.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-8977] - End-to-end test: Manually resume job after terminal failure [FLINK-8982] - End-to-end test: Queryable state [FLINK-8989] - End-to-end test: ElasticSearch connector [FLINK-8996] - Include an operator with broadcast and union state [FLINK-9008] - End-to-end test: Quickstarts [FLINK-9320] - Update \`test-ha.sh\` end-to-end test to use general purpose DataStream job [FLINK-9322] - Add exception throwing map function that simulates failures to the general purpose DataS [...]
+Sub-task [FLINK-8977] - End-to-end test: Manually resume job after terminal failure [FLINK-8982] - End-to-end test: Queryable state [FLINK-8989] - End-to-end test: ElasticSearch connector [FLINK-8996] - Include an operator with broadcast and union state [FLINK-9008] - End-to-end test: Quickstarts [FLINK-9320] - Update \`test-ha.sh\` end-to-end test to use general purpose DataStream job [FLINK-9322] - Add exception throwing map function that simulates failures to the general purpose DataS [...]
 Flink 1.5.0 is the sixth major release in the 1.x.y series. As usual, it is API-compatible with previous 1.x.y releases for APIs annotated with the @Public annotation.
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists or JIRA is, as always, very much appreciated!
 You can find the binaries on the updated Downloads page on the Flink project site.
@@ -4083,19 +4098,19 @@ SELECT u.name, u.address, o.productId, o.amount FROM Users u JOIN Orders o ON u.
 Various Other Features and Improvements # OpenStack provides software for creating public and private clouds on pools of resources. Flink now supports OpenStack’s S3-like file system, Swift, for checkpoint and savepoint storage. Swift can be used without Hadoop dependencies. Reading and writing JSON messages from and to connectors has been improved. It’s now possible to parse a standard JSON schema in order to configure serializers and deserializers. The SQL CLI Client is able to read JS [...]
 List of Contributors # According to git shortlog, the following 106 people contributed to the 1.5.0 release. Thanks to all contributors!
 Aegeaner, Alejandro Alcalde, Aljoscha Krettek, Andreas Fink, Andrey Zagrebin, Ankit Parashar, Arunan Sugunakumar, Bartłomiej Tartanus, Bowen Li, Cristian, Dan Kelley, David Anderson, Dawid Wysakowicz, Dian Fu, Dmitrii_Kniazev, Dyana Rose, EAlexRojas, Eron Wright, Fabian Hueske, Florian Schmidt, Gabor Gevay, Greg Hogan, Gyula Fora, Jark Wu, Jelmer Kuperus, Joerg Schad, John Eismeier, Kailash HD, Ken Geis, Ken Krugler, Kent Murra, Leonid Ishimnikov, Malcolm Taylor, Matrix42, Michael Fong,  [...]
-`}),e.add({id:210,href:"/2018/03/15/apache-flink-1.3.3-released/",title:"Apache Flink 1.3.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.3 series.
+`}),e.add({id:211,href:"/2018/03/15/apache-flink-1.3.3-released/",title:"Apache Flink 1.3.3 Released",section:"Flink Blog",content:`The Apache Flink community released the third bugfix version of the Apache Flink 1.3 series.
 This release includes 4 critical fixes related to checkpointing and recovery. The list below includes a detailed list of all fixes.
 We highly recommend all Flink 1.3 series users to upgrade to Flink 1.3.3.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.3.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.3.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-7783] - Don&#39;t always remove checkpoints in ZooKeeperCompletedCheckpointStore#recover() Bug [FLINK-7283] - PythonPlanBinderTest issues with python paths [FLINK-8487] - State loss after multiple restart attempts [FLINK-8807] - ZookeeperCompleted checkpoint store can get stuck in infinite loop Improvement [FLINK-8890] - Compare checkpoints with order in CompletedCheckpoint.checkpointsMatch() `}),e.add({id:211,href:"/2018/03/08/apache-flink-1.4.2-released/",title:"Apache  [...]
+Sub-task [FLINK-7783] - Don&#39;t always remove checkpoints in ZooKeeperCompletedCheckpointStore#recover() Bug [FLINK-7283] - PythonPlanBinderTest issues with python paths [FLINK-8487] - State loss after multiple restart attempts [FLINK-8807] - ZookeeperCompleted checkpoint store can get stuck in infinite loop Improvement [FLINK-8890] - Compare checkpoints with order in CompletedCheckpoint.checkpointsMatch() `}),e.add({id:212,href:"/2018/03/08/apache-flink-1.4.2-released/",title:"Apache  [...]
 This release includes more than 10 fixes and minor improvements for Flink 1.4.1. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.4.2.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.4.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.4.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-6321] - RocksDB state backend Checkpointing is not working with KeyedCEP. [FLINK-7756] - RocksDB state backend Checkpointing (Async and Incremental) is not working with CEP. Bug [FLINK-8423] - OperatorChain#pushToOperator catch block may fail with NPE [FLINK-8451] - CaseClassSerializer is not backwards compatible in 1.4 [FLINK-8520] - CassandraConnectorITCase.testCassandraTableSink unstable on Travis [FLINK-8621] - PrometheusReporterTest.endpointIsUnavailableAfterReporter [...]
+Sub-task [FLINK-6321] - RocksDB state backend Checkpointing is not working with KeyedCEP. [FLINK-7756] - RocksDB state backend Checkpointing (Async and Incremental) is not working with CEP. Bug [FLINK-8423] - OperatorChain#pushToOperator catch block may fail with NPE [FLINK-8451] - CaseClassSerializer is not backwards compatible in 1.4 [FLINK-8520] - CassandraConnectorITCase.testCassandraTableSink unstable on Travis [FLINK-8621] - PrometheusReporterTest.endpointIsUnavailableAfterReporter [...]
 Apache Flink 1.4.0, released in December 2017, introduced a significant milestone for stream processing with Flink: a new feature called TwoPhaseCommitSinkFunction (relevant Jira here) that extracts the common logic of the two-phase commit protocol and makes it possible to build end-to-end exactly-once applications with Flink and a selection of data sources and sinks, including Apache Kafka versions 0.11 and beyond. It provides a layer of abstraction and requires a user to implement only [...]
 If that&rsquo;s all you need to hear, let us point you to the relevant place in the Flink documentation, where you can read about how to put TwoPhaseCommitSinkFunction to use.
 But if you&rsquo;d like to learn more, in this post, we&rsquo;ll share an in-depth overview of the new feature and what is happening behind the scenes in Flink.
@@ -4134,13 +4149,13 @@ There are a handful of other edge cases that TwoPhaseCommitSinkFunction takes in
 Wrapping Up # If you&rsquo;ve made it this far, thanks for staying with us through a detailed post. Here are some key points that we covered:
 Flink&rsquo;s checkpointing system serves as Flink&rsquo;s basis for supporting a two-phase commit protocol and providing end-to-end exactly-once semantics. An advantage of this approach is that Flink does not materialize data in transit the way that some other systems do&ndash;there&rsquo;s no need to write every stage of the computation to disk as is the case is most batch processing. Flink&rsquo;s new TwoPhaseCommitSinkFunction extracts the common logic of the two-phase commit protoco [...]
 This post first appeared on the data Artisans blog and was contributed to Apache Flink and the Flink blog by the original authors Piotr Nowojski and Mike Winters.
-`}),e.add({id:213,href:"/2018/02/15/apache-flink-1.4.1-released/",title:"Apache Flink 1.4.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.4 series.
+`}),e.add({id:214,href:"/2018/02/15/apache-flink-1.4.1-released/",title:"Apache Flink 1.4.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.4 series.
 This release includes more than 60 fixes and minor improvements for Flink 1.4.0. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.4.1.
 Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.4.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.4.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-6321] - RocksDB state backend Checkpointing is not working with KeyedCEP. [FLINK-7499] - double buffer release in SpillableSubpartitionView [FLINK-7756] - RocksDB state backend Checkpointing (Async and Incremental) is not working with CEP. [FLINK-7760] - Restore failing from external checkpointing metadata. [FLINK-8323] - Fix Mod scala function bug Bug [FLINK-5506] - Java 8 - CommunityDetection.java:158 - java.lang.NullPointerException [FLINK-6951] - Incompatible versions [...]
+Sub-task [FLINK-6321] - RocksDB state backend Checkpointing is not working with KeyedCEP. [FLINK-7499] - double buffer release in SpillableSubpartitionView [FLINK-7756] - RocksDB state backend Checkpointing (Async and Incremental) is not working with CEP. [FLINK-7760] - Restore failing from external checkpointing metadata. [FLINK-8323] - Fix Mod scala function bug Bug [FLINK-5506] - Java 8 - CommunityDetection.java:158 - java.lang.NullPointerException [FLINK-6951] - Incompatible versions [...]
 State is a fundamental, enabling concept in stream processing required for a majority of complex use cases. Some examples highlighted in the Flink documentation:
 When an application searches for certain event patterns, the state stores the sequence of events encountered so far. When aggregating events per minute, the state holds the pending aggregates. When training a machine learning model over a stream of data points, the state holds the current version of the model parameters. However, stateful stream processing is only useful in production environments if the state is fault tolerant. &ldquo;Fault tolerance&rdquo; means that even if there&rsqu [...]
 Flink&rsquo;s fault tolerance has always been a powerful and popular feature, minimizing the impact of software or machine failure on your business and making it possible to guarantee exactly-once results from a Flink application.
@@ -4166,7 +4181,7 @@ Restoring Checkpoints and Performance Considerations # If you enable incremental
 Though the feature can lead to a substantial improvement in checkpoint time for users with a large state, there are trade-offs to consider with incremental checkpointing. Overall, the process reduces the checkpointing time during normal operations but can lead to a longer recovery time depending on the size of your state. If the cluster failure is particularly severe and the Flink TaskManagers have to read from multiple checkpoints, recovery can be a slower operation than when using non- [...]
 There are some strategies for improving the convenience/performance trade-off, and I recommend you read the Flink documentation for more details.
 This post originally appeared on the data Artisans blog and was contributed to the Flink blog by Stefan Richter and Chris Ward.
-`}),e.add({id:215,href:"/2017/12/21/apache-flink-in-2017-year-in-review/",title:"Apache Flink in 2017: Year in Review",section:"Flink Blog",content:`2017 was another exciting year for the Apache Flink® community, with 3 major version releases (Flink 1.2.0 in February, Flink 1.3.0 in June, and Flink 1.4.0 in December) and the first-ever Flink Forward in San Francisco, giving Flink community members in another corner of the globe an opportunity to connect. Users shared details about their  [...]
+`}),e.add({id:216,href:"/2017/12/21/apache-flink-in-2017-year-in-review/",title:"Apache Flink in 2017: Year in Review",section:"Flink Blog",content:`2017 was another exciting year for the Apache Flink® community, with 3 major version releases (Flink 1.2.0 in February, Flink 1.3.0 in June, and Flink 1.4.0 in December) and the first-ever Flink Forward in San Francisco, giving Flink community members in another corner of the globe an opportunity to connect. Users shared details about their  [...]
 In this post, we&rsquo;ll look back on the project&rsquo;s progress over the course of 2017, and we&rsquo;ll also preview what 2018 has in store.
 {%toc%}
 Community Growth # Github # First, here&rsquo;s a summary of community statistics from GitHub. At the time of writing:
@@ -4194,7 +4209,7 @@ Looking ahead to 2018 # A good source of information about the Flink community&r
 Work is already underway on a number of these features, and some will be included in Flink 1.5 at the beginning of 2018.
 Improved BLOB storage architecture, as described in FLIP-19 to consolidate API usage and improve concurrency. Integration of SQL and CEP, as described in FLIP-20 to allow developers to create complex event processing (CEP) patterns using SQL statements. Unified checkpoints and savepoints, as described in FLIP-10, to allow savepoints to be triggered automatically–important for program updates for the sake of error handling because savepoints allow the user to modify both the job and Flink [...]
 Lastly, we&rsquo;d like to extend a sincere thank you to all the Flink community for making 2017 a great year!
-`}),e.add({id:216,href:"/2017/12/12/apache-flink-1.4.0-release-announcement/",title:"Apache Flink 1.4.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the 1.4.0 release. Over the past 5 months, the Flink community has been working hard to resolve more than 900 issues. See the complete changelog for more detail.
+`}),e.add({id:217,href:"/2017/12/12/apache-flink-1.4.0-release-announcement/",title:"Apache Flink 1.4.0 Release Announcement",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the 1.4.0 release. Over the past 5 months, the Flink community has been working hard to resolve more than 900 issues. See the complete changelog for more detail.
 This is the fifth major release in the 1.x.y series. It is API-compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
 We encourage everyone to download the release and check out the documentation.
 Feedback through the Flink mailing lists is, as always, gladly encouraged!
@@ -4239,7 +4254,7 @@ This also means that in cases where you used connectors to HDFS, such as the Buc
 Bundled S3 FileSystems # Flink 1.4 comes bundled with two different S3 FileSystems based on the Presto S3 FileSystem and the Hadoop S3A FileSystem. They don&rsquo;t have dependencies (because all dependencies are shaded/relocated) and you can use them by dropping the respective file from the opt directory into the lib directory of your Flink installation. For more information about this, please refer to the documentation.
 List of Contributors # According to git shortlog, the following 106 people contributed to the 1.4.0 release. Thank you to all contributors!
 Ajay Tripathy, Alejandro Alcalde, Aljoscha Krettek, Bang, Phiradet, Bowen Li, Chris Ward, Cristian, Dan Kelley, David Anderson, Dawid Wysakowicz, Dian Fu, Dmitrii Kniazev, DmytroShkvyra, Fabian Hueske, FlorianFan, Fokko Driesprong, Gabor Gevay, Gary Yao, Greg Hogan, Haohui Mai, Hequn Cheng, James Lafa, Jark Wu, Jie Shen, Jing Fan, JingsongLi, Joerg Schad, Juan Paulo Gutierrez, Ken Geis, Kent Murra, Kurt Young, Lim Chee Hau, Maximilian Bode, Michael Fong, Mike Kobit, Mikhail Lipkovich, Ni [...]
-`}),e.add({id:217,href:"/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/",title:"Looking Ahead to Apache Flink 1.4.0 and 1.5.0",section:"Flink Blog",content:`The Apache Flink 1.4.0 release is on track to happen in the next couple of weeks, and for all of the readers out there who haven’t been following the release discussion on Flink’s developer mailing list, we’d like to provide some details on what’s coming in Flink 1.4.0 as well as a preview of what the Flink community will  [...]
+`}),e.add({id:218,href:"/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/",title:"Looking Ahead to Apache Flink 1.4.0 and 1.5.0",section:"Flink Blog",content:`The Apache Flink 1.4.0 release is on track to happen in the next couple of weeks, and for all of the readers out there who haven’t been following the release discussion on Flink’s developer mailing list, we’d like to provide some details on what’s coming in Flink 1.4.0 as well as a preview of what the Flink community will  [...]
 Both releases include ambitious features that we believe will move Flink to an entirely new level in terms of the types of problems it can solve and applications it can support. The community deserves lots of credit for its hard work over the past few months, and we’re excited to see these features in the hands of users.
 This post will describe how the community plans to get there and the rationale behind the approach.
 Coming soon: Major Changes to Flink’s Runtime # There are 3 significant improvements to the Apache Flink engine that the community has nearly completed and that will have a meaningful impact on Flink’s operability and performance.
@@ -4260,7 +4275,7 @@ The soon-to-be-released Flink 1.4 represents the current state of Flink without
 A significantly improved dependency structure, removing many of Flink’s dependencies and subtle runtime conflicts. This increases overall stability and removes friction when embedding Flink or calling Flink &ldquo;library style&rdquo;. Reversed class loading for dynamically-loaded user code, allowing for different dependencies than those included in the core framework. An Apache Kafka 0.11 exactly-once producer, making it possible to build end-to-end exactly once applications with Flink  [...]
 We’re excited by what each of these represents for Apache Flink, and we’d like to extend our thanks to the Flink community for all of their hard work.
 If you’d like to follow along with release discussions, please subscribe to the dev@ mailing list.
-`}),e.add({id:218,href:"/2017/08/05/apache-flink-1.3.2-released/",title:"Apache Flink 1.3.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.3 series.
+`}),e.add({id:219,href:"/2017/08/05/apache-flink-1.3.2-released/",title:"Apache Flink 1.3.2 Released",section:"Flink Blog",content:`The Apache Flink community released the second bugfix version of the Apache Flink 1.3 series.
 This release includes more than 60 fixes and minor improvements for Flink 1.3.1. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.3.2.
 Important Notice: A user reported a bug in the FlinkKafkaConsumer (FLINK-7143) that is causing incorrect partition assignment in large Kafka deployments in the presence of inconsistent broker metadata. In that case multiple parallel instances of the FlinkKafkaConsumer may read from the same topic partition, leading to data duplication. In Flink 1.3.2 this bug is fixed but incorrect assignments from Flink 1.3.0 and 1.3.1 cannot be automatically fixed by upgrading to Flink 1.3.2 via a save [...]
@@ -4269,7 +4284,7 @@ Notable changes:
 The default Kafka version for Flink Kafka Consumer 0.10 was bumped from 0.10.0.1 to 0.10.2.1. Some default values for configurations of AWS API call behaviors in the Flink Kinesis Consumer were adapted for better default consumption performance: 1) SHARD_GETRECORDS_MAX default changed to 10,000, and 2) SHARD_GETRECORDS_INTERVAL_MILLIS default changed to 200ms. Updated Maven dependencies:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.3.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.3.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
 List of resolved issues:
-Sub-task [FLINK-6665] - Pass a ScheduledExecutorService to the RestartStrategy [FLINK-6667] - Pass a callback type to the RestartStrategy, rather than the full ExecutionGraph [FLINK-6680] - App &amp; Flink migration guide: updates for the 1.3 release Bug [FLINK-5488] - yarnClient should be closed in AbstractYarnClusterDescriptor for error conditions [FLINK-6376] - when deploy flink cluster on the yarn, it is lack of hdfs delegation token. [FLINK-6541] - Jar upload directory not created [ [...]
+Sub-task [FLINK-6665] - Pass a ScheduledExecutorService to the RestartStrategy [FLINK-6667] - Pass a callback type to the RestartStrategy, rather than the full ExecutionGraph [FLINK-6680] - App &amp; Flink migration guide: updates for the 1.3 release Bug [FLINK-5488] - yarnClient should be closed in AbstractYarnClusterDescriptor for error conditions [FLINK-6376] - when deploy flink cluster on the yarn, it is lack of hdfs delegation token. [FLINK-6541] - Jar upload directory not created [ [...]
 In contrast, operators in stateless stream processing only consider their current inputs, without further context and knowledge about the past. A simple example to illustrate this difference: let us consider a source stream that emits events with schema e = {event_id:int, event_value:int}. Our goal is, for each event, to extract and output the event_value. We can easily achieve this with a simple source-map-sink pipeline, where the map function extracts the event_value from the event and [...]
 But what if we want to modify our job to output the event_value only if it is larger than the value from the previous event? In this case, our map function obviously needs some way to remember the event_value from a past event — and so this is an instance of stateful stream processing.
 This example should demonstrate that state is a fundamental, enabling concept in stream processing that is required for a majority of interesting use cases.
@@ -4319,7 +4334,7 @@ Flink 1.3.0, which was released earlier this month, adds more tooling for state
 …for Flink 1.4.0 and beyond.
 If you’d like to learn more, we recommend starting with the Apache Flink documentation.
 This is an excerpt from a post that originally appeared on the data Artisans blog. If you&rsquo;d like to read the original post in its entirety, you can find it here (external link).
-`}),e.add({id:220,href:"/2017/06/23/apache-flink-1.3.1-released/",title:"Apache Flink 1.3.1 Released",section:"Flink Blog",content:"The Apache Flink community released the first bugfix version of the Apache Flink 1.3 series.\nThis release includes 50 fixes and minor improvements for Flink 1.3.0. The list below includes a detailed list of all fixes.\nWe highly recommend all users to upgrade to Flink 1.3.1.\n&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId& [...]
+`}),e.add({id:221,href:"/2017/06/23/apache-flink-1.3.1-released/",title:"Apache Flink 1.3.1 Released",section:"Flink Blog",content:"The Apache Flink community released the first bugfix version of the Apache Flink 1.3 series.\nThis release includes 50 fixes and minor improvements for Flink 1.3.0. The list below includes a detailed list of all fixes.\nWe highly recommend all users to upgrade to Flink 1.3.1.\n&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId& [...]
 This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
 Users can expect Flink releases now in a 4 month cycle. At the beginning of the 1.3 release cycle, the community decided to follow a strict time-based release model.
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, gladly encouraged!
@@ -4360,7 +4375,7 @@ Support for different continuity requirements (FLINK-6208)
 Support for iterative conditions (FLINK-6197)
 Gelly Library # Unified driver for running Gelly examples FLINK-4949). PageRank algorithm for directed graphs (FLINK-4896). Add Circulant and Echo graph generators (FLINK-6393). Known Issues # There are two known issues in Flink 1.3.0. Both will be addressed in the 1.3.1 release. FLINK-6783: Wrongly extracted TypeInformations for WindowedStream::aggregate FLINK-6775: StateDescriptor cannot be shared by multiple subtasks List of Contributors # According to git shortlog, the following 103  [...]
 Addison Higham, Alexey Diomin, Aljoscha Krettek, Andrea Sella, Andrey Melentyev, Anton Mushin, barcahead, biao.liub, Bowen Li, Chen Qin, Chico Sokol, David Anderson, Dawid Wysakowicz, DmytroShkvyra, Fabian Hueske, Fabian Wollert, fengyelei, Flavio Pompermaier, FlorianFan, Fokko Driesprong, Geoffrey Mon, godfreyhe, gosubpl, Greg Hogan, guowei.mgw, hamstah, Haohui Mai, Hequn Cheng, hequn.chq, heytitle, hongyuhong, Jamie Grier, Jark Wu, jingzhang, Jinkui Shi, Jin Mingjian, Joerg Schad, Josh [...]
-`}),e.add({id:222,href:"/2017/05/16/introducing-docker-images-for-apache-flink/",title:"Introducing Docker Images for Apache Flink",section:"Flink Blog",content:`For some time, the Apache Flink community has provided scripts to build a Docker image to run Flink. Now, starting with version 1.2.1, Flink will have a Docker image on the Docker Hub. This image is maintained by the Flink community and curated by the Docker team to ensure it meets the quality standards for container images of t [...]
+`}),e.add({id:223,href:"/2017/05/16/introducing-docker-images-for-apache-flink/",title:"Introducing Docker Images for Apache Flink",section:"Flink Blog",content:`For some time, the Apache Flink community has provided scripts to build a Docker image to run Flink. Now, starting with version 1.2.1, Flink will have a Docker image on the Docker Hub. This image is maintained by the Flink community and curated by the Docker team to ensure it meets the quality standards for container images of t [...]
 A community-maintained way to run Apache Flink on Docker and other container runtimes and orchestrators is part of the ongoing effort by the Flink community to make Flink a first-class citizen of the container world.
 If you want to use the Docker image today you can get the latest version by running:
 docker pull flink And to run a local Flink cluster with one TaskManager and the Web UI exposed on port 8081, run:
@@ -4368,12 +4383,12 @@ docker run -t -p 8081:8081 flink local With this image there are various ways to
 While this announcement is an important milestone, it’s just the first step to help users run containerized Flink in production. There are improvements to be made in Flink itself and we will continue to improve these Docker images and for the documentation and examples surrounding them.
 This is of course a team effort, so any contribution is welcome. The docker-flink GitHub organization hosts the source files to generate the images and the documentation that is presented alongside the images on Docker Hub.
 Disclaimer: The docker images are provided as a community project by individuals on a best-effort basis. They are not official releases by the Apache Flink PMC.
-`}),e.add({id:223,href:"/2017/04/26/apache-flink-1.2.1-released/",title:"Apache Flink 1.2.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.2 series.
+`}),e.add({id:224,href:"/2017/04/26/apache-flink-1.2.1-released/",title:"Apache Flink 1.2.1 Released",section:"Flink Blog",content:`The Apache Flink community released the first bugfix version of the Apache Flink 1.2 series.
 This release includes many critical fixes for Flink 1.2.0. The list below includes a detailed list of all fixes.
 We highly recommend all users to upgrade to Flink 1.2.1.
 Please note that there are two unresolved major issues in Flink 1.2.1 and 1.2.0:
 FLINK-6353 Restoring using CheckpointedRestoring does not work from 1.2 to 1.2 FLINK-6188 Some setParallelism() methods can&rsquo;t cope with default parallelism &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.2.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.2.1&lt;/ver [...]
-Release Notes - Flink - Version 1.2.1 Sub-task [FLINK-5546] - java.io.tmpdir setted as project build directory in surefire plugin [FLINK-5640] - configure the explicit Unit Test file suffix [FLINK-5723] - Use &quot;Used&quot; instead of &quot;Initial&quot; to make taskmanager tag more readable [FLINK-5825] - In yarn mode, a small pic can not be loaded Bug [FLINK-4813] - Having flink-test-utils as a dependency outside Flink fails the build [FLINK-4848] - keystoreFilePath should be checked [...]
+Release Notes - Flink - Version 1.2.1 Sub-task [FLINK-5546] - java.io.tmpdir setted as project build directory in surefire plugin [FLINK-5640] - configure the explicit Unit Test file suffix [FLINK-5723] - Use &quot;Used&quot; instead of &quot;Initial&quot; to make taskmanager tag more readable [FLINK-5825] - In yarn mode, a small pic can not be loaded Bug [FLINK-4813] - Having flink-test-utils as a dependency outside Flink fails the build [FLINK-4848] - keystoreFilePath should be checked [...]
 Apache Flink is very well suited to power streaming analytics applications because it provides support for event-time semantics, stateful exactly-once processing, and achieves high throughput and low latency at the same time. Due to these features, Flink is able to compute exact and deterministic results from high-volume input streams in near real-time while providing exactly-once semantics in case of failures.
 Flink&rsquo;s core API for stream processing, the DataStream API, is very expressive and provides primitives for many common operations. Among other features, it offers highly customizable windowing logic, different state primitives with varying performance characteristics, hooks to register and react on timers, and tooling for efficient asynchronous requests to external systems. On the other hand, many stream analytics applications follow similar patterns and do not require the level of [...]
 Why is SQL on Streams a Big Deal? # SQL is the most widely used language for data analytics for many good reasons:
@@ -4415,7 +4430,7 @@ What will Change When Switching to Dynamic Tables? # In version 1.2, all streami
 The answer to all these questions is simple. The current processing model is a subset of the dynamic table model. Using the terminology we introduced in this post, the current model converts a stream into a dynamic table in append mode, i.e., an infinitely growing table. Since all operators only accept insert changes and produce insert changes on their result table (i.e., emit new rows), all supported queries result in dynamic append tables, which are converted back into DataStreams usin [...]
 Conclusion and Outlook # Flink&rsquo;s relational APIs are great to implement stream analytics applications in no time and used in several production settings. In this blog post we discussed the future of the Table API and SQL. This effort will make Flink and stream processing accessible to more people. Moreover, the unified semantics for querying historic and real-time data as well as the concept of querying and maintaining dynamic tables will enable and significantly ease the implement [...]
 In recent months, many members of the Flink community have been discussing and contributing to the relational APIs. We made great progress so far. While most work has focused on processing streams in append mode, the next steps on the agenda are to work on dynamic tables to support queries that update their results. If you are excited about the idea of processing streams with SQL and would like to contribute to this effort, please give feedback, join the discussions on the mailing list,  [...]
-`}),e.add({id:225,href:"/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/",title:"From Streams to Tables and Back Again: An Update on Flink's Table & SQL API",section:"Flink Blog",content:`Stream processing can deliver a lot of value. Many organizations have recognized the benefit of managing large volumes of data in real-time, reacting quickly to trends, and providing customers with live services at scale. Streaming applications with well-defined busin [...]
+`}),e.add({id:226,href:"/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/",title:"From Streams to Tables and Back Again: An Update on Flink's Table & SQL API",section:"Flink Blog",content:`Stream processing can deliver a lot of value. Many organizations have recognized the benefit of managing large volumes of data in real-time, reacting quickly to trends, and providing customers with live services at scale. Streaming applications with well-defined busin [...]
 Flink&rsquo;s DataStream abstraction is a powerful API which lets you flexibly define both basic and complex streaming pipelines. Additionally, it offers low-level operations such as Async IO and ProcessFunctions. However, many users do not need such a deep level of flexibility. They need an API which quickly solves 80% of their use cases where simple tasks can be defined using little code.
 To deliver the power of stream processing to a broader set of users, the Apache Flink community is developing APIs that provide simpler abstractions and more concise syntax so that users can focus on their business logic instead of advanced streaming concepts. Along with other APIs (such as CEP for complex event processing on streams), Flink offers a relational API that aims to unify stream and batch processing: the Table &amp; SQL API, often referred to as the Table API.
 Recently, contributors working for companies such as Alibaba, Huawei, data Artisans, and more decided to further develop the Table API. Over the past year, the Table API has been rewritten entirely. Since Flink 1.1, its core has been based on Apache Calcite, which parses SQL and optimizes all relational queries. Today, the Table API can address a wide range of use cases in both batch and stream environments with unified semantics.
@@ -4443,10 +4458,10 @@ Using the previously-mentioned customer table, let’s assume we want to produce
 class PropertiesExtractor extends TableFunction[Row] { def eval(prefs: String): Unit = { // split string into (key, value) pairs val pairs = prefs .split(&#34;,&#34;) .map { kv =&gt; val split = kv.split(&#34;=&#34;) (split(0), split(1)) } val color = pairs.find(\\_.\\_1 == &#34;color&#34;).map(\\_.\\_2) val size = pairs.find(\\_.\\_1 == &#34;size&#34;).map(\\_.\\_2) // emit a row if color and size are specified (color, size) match { case (Some(c), Some(s)) =&gt; collect(Row.of(c, s)) ca [...]
 Contributions like support of Apache Hive UDFs, external catalogs, more TableSources, additional windows, and more operators will make the Table API an even more useful tool. Particularly, the upcoming introduction of Dynamic Tables, which is worth a blog post of its own, shows that even in 2017, new relational APIs open the door to a number of possibilities.
 Try it out, or even better, join the design discussions on the mailing lists and JIRA and start contributing!
-`}),e.add({id:226,href:"/2017/03/23/apache-flink-1.1.5-released/",title:"Apache Flink 1.1.5 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.1 series.
+`}),e.add({id:227,href:"/2017/03/23/apache-flink-1.1.5-released/",title:"Apache Flink 1.1.5 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.1 series.
 This release includes critical fixes for HA recovery robustness, fault tolerance guarantees of the Flink Kafka Connector, as well as classloading issues with the Kryo serializer. We highly recommend all users to upgrade to Flink 1.1.5.
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
-Release Notes - Flink - Version 1.1.5 # Bug # [FLINK-5701] - FlinkKafkaProducer should check asyncException on checkpoints [FLINK-6006] - Kafka Consumer can lose state if queried partition list is incomplete on restore [FLINK-5940] - ZooKeeperCompletedCheckpointStore cannot handle broken state handles [FLINK-5942] - Harden ZooKeeperStateHandleStore to deal with corrupted data [FLINK-6025] - User code ClassLoader not used when KryoSerializer fallbacks to serialization for copying [FLINK-5 [...]
+Release Notes - Flink - Version 1.1.5 # Bug # [FLINK-5701] - FlinkKafkaProducer should check asyncException on checkpoints [FLINK-6006] - Kafka Consumer can lose state if queried partition list is incomplete on restore [FLINK-5940] - ZooKeeperCompletedCheckpointStore cannot handle broken state handles [FLINK-5942] - Harden ZooKeeperStateHandleStore to deal with corrupted data [FLINK-6025] - User code ClassLoader not used when KryoSerializer fallbacks to serialization for copying [FLINK-5 [...]
 This is the third major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, gladly encouraged!
 You can find the binaries on the updated Downloads page. Some highlights of the release are listed below.
@@ -4479,11 +4494,11 @@ Miscellaneous improvements # Metrics in Flink web interface: A metrics system wa
 Kafka 0.10 support: Flink 1.2 now provides a connector for Apache Kafka 0.10.0.x, including support for consuming and producing messages with a timestamp using Flink’s internal event time (Kafka Connector Documentation)
 Evictor Semantics: Flink 1.2 ships with more expressive evictor semantics that allow the programmer to evict elements form a window both before and after the application of the window function, and to remove elements arbitrarily (Evictor Semantics Documentation)
 List of Contributors # According to git shortlog, the following 122 people contributed to the 1.2.0 release. Thank you to all contributors!
-Abhishek R. Singh Ahmad Ragab Aleksandr Chermenin Alexander Pivovarov Alexander Shoshin Alexey Diomin Aljoscha Krettek Andrey Melentyev Anton Mushin Bob Thorman Boris Osipov Bram Vogelaar Bruno Aranda David Anderson Dominik Evgeny_Kincharov Fabian Hueske Fokko Driesprong Gabor Gevay George Gordon Tai Greg Hogan Gyula Fora Haohui Mai Holger Frydrych HungUnicorn Ismaël Mejía Ivan Mushketyk Jakub Havlik Jark Wu Jendrik Poloczek Jincheng Sun Josh Joshi Keiji Yoshida Kirill Morozov Kurt Young [...]
+Abhishek R. Singh Ahmad Ragab Aleksandr Chermenin Alexander Pivovarov Alexander Shoshin Alexey Diomin Aljoscha Krettek Andrey Melentyev Anton Mushin Bob Thorman Boris Osipov Bram Vogelaar Bruno Aranda David Anderson Dominik Evgeny_Kincharov Fabian Hueske Fokko Driesprong Gabor Gevay George Gordon Tai Greg Hogan Gyula Fora Haohui Mai Holger Frydrych HungUnicorn Ismaël Mejía Ivan Mushketyk Jakub Havlik Jark Wu Jendrik Poloczek Jincheng Sun Josh Joshi Keiji Yoshida Kirill Morozov Kurt Young [...]
 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.
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
 Note for RocksDB Backend Users # We updated Flink&rsquo;s RocksDB dependency version from 4.5.1 to 4.11.2. Between these versions some of RocksDB&rsquo;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:
-RocksDBStateBackend backend = new RocksDBStateBackend(&#34;...&#34;); // Use the new default options. Otherwise, the default for RocksDB 4.5.1 // \`PredefinedOptions.DEFAULT_ROCKS_4_5_1\` will be used. backend.setPredefinedOptions(PredefinedOptions.DEFAULT); Release Notes - Flink - Version 1.1.4 # Sub-task # [FLINK-4510] - Always create CheckpointCoordinator [FLINK-4984] - Add Cancellation Barriers to BarrierTracker and BarrierBuffer [FLINK-4985] - Report Declined/Canceled Checkpoints to [...]
+RocksDBStateBackend backend = new RocksDBStateBackend(&#34;...&#34;); // Use the new default options. Otherwise, the default for RocksDB 4.5.1 // \`PredefinedOptions.DEFAULT_ROCKS_4_5_1\` will be used. backend.setPredefinedOptions(PredefinedOptions.DEFAULT); Release Notes - Flink - Version 1.1.4 # Sub-task # [FLINK-4510] - Always create CheckpointCoordinator [FLINK-4984] - Add Cancellation Barriers to BarrierTracker and BarrierBuffer [FLINK-4985] - Report Declined/Canceled Checkpoints to [...]
 In this post, we’ll look back on the project’s progress over the course of 2016, and we’ll also preview what 2017 has in store.
 {%toc%}
 Community Growth # Github # First, here&rsquo;s a summary of community statistics from GitHub. At the time of writing:
@@ -4513,19 +4528,19 @@ Table API window aggregations, as described in FLIP-11, to support group-window
 Side inputs, as described in this design document, to enable the joining of a main, high-throughput stream with one more more inputs with static or slowly-changing data.
 If you&rsquo;re interested in getting involved with Flink, we encourage you to take a look at the FLIPs and to join the discussion via the Flink mailing lists.
 Lastly, we&rsquo;d like to extend a sincere thank you to all of the Flink community for making 2016 a great year!
-`}),e.add({id:230,href:"/2016/10/12/apache-flink-1.1.3-released/",title:"Apache Flink 1.1.3 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.1. series.
+`}),e.add({id:231,href:"/2016/10/12/apache-flink-1.1.3-released/",title:"Apache Flink 1.1.3 Released",section:"Flink Blog",content:`The Apache Flink community released the next bugfix version of the Apache Flink 1.1. series.
 We recommend all users to upgrade to Flink 1.1.3.
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
 Note for RocksDB Backend Users # It is highly recommended to use the &ldquo;fully async&rdquo; mode for the RocksDB state backend. The &ldquo;fully async&rdquo; mode will most likely allow you to easily upgrade to Flink 1.2 (via savepoints) when it is released. The &ldquo;semi async&rdquo; mode will no longer be supported by Flink 1.2.
-RocksDBStateBackend backend = new RocksDBStateBackend(&#34;...&#34;); backend.enableFullyAsyncSnapshots(); Release Notes - Flink - Version 1.1.3 # Bug [FLINK-2662] - CompilerException: &quot;Bug: Plan generation for Unions picked a ship strategy between binary plan operators.&quot; [FLINK-4311] - TableInputFormat fails when reused on next split [FLINK-4329] - Fix Streaming File Source Timestamps/Watermarks Handling [FLINK-4485] - Finished jobs in yarn session fill /tmp filesystem [FLINK- [...]
+RocksDBStateBackend backend = new RocksDBStateBackend(&#34;...&#34;); backend.enableFullyAsyncSnapshots(); Release Notes - Flink - Version 1.1.3 # Bug [FLINK-2662] - CompilerException: &quot;Bug: Plan generation for Unions picked a ship strategy between binary plan operators.&quot; [FLINK-4311] - TableInputFormat fails when reused on next split [FLINK-4329] - Fix Streaming File Source Timestamps/Watermarks Handling [FLINK-4485] - Finished jobs in yarn session fill /tmp filesystem [FLINK- [...]
 We recommend all users to upgrade to Flink 1.1.2.
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
-Release Notes - Flink - Version 1.1.2 [FLINK-4236] - Flink Dashboard stops showing list of uploaded jars if main method cannot be looked up [FLINK-4309] - Potential null pointer dereference in DelegatingConfiguration#keySet() [FLINK-4334] - Shaded Hadoop1 jar not fully excluded in Quickstart [FLINK-4341] - Kinesis connector does not emit maximum watermark properly [FLINK-4402] - Wrong metrics parameter names in documentation [FLINK-4409] - class conflict between jsr305-1.3.9.jar and flin [...]
+Release Notes - Flink - Version 1.1.2 [FLINK-4236] - Flink Dashboard stops showing list of uploaded jars if main method cannot be looked up [FLINK-4309] - Potential null pointer dereference in DelegatingConfiguration#keySet() [FLINK-4334] - Shaded Hadoop1 jar not fully excluded in Quickstart [FLINK-4341] - Kinesis connector does not emit maximum watermark properly [FLINK-4402] - Wrong metrics parameter names in documentation [FLINK-4409] - class conflict between jsr305-1.3.9.jar and flin [...]
 Ted Dunning has been announced as a keynote speaker at the event. Ted is the VP of Incubator at Apache Software Foundation, the Chief Application Architect at MapR Technologies, and a mentor on many recent projects. He'll present "How Can We Take Flink Forward?" on the second day of the conference.
 Following Ted's keynote there will be a panel discussion on "Large Scale Streaming in Production". As stream processing systems become more mainstream, companies are looking to empower their users to take advantage of this technology. We welcome leading stream processing experts Xiaowei Jiang (Alibaba), Monal Daxini (Netflix), Maxim Fateev (Uber), and Ted Dunning (MapR Technologies) on stage to talk about the challenges they have faced and the solutions they have discovered while impleme [...]
 The welcome keynote on Monday, September 12, will be presented by data Artisans' co-founders Kostas Tzoumas and Stephan Ewen. They will talk about "The maturing data streaming ecosystem and Apache Flink’s accelerated growth". In this talk, Kostas and Stephan discuss several large-scale stream processing use cases that the data Artisans team has seen over the past year.
 And one more recent addition to the program: Maxim Fateev of Uber will present "Beyond the Watermark: On-Demand Backfilling in Flink". Flink’s time-progress model is built around a single watermark, which is incompatible with Uber’s business need for generating aggregates retroactively. Maxim's talk covers Uber's solution for on-demand backfilling.
-We hope to see many community members at Flink Forward 2016. Registration is available online: flink-forward.org/registration `}),e.add({id:233,href:"/2016/08/04/announcing-apache-flink-1.1.0/",title:"Announcing Apache Flink 1.1.0",section:"Flink Blog",content:`Important: The Maven artifacts published with version 1.1.0 on Maven central have a Hadoop dependency issue. It is highly recommended to use 1.1.1 or 1.1.1-hadoop1 as the Flink version. The Apache Flink community is pleased to ann [...]
+We hope to see many community members at Flink Forward 2016. Registration is available online: flink-forward.org/registration `}),e.add({id:234,href:"/2016/08/04/announcing-apache-flink-1.1.0/",title:"Announcing Apache Flink 1.1.0",section:"Flink Blog",content:`Important: The Maven artifacts published with version 1.1.0 on Maven central have a Hadoop dependency issue. It is highly recommended to use 1.1.1 or 1.1.1-hadoop1 as the Flink version. The Apache Flink community is pleased to ann [...]
 This release is the first major release in the 1.X.X series of releases, which maintains API compatibility with 1.0.0. This means that your applications written against stable APIs of Flink 1.0.0 will compile and run with Flink 1.1.0. 95 contributors provided bug fixes, improvements, and new features such that in total more than 450 JIRA issues could be resolved. See the complete changelog for more details.
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, very welcome!
 Some highlights of the release are listed in the following sections.
@@ -4553,11 +4568,11 @@ Metrics # Flink’s new metrics system allows you to easily gather and expose me
 Counter counter = getRuntimeContext() .getMetricGroup() .counter(&#34;my-counter&#34;); All registered metrics will be exposed via reporters. Out of the box, Flinks comes with support for JMX, Ganglia, Graphite, and statsD. In addition to your custom metrics, Flink exposes many internal metrics like checkpoint sizes and JVM stats.
 Check out the Metrics documentation for more details.
 List of Contributors # The following 95 people contributed to this release:
-Abdullah Ozturk Ajay Bhat Alexey Savartsov Aljoscha Krettek Andrea Sella Andrew Palumbo Chenguang He Chiwan Park David Moravek Dominik Bruhn Dyana Rose Fabian Hueske Flavio Pompermaier Gabor Gevay Gabor Horvath Geoffrey Mon Gordon Tai Greg Hogan Gyula Fora Henry Saputra Ignacio N. Lucero Ascencio Igor Berman Ismaël Mejía Ivan Mushketyk Jark Wu Jiri Simsa Jonas Traub Josh Joshi Joshua Herman Ken Krugler Konstantin Knauf Lasse Dalegaard Li Fanxi MaBiao Mao Wei Mark Reddy Martin Junghanns M [...]
+Abdullah Ozturk Ajay Bhat Alexey Savartsov Aljoscha Krettek Andrea Sella Andrew Palumbo Chenguang He Chiwan Park David Moravek Dominik Bruhn Dyana Rose Fabian Hueske Flavio Pompermaier Gabor Gevay Gabor Horvath Geoffrey Mon Gordon Tai Greg Hogan Gyula Fora Henry Saputra Ignacio N. Lucero Ascencio Igor Berman Ismaël Mejía Ivan Mushketyk Jark Wu Jiri Simsa Jonas Traub Josh Joshi Joshua Herman Ken Krugler Konstantin Knauf Lasse Dalegaard Li Fanxi MaBiao Mao Wei Mark Reddy Martin Junghanns M [...]
 The Maven artifacts published on Maven central for 1.1.0 had a Hadoop dependency issue: No Hadoop 1 specific version (with version 1.1.0-hadoop1) was deployed and 1.1.0 artifacts have a dependency on Hadoop 1 instead of Hadoop 2.
 This was fixed with this release and we highly recommend all users to use this version of Flink by bumping your Flink dependencies to version 1.1.1:
 &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
-`}),e.add({id:235,href:"/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/",title:"Stream Processing for Everyone with SQL and Apache Flink",section:"Flink Blog",content:`The capabilities of open source systems for distributed stream processing have evolved significantly over the last years. Initially, the first systems in the field (notably Apache Storm) provided low latency processing, but were limited to at-least-once guarantees, processing-time semantics, and rathe [...]
+`}),e.add({id:236,href:"/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/",title:"Stream Processing for Everyone with SQL and Apache Flink",section:"Flink Blog",content:`The capabilities of open source systems for distributed stream processing have evolved significantly over the last years. Initially, the first systems in the field (notably Apache Storm) provided low latency processing, but were limited to at-least-once guarantees, processing-time semantics, and rathe [...]
 In the meantime, stream processing has taken off in the industry. We are witnessing a rapidly growing interest in stream processing which is reflected by prevalent deployments of streaming processing infrastructure such as Apache Kafka and Apache Flink. The increasing number of available data streams results in a demand for people that can analyze streaming data and turn it into real-time insights. However, stream data analysis requires a special skill set including knowledge of streamin [...]
 About six months ago, the Apache Flink community started an effort to add a SQL interface for stream data analysis. SQL is the standard language to access and process data. Everybody who occasionally analyzes data is familiar with SQL. Consequently, a SQL interface for stream data processing will make this technology accessible to a much wider audience. Moreover, SQL support for streaming data will also enable new use cases such as interactive and ad-hoc stream analysis and significantly [...]
 Where did we come from? # With the 0.9.0-milestone1 release, Apache Flink added an API to process relational data with SQL-like expressions called the Table API. The central concept of this API is a Table, a structured data set or stream on which relational operations can be applied. The Table API is tightly integrated with the DataSet and DataStream API. A Table can be easily created from a DataSet or DataStream and can also be converted back into a DataSet or DataStream as the followin [...]
@@ -4576,14 +4591,14 @@ Although we haven’t completely fleshed out the details of how windows will be
 SQL (following the syntax proposal of Calcite’s streaming SQL document) # SELECT STREAM TUMBLE_END(time, INTERVAL &#39;1&#39; DAY) AS day, location AS room, AVG((tempF - 32) * 0.556) AS avgTempC FROM sensorData WHERE location LIKE &#39;room%&#39; GROUP BY TUMBLE(time, INTERVAL &#39;1&#39; DAY), location Table API # val avgRoomTemp: Table = tableEnv.ingest(&#34;sensorData&#34;) .where(&#39;location.like(&#34;room%&#34;)) .partitionBy(&#39;location) .window(Tumbling every Days(1) on &#39;t [...]
 In Flink 1.2.0, the feature set of SQL on streams will be significantly extended. Among other things, we plan to support different types of window aggregates and maybe also streaming joins. For this effort, we want to closely collaborate with the Apache Calcite community and help extending Calcite&rsquo;s support for relational operations on streaming data when necessary.
 If this post made you curious and you want to try out Flink’s SQL interface and the new Table API, we encourage you to do so! Simply clone the SNAPSHOT master branch and check out the Table API documentation for the SNAPSHOT version. Please note that the branch is under heavy development, and hence some code examples in this blog post might not work. We are looking forward to your feedback and welcome contributions.
-`}),e.add({id:236,href:"/2016/05/11/flink-1.0.3-released/",title:"Flink 1.0.3 Released",section:"Flink Blog",content:`Today, the Flink community released Flink version 1.0.3, the third bugfix release of the 1.0 series.
+`}),e.add({id:237,href:"/2016/05/11/flink-1.0.3-released/",title:"Flink 1.0.3 Released",section:"Flink Blog",content:`Today, the Flink community released Flink version 1.0.3, the third bugfix release of the 1.0 series.
 We recommend all users updating to this release by bumping the version of your Flink dependencies to 1.0.3 and updating the binaries on the server. You can find the binaries on the updated Downloads page.
-Fixed Issues # Bug # [FLINK-3790] [streaming] Use proper hadoop config in rolling sink [FLINK-3840] Remove Testing Files in RocksDB Backend [FLINK-3835] [optimizer] Add input id to JSON plan to resolve ambiguous input names [hotfix] OptionSerializer.duplicate to respect stateful element serializer [FLINK-3803] [runtime] Pass CheckpointStatsTracker to ExecutionGraph [hotfix] [cep] Make cep window border treatment consistent Improvement # [FLINK-3678] [dist, docs] Make Flink logs directory [...]
+Fixed Issues # Bug # [FLINK-3790] [streaming] Use proper hadoop config in rolling sink [FLINK-3840] Remove Testing Files in RocksDB Backend [FLINK-3835] [optimizer] Add input id to JSON plan to resolve ambiguous input names [hotfix] OptionSerializer.duplicate to respect stateful element serializer [FLINK-3803] [runtime] Pass CheckpointStatsTracker to ExecutionGraph [hotfix] [cep] Make cep window border treatment consistent Improvement # [FLINK-3678] [dist, docs] Make Flink logs directory [...]
 We recommend all users updating to this release by bumping the version of your Flink dependencies to 1.0.2 and updating the binaries on the server. You can find the binaries on the updated Downloads page.
-Fixed Issues # Bug # [FLINK-3657] [dataSet] Change access of DataSetUtils.countElements() to &lsquo;public&rsquo; [FLINK-3762] [core] Enable Kryo reference tracking [FLINK-3732] [core] Fix potential null deference in ExecutionConfig#equals() [FLINK-3760] Fix StateDescriptor.readObject [FLINK-3730] Fix RocksDB Local Directory Initialization [FLINK-3712] Make all dynamic properties available to the CLI frontend [FLINK-3688] WindowOperator.trigger() does not emit Watermark anymore [FLINK-36 [...]
+Fixed Issues # Bug # [FLINK-3657] [dataSet] Change access of DataSetUtils.countElements() to &lsquo;public&rsquo; [FLINK-3762] [core] Enable Kryo reference tracking [FLINK-3732] [core] Fix potential null deference in ExecutionConfig#equals() [FLINK-3760] Fix StateDescriptor.readObject [FLINK-3730] Fix RocksDB Local Directory Initialization [FLINK-3712] Make all dynamic properties available to the CLI frontend [FLINK-3688] WindowOperator.trigger() does not emit Watermark anymore [FLINK-36 [...]
 The conference welcomes submissions on everything Flink-related, including experiences with using Flink, products based on Flink, technical talks on extending Flink, as well as connecting Flink with other open source or proprietary software.
 Read more here.
-`}),e.add({id:239,href:"/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/",title:"Introducing Complex Event Processing (CEP) with Apache Flink",section:"Flink Blog",content:`With the ubiquity of sensor networks and smart devices continuously collecting more and more data, we face the challenge to analyze an ever growing stream of data in near real-time. Being able to react quickly to changing trends or to deliver up to date business intelligence can be a decisive fa [...]
+`}),e.add({id:240,href:"/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/",title:"Introducing Complex Event Processing (CEP) with Apache Flink",section:"Flink Blog",content:`With the ubiquity of sensor networks and smart devices continuously collecting more and more data, we face the challenge to analyze an ever growing stream of data in near real-time. Being able to react quickly to changing trends or to deliver up to date business intelligence can be a decisive fa [...]
 Complex event processing (CEP) addresses exactly this problem of matching continuously incoming events against a pattern. The result of a matching are usually complex events which are derived from the input events. In contrast to traditional DBMSs where a query is executed on stored data, CEP executes data on a stored query. All data which is not relevant for the query can be immediately discarded. The advantages of this approach are obvious, given that CEP queries are applied on a poten [...]
 Consequently, CEP’s processing paradigm drew significant interest and found application in a wide variety of use cases. Most notably, CEP is used nowadays for financial applications such as stock market trend and credit card fraud detection. Moreover, it is used in RFID-based tracking and monitoring, for example, to detect thefts in a warehouse where items are not properly checked out. CEP can also be used to detect network intrusion by specifying patterns of suspicious user behaviour.
 Apache Flink with its true streaming nature and its capabilities for low latency as well as high throughput stream processing is a natural fit for CEP workloads. Consequently, the Flink community has introduced the first version of a new CEP library with Flink 1.0. In the remainder of this blog post, we introduce Flink’s CEP library and we illustrate its ease of use through the example of monitoring a data center.
@@ -4607,9 +4622,9 @@ The full source code for the presented example as well as an example data source
 Conclusion # In this blog post we have seen how easy it is to reason about event streams using Flink’s CEP library. Using the example of monitoring and alert generation for a data center, we have implemented a short program which notifies us when a rack is about to overheat and potentially to fail.
 In the future, the Flink community will further extend the CEP library’s functionality and expressiveness. Next on the road map is support for a regular expression-like pattern specification, including Kleene star, lower and upper bounds, and negation. Furthermore, it is planned to allow the where-clause to access fields of previously matched events. This feature will allow to prune unpromising event sequences early.
 Note: The example code requires Flink 1.0.1 or higher.
-`}),e.add({id:240,href:"/2016/04/06/flink-1.0.1-released/",title:"Flink 1.0.1 Released",section:"Flink Blog",content:`Today, the Flink community released Flink version 1.0.1, the first bugfix release of the 1.0 series.
+`}),e.add({id:241,href:"/2016/04/06/flink-1.0.1-released/",title:"Flink 1.0.1 Released",section:"Flink Blog",content:`Today, the Flink community released Flink version 1.0.1, the first bugfix release of the 1.0 series.
 We recommend all users updating to this release by bumping the version of your Flink dependencies to 1.0.1 and updating the binaries on the server. You can find the binaries on the updated Downloads page.
-Fixed Issues # Bug [FLINK-3179] - Combiner is not injected if Reduce or GroupReduce input is explicitly partitioned [FLINK-3472] - JDBCInputFormat.nextRecord(..) has misleading message on NPE [FLINK-3491] - HDFSCopyUtilitiesTest fails on Windows [FLINK-3495] - RocksDB Tests can&#39;t run on Windows [FLINK-3533] - Update the Gelly docs wrt examples and cluster execution [FLINK-3563] - .returns() doesn&#39;t compile when using .map() with a custom MapFunction [FLINK-3566] - Input type vali [...]
+Fixed Issues # Bug [FLINK-3179] - Combiner is not injected if Reduce or GroupReduce input is explicitly partitioned [FLINK-3472] - JDBCInputFormat.nextRecord(..) has misleading message on NPE [FLINK-3491] - HDFSCopyUtilitiesTest fails on Windows [FLINK-3495] - RocksDB Tests can&#39;t run on Windows [FLINK-3533] - Update the Gelly docs wrt examples and cluster execution [FLINK-3563] - .returns() doesn&#39;t compile when using .map() with a custom MapFunction [FLINK-3566] - Input type vali [...]
 Flink version 1.0.0 marks the beginning of the 1.X.X series of releases, which will maintain backwards compatibility with 1.0.0. This means that applications written against stable APIs of Flink 1.0.0 will compile and run with all Flink versions in the 1. series. This is the first time we are formally guaranteeing compatibility in Flink&rsquo;s history, and we therefore see this release as a major milestone of the project, perhaps the most important since graduation as a top-level project.
 Apart from backwards compatibility, Flink 1.0.0 brings a variety of new user-facing features, as well as tons of bug fixes. About 64 contributors provided bug fixes, improvements, and new features such that in total more than 450 JIRA issues could be resolved.
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, very welcome!
@@ -4624,9 +4639,9 @@ Improved checkpointing control and monitoring # The checkpointing has been exten
 The checkpoint coordinator now exposes statistics through our REST monitoring API and the web interface. Users can review the checkpoint size and duration on a per-operator basis and see the last completed checkpoints. This is helpful for identifying performance issues, such as processing slowdown by the checkpoints.
 Improved Kafka connector and support for Kafka 0.9 # Flink 1.0 supports both Kafka 0.8 and 0.9. With the new release, Flink exposes Kafka metrics for the producers and the 0.9 consumer through Flink’s accumulator system. We also enhanced the existing connector for Kafka 0.8, allowing users to subscribe to multiple topics in one source.
 Changelog and known issues # This release resolves more than 450 issues, including bug fixes, improvements, and new features. See the complete changelog and known issues.
-List of contributors # Abhishek Agarwal Ajay Bhat Aljoscha Krettek Andra Lungu Andrea Sella Chesnay Schepler Chiwan Park Daniel Pape Fabian Hueske Filipe Correia Frederick F. Kautz IV Gabor Gevay Gabor Horvath Georgios Andrianakis Greg Hogan Gyula Fora Henry Saputra Hilmi Yildirim Hubert Czerpak Jark Wu Johannes Jun Aoki Jun Aoki Kostas Kloudas Li Chengxiang Lun Gao Martin Junghanns Martin Liesenberg Matthias J. Sax Maximilian Michels Márton Balassi Nick Dimiduk Niels Basjes Omer Katz Pa [...]
+List of contributors # Abhishek Agarwal Ajay Bhat Aljoscha Krettek Andra Lungu Andrea Sella Chesnay Schepler Chiwan Park Daniel Pape Fabian Hueske Filipe Correia Frederick F. Kautz IV Gabor Gevay Gabor Horvath Georgios Andrianakis Greg Hogan Gyula Fora Henry Saputra Hilmi Yildirim Hubert Czerpak Jark Wu Johannes Jun Aoki Jun Aoki Kostas Kloudas Li Chengxiang Lun Gao Martin Junghanns Martin Liesenberg Matthias J. Sax Maximilian Michels Márton Balassi Nick Dimiduk Niels Basjes Omer Katz Pa [...]
 We recommend all users updating to this release by bumping the version of your Flink dependencies to 0.10.2 and updating the binaries on the server.
-Issues fixed # FLINK-3242: Adjust StateBackendITCase for 0.10 signatures of state backends FLINK-3236: Flink user code classloader as parent classloader from Flink core classes FLINK-2962: Cluster startup script refers to unused variable FLINK-3151: Downgrade to Netty version 4.0.27.Final FLINK-3224: Call setInputType() on output formats that implement InputTypeConfigurable FLINK-3218: Fix overriding of user parameters when merging Hadoop configurations FLINK-3189: Fix argument parsing o [...]
+Issues fixed # FLINK-3242: Adjust StateBackendITCase for 0.10 signatures of state backends FLINK-3236: Flink user code classloader as parent classloader from Flink core classes FLINK-2962: Cluster startup script refers to unused variable FLINK-3151: Downgrade to Netty version 4.0.27.Final FLINK-3224: Call setInputType() on output formats that implement InputTypeConfigurable FLINK-3218: Fix overriding of user parameters when merging Hadoop configurations FLINK-3189: Fix argument parsing o [...]
 Overall, we have seen Flink grow in terms of functionality from an engine to one of the most complete open-source stream processing frameworks available. The community grew from a relatively small and geographically focused team, to a truly global, and one of the largest big data communities in the the Apache Software Foundation.
 We will also look at some interesting stats, including that the busiest days for Flink are Mondays (who would have thought :-).
 Community growth # Let us start with some simple statistics from Flink&rsquo;s github repository. During 2015, the Flink community doubled in size, from about 75 contributors to over 150. Forks of the repository more than tripled from 160 in February 2015 to 544 in December 2015, and the number of stars of the repository almost tripled from 289 to 813.
@@ -4649,7 +4664,7 @@ Support for Apache Mesos, and resource-dynamic YARN support: support for both Me
 Security: encrypt both the messages exchanged between TaskManagers and JobManager, as well as the connections for data exchange between workers.
 More streaming connectors, more runtime metrics, and continuous DataStream API enhancements: add support for more sources and sinks (e.g., Amazon Kinesis, Cassandra, Flume, etc), expose more metrics to the user, and provide continuous improvements to the DataStream API.
 If you are interested in these features, we highly encourage you to take a look at the current draft, and join the discussion on the Flink mailing lists.
-`}),e.add({id:244,href:"/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/",title:"Storm Compatibility in Apache Flink: How to run existing Storm topologies on Flink",section:"Flink Blog",content:`Apache Storm was one of the first distributed and scalable stream processing systems available in the open source space offering (near) real-time tuple-by-tuple processing semantics. Initially released by the developers at Backtype in 2011 under the E [...]
+`}),e.add({id:245,href:"/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/",title:"Storm Compatibility in Apache Flink: How to run existing Storm topologies on Flink",section:"Flink Blog",content:`Apache Storm was one of the first distributed and scalable stream processing systems available in the open source space offering (near) real-time tuple-by-tuple processing semantics. Initially released by the developers at Backtype in 2011 under the E [...]
 Apache Flink is a stream processing engine that improves upon older technologies like Storm in several dimensions, including strong consistency guarantees (&ldquo;exactly once&rdquo;), a higher level DataStream API, support for event time and a rich windowing system, as well as superior throughput with competitive low latency.
 While Flink offers several technical benefits over Storm, an existing investment on a codebase of applications developed for Storm often makes it difficult to switch engines. For these reasons, as part of the Flink 0.10 release, Flink ships with a Storm compatibility package that allows users to:
 Run unmodified Storm topologies using Apache Flink benefiting from superior performance. Embed Storm code (spouts and bolts) as operators inside Flink DataStream programs. Only minor code changes are required in order to submit the program to Flink instead of Storm. This minimizes the work for developers to run existing Storm topologies while leveraging Apache Flink’s fast and robust execution engine.
@@ -4666,7 +4681,7 @@ Outlook # The Storm compatibility package is currently in beta and undergoes con
 Summary # Flink&rsquo;s compatibility package for Storm allows using unmodified Spouts and Bolts within Flink. This enables you to even embed third-party Spouts and Bolts where the source code is not available. While you can embed Spouts/Bolts in a Flink program and mix-and-match them with Flink operators, running whole topologies is the easiest way to get started and can be achieved with almost no code changes.
 If you want to try out Flink&rsquo;s Storm compatibility package checkout our Documentation.
 1. We confess, there are three lines changed compared to a Storm project &mdash;because the example covers local and remote execution. ↩
-`}),e.add({id:245,href:"/2015/12/04/introducing-stream-windows-in-apache-flink/",title:"Introducing Stream Windows in Apache Flink",section:"Flink Blog",content:`The data analysis space is witnessing an evolution from batch to stream processing for many use cases. Although batch can be handled as a special case of stream processing, analyzing never-ending streaming data often requires a shift in the mindset and comes with its own terminology (for example, “windowing” and “at-least-once”/ [...]
+`}),e.add({id:246,href:"/2015/12/04/introducing-stream-windows-in-apache-flink/",title:"Introducing Stream Windows in Apache Flink",section:"Flink Blog",content:`The data analysis space is witnessing an evolution from batch to stream processing for many use cases. Although batch can be handled as a special case of stream processing, analyzing never-ending streaming data often requires a shift in the mindset and comes with its own terminology (for example, “windowing” and “at-least-once”/ [...]
 In this blog post, we discuss the concept of windows for stream processing, present Flink&rsquo;s built-in windows, and explain its support for custom windowing semantics.
 What are windows and what are they good for? # Consider the example of a traffic sensor that counts every 15 seconds the number of vehicles passing a certain location. The resulting stream could look like:
 If you would like to know, how many vehicles passed that location, you would simply sum the individual counts. However, the nature of a sensor stream is that it continuously produces data. Such a stream never ends and it is not possible to compute a final sum that can be returned. Instead, it is possible to compute rolling sums, i.e., return for each input event an updated sum record. This would yield a new stream of partial sums.
@@ -4693,9 +4708,9 @@ val input: DataStream[IN] = ... // created a keyed stream using a key selector f
 // specify an optional evictor windowed = windowed .evictor(myEvictor: Evictor[IN, WINDOW]) Finally, we apply a WindowFunction that returns elements of type OUT to obtain a DataStream[OUT].
 // apply window function to windowed stream val output: DataStream[OUT] = windowed .apply(myWinFunc: WindowFunction[IN, OUT, KEY, WINDOW]) With Flink&rsquo;s internal windowing mechanics and its exposure through the DataStream API it is possible to implement very custom windowing logic such as session windows or windows that emit early results if the values exceed a certain threshold.
 Conclusion # Support for various types of windows over continuous data streams is a must-have for modern stream processors. Apache Flink is a stream processor with a very strong feature set, including a very flexible mechanism to build and evaluate windows over continuous data streams. Flink provides pre-defined window operators for common uses cases as well as a toolbox that allows to define very custom windowing logic. The Flink community will add more pre-defined window operators as w [...]
-`}),e.add({id:246,href:"/2015/11/27/flink-0.10.1-released/",title:"Flink 0.10.1 released",section:"Flink Blog",content:`Today, the Flink community released the first bugfix release of the 0.10 series of Flink.
+`}),e.add({id:247,href:"/2015/11/27/flink-0.10.1-released/",title:"Flink 0.10.1 released",section:"Flink Blog",content:`Today, the Flink community released the first bugfix release of the 0.10 series of Flink.
 We recommend all users updating to this release, by bumping the version of your Flink dependencies and updating the binaries on the server.
-Issues fixed # [FLINK-2879] - Links in documentation are broken [FLINK-2938] - Streaming docs not in sync with latest state changes [FLINK-2942] - Dangling operators in web UI&#39;s program visualization (non-deterministic) [FLINK-2967] - TM address detection might not always detect the right interface on slow networks / overloaded JMs [FLINK-2977] - Cannot access HBase in a Kerberos secured Yarn cluster [FLINK-2987] - Flink 0.10 fails to start on YARN 2.6.0 [FLINK-2989] - Job Cancel but [...]
+Issues fixed # [FLINK-2879] - Links in documentation are broken [FLINK-2938] - Streaming docs not in sync with latest state changes [FLINK-2942] - Dangling operators in web UI&#39;s program visualization (non-deterministic) [FLINK-2967] - TM address detection might not always detect the right interface on slow networks / overloaded JMs [FLINK-2977] - Cannot access HBase in a Kerberos secured Yarn cluster [FLINK-2987] - Flink 0.10 fails to start on YARN 2.6.0 [FLINK-2989] - Job Cancel but [...]
 For Flink 0.10.0, the focus of the community was to graduate the DataStream API from beta and to evolve Apache Flink into a production-ready stream data processor with a competitive feature set. These efforts resulted in support for event-time and out-of-order streams, exactly-once guarantees in the case of failures, a very flexible windowing mechanism, sophisticated operator state management, and a highly-available cluster operation mode. Flink 0.10.0 also brings a new monitoring dashbo [...]
 We encourage everyone to download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, very welcome!
 New Features # Event-time Stream Processing # Many stream processing applications consume data from sources that produce events with associated timestamps such as sensor or user-interaction events. Very often, events have to be collected from several sources such that it is usually not guaranteed that events arrive in the exact order of their timestamps at the stream processor. Consequently, stream processors must take out-of-order elements into account in order to produce results which  [...]
@@ -4710,7 +4725,7 @@ Outer Joins # Outer joins have been one of the most frequently requested feature
 Gelly: Major Improvements and Scala API # Gelly is Flink’s API and library for processing and analyzing large-scale graphs. Gelly was introduced with release 0.9.0 and has been very well received by users and contributors. Based on user feedback, Gelly has been improved since then. In addition, Flink 0.10.0 introduces a Scala API for Gelly. See FLINK-2857 and FLINK-1962 for details.
 More Improvements and Fixes # The Flink community resolved more than 400 issues. The following list is a selection of new features and fixed bugs.
 FLINK-1851 Java Table API does not support Casting FLINK-2152 Provide zipWithIndex utility in flink-contrib FLINK-2158 NullPointerException in DateSerializer. FLINK-2240 Use BloomFilter to minimize probe side records which are spilled to disk in Hybrid-Hash-Join FLINK-2533 Gap based random sample optimization FLINK-2555 Hadoop Input/Output Formats are unable to access secured HDFS clusters FLINK-2565 Support primitive arrays as keys FLINK-2582 Document how to build Flink with other Scala [...]
-Contributors # Alexander Alexandrov Marton Balassi Enrique Bautista Faye Beligianni Bryan Bende Ajay Bhat Chris Brinkman Dmitry Buzdin Kun Cao Paris Carbone Ufuk Celebi Shivani Chandna Liang Chen Felix Cheung Hubert Czerpak Vimal Das Behrouz Derakhshan Suminda Dharmasena Stephan Ewen Fengbin Fang Gyula Fora Lun Gao Gabor Gevay Piotr Godek Sachin Goel Anton Haglund Gábor Hermann Greg Hogan Fabian Hueske Martin Junghanns Vasia Kalavri Ulf Karlsson Frederick F. Kautz Samia Khalid Johannes K [...]
+Contributors # Alexander Alexandrov Marton Balassi Enrique Bautista Faye Beligianni Bryan Bende Ajay Bhat Chris Brinkman Dmitry Buzdin Kun Cao Paris Carbone Ufuk Celebi Shivani Chandna Liang Chen Felix Cheung Hubert Czerpak Vimal Das Behrouz Derakhshan Suminda Dharmasena Stephan Ewen Fengbin Fang Gyula Fora Lun Gao Gabor Gevay Piotr Godek Sachin Goel Anton Haglund Gábor Hermann Greg Hogan Fabian Hueske Martin Junghanns Vasia Kalavri Ulf Karlsson Frederick F. Kautz Samia Khalid Johannes K [...]
 In this blog post, we will look at how Flink exploits off-heap memory. The feature is part of the upcoming release, but you can try it out with the latest nightly builds. We will also give a few interesting insights into the behavior for Java&rsquo;s JIT compiler for highly optimized methods and loops.
 Recap: Memory Management in Flink # To understand Flink’s approach to off-heap memory, we need to recap Flink’s approach to custom managed memory. We have written an earlier blog post about how Flink manages JVM memory itself
 As a summary, the core part is that Flink implements its algorithms not against Java objects, arrays, or lists, but actually against a data structure similar to java.nio.ByteBuffer. Flink uses its own specialized version, called MemorySegment on which algorithms put and get at specific positions ints, longs, byte arrays, etc, and compare and copy memory. The memory segments are held and distributed by a central component (called MemoryManager) from which algorithms request segments accor [...]
@@ -4771,7 +4786,7 @@ Writing 100000 x 8192 ints to 32768 bytes segment
 Segment Time HeapMemorySegment, mixed 578 msecs HybridMemorySegment, heap, mixed 580 msecs HybridMemorySegment, off-heap, mixed 576 msecs PureHeapSegment 624 msecs PureHybridSegment, heap 576 msecs PureHybridSegment, off-heap 578 msecs Reading 100000 x 8192 ints from 32768 bytes segment
 Segment Time HeapMemorySegment, mixed 464 msecs HybridMemorySegment, heap, mixed 464 msecs HybridMemorySegment, off-heap, mixed 465 msecs PureHeapSegment 463 msecs PureHybridSegment, heap 464 msecs PureHybridSegment, off-heap 463 msecs Writing 10 x 268435456 ints to 1073741824 bytes segment
 Segment Time HeapMemorySegment, mixed 2,187 msecs HybridMemorySegment, heap, mixed 2,161 msecs HybridMemorySegment, off-heap, mixed 2,152 msecs PureHeapSegment 2,770 msecs PureHybridSegment, heap 2,161 msecs PureHybridSegment, off-heap 2,157 msecs Reading 10 x 268435456 ints from 1073741824 bytes segment
-Segment Time HeapMemorySegment, mixed 1,782 msecs HybridMemorySegment, heap, mixed 1,783 msecs HybridMemorySegment, off-heap, mixed 1,774 msecs PureHeapSegment 1,501 msecs PureHybridSegment, heap 1,774 msecs PureHybridSegment, off-heap 1,771 msecs `}),e.add({id:249,href:"/2015/09/03/announcing-flink-forward-2015/",title:"Announcing Flink Forward 2015",section:"Flink Blog",content:`Flink Forward 2015 is the first conference with Flink at its center that aims to bring together the Apache F [...]
+Segment Time HeapMemorySegment, mixed 1,782 msecs HybridMemorySegment, heap, mixed 1,783 msecs HybridMemorySegment, off-heap, mixed 1,774 msecs PureHeapSegment 1,501 msecs PureHybridSegment, heap 1,774 msecs PureHybridSegment, off-heap 1,771 msecs `}),e.add({id:250,href:"/2015/09/03/announcing-flink-forward-2015/",title:"Announcing Flink Forward 2015",section:"Flink Blog",content:`Flink Forward 2015 is the first conference with Flink at its center that aims to bring together the Apache F [...]
 The conference program has been announced by the organizers and a program committee consisting of Flink PMC members. The agenda contains talks from industry and academia as well as a dedicated session on hands-on Flink training.
 Some highlights of the talks include
 A keynote by William Vambenepe, lead of the product management team responsible for Big Data services on Google Cloud Platform (BigQuery, Dataflow, etc&hellip;) on data streaming, Google Cloud Dataflow, and Apache Flink.
@@ -4779,11 +4794,11 @@ Talks by several practitioners on how they are putting Flink to work in their pr
 Talks on how open source projects, including Apache Mahout, Apache SAMOA (incubating), Apache Zeppelin (incubating), Apache BigTop, and Apache Storm integrate with Apache Flink.
 Talks by Flink committers on several aspects of the system, such as fault tolerance, the internal runtime architecture, and others.
 Check out the schedule and register for the conference.
-`}),e.add({id:250,href:"/2015/09/01/apache-flink-0.9.1-available/",title:"Apache Flink 0.9.1 available",section:"Flink Blog",content:`The Flink community is happy to announce that Flink 0.9.1 is now available.
+`}),e.add({id:251,href:"/2015/09/01/apache-flink-0.9.1-available/",title:"Apache Flink 0.9.1 available",section:"Flink Blog",content:`The Flink community is happy to announce that Flink 0.9.1 is now available.
 0.9.1 is a maintenance release, which includes a lot of minor fixes across several parts of the system. We suggest all users of Flink to work with this latest stable version.
 Download the release and [check out the documentation]({{ site.docs-stable }}). Feedback through the Flink mailing lists is, as always, very welcome!
 The following issues were fixed for this release:
-FLINK-1916 EOFException when running delta-iteration job FLINK-2089 &ldquo;Buffer recycled&rdquo; IllegalStateException during cancelling FLINK-2189 NullPointerException in MutableHashTable FLINK-2205 Confusing entries in JM Webfrontend Job Configuration section FLINK-2229 Data sets involving non-primitive arrays cannot be unioned FLINK-2238 Scala ExecutionEnvironment.fromCollection does not work with Sets FLINK-2248 Allow disabling of sdtout logging output FLINK-2257 Open and close of R [...]
+FLINK-1916 EOFException when running delta-iteration job FLINK-2089 &ldquo;Buffer recycled&rdquo; IllegalStateException during cancelling FLINK-2189 NullPointerException in MutableHashTable FLINK-2205 Confusing entries in JM Webfrontend Job Configuration section FLINK-2229 Data sets involving non-primitive arrays cannot be unioned FLINK-2238 Scala ExecutionEnvironment.fromCollection does not work with Sets FLINK-2248 Allow disabling of sdtout logging output FLINK-2257 Open and close of R [...]
 Gelly allows Flink users to perform end-to-end data analysis in a single system. Gelly can be seamlessly used with Flink&rsquo;s DataSet API, which means that pre-processing, graph creation, analysis, and post-processing can be done in the same application. At the end of this post, we will go through a step-by-step example in order to demonstrate that loading, transformation, filtering, graph creation, and analysis can be performed in a single Flink program.
 Overview
 What is Gelly? Graph Representation and Creation Transformations and Utilities Iterative Graph Processing Library of Graph Algorithms Use-Case: Music Profiles Ongoing and Future Work What is Gelly? # Gelly is a Graph API for Flink. It is currently supported in both Java and Scala. The Scala methods are implemented as wrappers on top of the basic Java operations. The API contains a set of utility functions for graph analysis, supports iterative graph processing and introduces a library of [...]
@@ -4844,7 +4859,7 @@ In the near future, we would like to see how Gelly can be integrated with graph
 Curious? Read more about our plans for Gelly in the roadmap.
 Back to top
 Links # Gelly Documentation
-`}),e.add({id:252,href:"/2015/06/24/announcing-apache-flink-0.9.0/",title:"Announcing Apache Flink 0.9.0",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the availability of the 0.9.0 release. The release is the result of many months of hard work within the Flink community. It contains many new features and improvements which were previewed in the 0.9.0-milestone1 release and have been polished since then. This is the largest Flink release so far.
+`}),e.add({id:253,href:"/2015/06/24/announcing-apache-flink-0.9.0/",title:"Announcing Apache Flink 0.9.0",section:"Flink Blog",content:`The Apache Flink community is pleased to announce the availability of the 0.9.0 release. The release is the result of many months of hard work within the Flink community. It contains many new features and improvements which were previewed in the 0.9.0-milestone1 release and have been polished since then. This is the largest Flink release so far.
 Download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, very welcome!
 New Features # Exactly-once Fault Tolerance for streaming programs # This release introduces a new fault tolerance mechanism for streaming dataflows. The new checkpointing algorithm takes data sources and also user-defined state into account and recovers failures such that all records are reflected exactly once in the operator states.
 The checkpointing algorithm is lightweight and driven by barriers that are periodically injected into the data streams at the sources. As such, it has an extremely low coordination overhead and is able to sustain very high throughput rates. User-defined state can be automatically backed up to configurable storage by the fault tolerance mechanism.
@@ -4921,14 +4936,14 @@ FLINK-2188: Reading from big HBase Tables
 FLINK-1781: Quickstarts broken due to Scala Version Variables
 Notice # The 0.9 series of Flink is the last version to support Java 6. If you are still using Java 6, please consider upgrading to Java 8 (Java 7 ended its free support in April 2015).
 Flink will require at least Java 7 in major releases after 0.9.0.
-`}),e.add({id:253,href:"/2015/05/14/april-2015-in-the-flink-community/",title:"April 2015 in the Flink community",section:"Flink Blog",content:`April was an packed month for Apache Flink.
+`}),e.add({id:254,href:"/2015/05/14/april-2015-in-the-flink-community/",title:"April 2015 in the Flink community",section:"Flink Blog",content:`April was an packed month for Apache Flink.
 Flink runner for Google Cloud Dataflow # A Flink runner for Google Cloud Dataflow was announced. See the blog posts by data Artisans and the Google Cloud Platform Blog. Google Cloud Dataflow programs can be written using and open-source SDK and run in multiple backends, either as a managed service inside Google&rsquo;s infrastructure, or leveraging open source runners, including Apache Flink.
 Flink 0.9.0-milestone1 release # The highlight of April was of course the availability of Flink 0.9-milestone1. This was a release packed with new features, including, a Python DataSet API, the new SQL-like Table API, FlinkML, a machine learning library on Flink, Gelly, FLink&rsquo;s Graph API, as well as a mode to run Flink on YARN leveraging Tez. In case you missed it, check out the release announcement blog post for details
 Conferences and meetups # April kicked off the conference season. Apache Flink was presented at ApacheCon in Texas (slides), the Hadoop Summit in Brussels featured two talks on Flink (see slides here and here), as well as at the Hadoop User Groups of the Netherlands (slides) and Stockholm. The brand new Apache Flink meetup Stockholm was also established.
 Google Summer of Code # Three students will work on Flink during Google&rsquo;s Summer of Code program on distributed pattern matching, exact and approximate statistics for data streams and windows, as well as asynchronous iterations and updates.
 Flink on the web # Fabian Hueske gave an interview at InfoQ on Apache Flink.
 Upcoming events # Stay tuned for a wealth of upcoming events! Two Flink talsk will be presented at Berlin Buzzwords, Flink will be presented at the Hadoop Summit in San Jose. A training workshop on Apache Flink is being organized in Berlin. Finally, Flink Forward, the first conference to bring together the whole Flink community is taking place in Berlin in October 2015.
-`}),e.add({id:254,href:"/2015/05/11/juggling-with-bits-and-bytes/",title:"Juggling with Bits and Bytes",section:"Flink Blog",content:` How Apache Flink operates on binary data # 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 da [...]
+`}),e.add({id:255,href:"/2015/05/11/juggling-with-bits-and-bytes/",title:"Juggling with Bits and Bytes",section:"Flink Blog",content:` How Apache Flink operates on binary data # 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 da [...]
 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.
 Data Objects? Let’s put them on the heap! # 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  [...]
 What is Flink doing about that? # 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 [...]
@@ -4956,7 +4971,7 @@ The memory usage charts shows that the flink-serialized and kryo-serialized cons
 Occupied Memory Object-on-Heap Flink-Serialized Kryo-Serialized Sort on Integer approx. 700 MB (heap) 277 MB (sort buffer) 266 MB (sort buffer) Sort on String approx. 700 MB (heap) 315 MB (sort buffer) 266 MB (sort buffer) To summarize, the experiments verify the previously stated benefits of operating on binary data.
 We’re not done yet! # 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 a [...]
 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!
-TL;DR; Give me three things to remember! # Flink’s active memory management avoids nasty OutOfMemoryErrors that kill your JVMs and reduces garbage collection overhead. Flink features a highly efficient data de/serialization stack that facilitates operations on binary data and makes more data fit into memory. Flink’s DBMS-style operators operate natively on binary data yielding high performance in-memory and destage gracefully to disk if necessary. `}),e.add({id:255,href:"/2015/04/13/anno [...]
+TL;DR; Give me three things to remember! # Flink’s active memory management avoids nasty OutOfMemoryErrors that kill your JVMs and reduces garbage collection overhead. Flink features a highly efficient data de/serialization stack that facilitates operations on binary data and makes more data fit into memory. Flink’s DBMS-style operators operate natively on binary data yielding high performance in-memory and destage gracefully to disk if necessary. `}),e.add({id:256,href:"/2015/04/13/anno [...]
 You can download the release here and check out the latest documentation here. Feedback through the Flink mailing lists is, as always, very welcome!
 New Features # Table API # Flink’s new Table API offers a higher-level abstraction for interacting with structured data sources. The Table API allows users to execute logical, SQL-like queries on distributed data sets while allowing them to freely mix declarative queries with regular Flink operators. Here is an example that groups and joins two tables:
 val clickCounts = clicks .groupBy(&#39;user).select(&#39;userId, &#39;url.count as &#39;count) val activeUsers = users.join(clickCounts) .where(&#39;id === &#39;userId &amp;&amp; &#39;count &gt; 10).select(&#39;username, &#39;count, ...) Tables consist of logical attributes that can be selected by name rather than physical Java and Scala data types. This alleviates a lot of boilerplate code for common ETL tasks and raises the abstraction for Flink programs. Tables are available for both  [...]
@@ -4995,7 +5010,7 @@ FLINK-1179: Add button to JobManager web interface to request stack trace of a T
 FLINK-1105: Add support for locally sorted output
 FLINK-1688: Add socket sink
 FLINK-1436: Improve usability of command line interface
-`}),e.add({id:256,href:"/2015/04/07/march-2015-in-the-flink-community/",title:"March 2015 in the Flink community",section:"Flink Blog",content:`March has been a busy month in the Flink community.
+`}),e.add({id:257,href:"/2015/04/07/march-2015-in-the-flink-community/",title:"March 2015 in the Flink community",section:"Flink Blog",content:`March has been a busy month in the Flink community.
 Scaling ALS # Flink committers employed at data Artisans published a blog post on how they scaled matrix factorization with Flink and Google Compute Engine to matrices with 28 billion elements.
 Learn about the internals of Flink # The community has started an effort to better document the internals of Flink. Check out the first articles on the Flink wiki on how Flink manages memory, how tasks in Flink exchange data, type extraction and serialization in Flink, as well as how Flink builds on Akka for distributed coordination.
 Check out also the new blog post on how Flink executes joins with several insights into Flink&rsquo;s runtime.
@@ -5003,7 +5018,7 @@ Meetups and talks # Flink&rsquo;s machine learning efforts were presented at the
 In the Flink master # Table API in Scala and Java # The new Table API in Flink is now available in both Java and Scala. Check out the examples here (Java) and here (Scala).
 Additions to the Machine Learning library # Flink&rsquo;s Machine Learning library is seeing quite a bit of traction. Recent additions include the CoCoA algorithm for distributed optimization.
 Exactly-once delivery guarantees for streaming jobs # Flink streaming jobs now provide exactly once processing guarantees when coupled with persistent sources (notably Apache Kafka). Flink periodically checkpoints and persists the offsets of the sources and restarts from those checkpoints at failure recovery. This functionality is currently limited in that it does not yet handle large state and iterative programs.
-`}),e.add({id:257,href:"/2015/03/13/peeking-into-apache-flinks-engine-room/",title:"Peeking into Apache Flink's Engine Room",section:"Flink Blog",content:` Join Processing in Apache Flink # Joins are prevalent operations in many data processing applications. Most data processing systems feature APIs that make joining data sets very easy. However, the internal algorithms for join processing are much more involved – especially if large data sets need to be efficiently handled. Therefore, j [...]
+`}),e.add({id:258,href:"/2015/03/13/peeking-into-apache-flinks-engine-room/",title:"Peeking into Apache Flink's Engine Room",section:"Flink Blog",content:` Join Processing in Apache Flink # Joins are prevalent operations in many data processing applications. Most data processing systems feature APIs that make joining data sets very easy. However, the internal algorithms for join processing are much more involved – especially if large data sets need to be efficiently handled. Therefore, j [...]
 In this blog post, we cut through Apache Flink’s layered architecture and take a look at its internals with a focus on how it handles joins. Specifically, I will
 show how easy it is to join data sets using Flink’s fluent APIs, discuss basic distributed join strategies, Flink’s join implementations, and its memory management, talk about Flink’s optimizer that automatically chooses join strategies, show some performance numbers for joining data sets of different sizes, and finally briefly discuss joining of co-located and pre-sorted data sets. Disclaimer: This blog post is exclusively about equi-joins. Whenever I say “join” in the following, I actu [...]
 How do I join with Flink? # Flink provides fluent APIs in Java and Scala to write data flow programs. Flink’s APIs are centered around parallel data collections which are called data sets. data sets are processed by applying Transformations that compute new data sets. Flink’s transformations include Map and Reduce as known from MapReduce [1] but also operators for joining, co-grouping, and iterative processing. The documentation gives an overview of all available transformations [2].
@@ -5034,7 +5049,7 @@ Broadcast-Forward, Hybrid-Hash-Join (broadcasting and building with the smaller
 As in the single-core benchmark, we run 1:N joins, generate the data on-the-fly, and immediately discard the result after the join. We run the benchmark on 10 n1-highmem-8 Google Compute Engine instances. Each instance is equipped with 8 cores, 52GB RAM, 40GB of which are configured as working memory (5GB per core), and one local SSD for spilling to disk. All benchmarks are performed using the same configuration, i.e., no fine tuning for the respective data sizes is done. The programs ar [...]
 As expected, the Broadcast-Forward strategy performs best for very small inputs because the large probe side is not shipped over the network and is locally joined. However, when the size of the broadcasted side grows, two problems arise. First the amount of data which is shipped increases but also each parallel instance has to process the full broadcasted data set. The performance of both Repartitioning strategies behaves similar for growing input sizes which indicates that these strateg [...]
 I’ve got sooo much data to join, do I really need to ship it? # We have seen that off-the-shelf distributed joins work really well in Flink. But what if your data is so huge that you do not want to shuffle it across your cluster? We recently added some features to Flink for specifying semantic properties (partitioning and sorting) on input splits and co-located reading of local input files. With these tools at hand, it is possible to join pre-partitioned data sets from your local filesys [...]
-tl;dr: What should I remember from all of this? # Flink’s fluent Scala and Java APIs make joins and other data transformations easy as cake. The optimizer does the hard choices for you, but gives you control in case you know better. Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk. Due to Flink’s robust memory management, there is no need for job- or data-specific memory tuning to avoid a nasty OutOfMemoryException. It just runs out-of-th [...]
+tl;dr: What should I remember from all of this? # Flink’s fluent Scala and Java APIs make joins and other data transformations easy as cake. The optimizer does the hard choices for you, but gives you control in case you know better. Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk. Due to Flink’s robust memory management, there is no need for job- or data-specific memory tuning to avoid a nasty OutOfMemoryException. It just runs out-of-th [...]
 0.8.1 release # Flink 0.8.1 was released. This bugfixing release resolves a total of 22 issues.
 New committer # Max Michels has been voted a committer by the Flink PMC.
 Flink adapter for Apache SAMOA # Apache SAMOA (incubating) is a distributed streaming machine learning (ML) framework with a programming abstraction for distributed streaming ML algorithms. SAMOA runs on a variety of backend engines, currently Apache Storm and Apache S4. A pull request is available at the SAMOA repository that adds a Flink adapter for SAMOA.
@@ -5050,7 +5065,7 @@ Graph&lt;Long, Double, Double&gt; graph = Graph.fromDataSet(vertices, edges, env
 Flink Expressions # The newly merged flink-table module is the first step in Flink’s roadmap towards logical queries and SQL support. Here’s a preview on how you can read two CSV file, assign a logical schema to, and apply transformations like filters and joins using logical attributes rather than physical data types.
 val customers = getCustomerDataSet(env) .as(&#39;id, &#39;mktSegment) .filter( &#39;mktSegment === &#34;AUTOMOBILE&#34; ) val orders = getOrdersDataSet(env) .filter( o =&gt; dateFormat.parse(o.orderDate).before(date) ) .as(&#39;orderId, &#39;custId, &#39;orderDate, &#39;shipPrio) val items = orders.join(customers) .where(&#39;custId === &#39;id) .select(&#39;orderId, &#39;orderDate, &#39;shipPrio) Access to HCatalog tables # With the flink-hcatalog module, you can now conveniently access [...]
 Access to secured YARN clusters/HDFS. # With this change users can access Kerberos secured YARN (and HDFS) Hadoop clusters. Also, basic support for accessing secured HDFS with a standalone Flink setup is now available.
-`}),e.add({id:259,href:"/2015/02/09/introducing-flink-streaming/",title:"Introducing Flink Streaming",section:"Flink Blog",content:`This post is the first of a series of blog posts on Flink Streaming, the recent addition to Apache Flink that makes it possible to analyze continuous data sources in addition to static files. Flink Streaming uses the pipelined Flink engine to process data streams in real time and offers a new API including definition of flexible windows.
+`}),e.add({id:260,href:"/2015/02/09/introducing-flink-streaming/",title:"Introducing Flink Streaming",section:"Flink Blog",content:`This post is the first of a series of blog posts on Flink Streaming, the recent addition to Apache Flink that makes it possible to analyze continuous data sources in addition to static files. Flink Streaming uses the pipelined Flink engine to process data streams in real time and offers a new API including definition of flexible windows.
 In this post, we go through an example that uses the Flink Streaming API to compute statistics on stock market data that arrive continuously and combine the stock market data with Twitter streams. See the Streaming Programming Guide for a detailed presentation of the Streaming API.
 First, we read a bunch of stock price streams and combine them into one stream of market data. We apply several transformations on this market data stream, like rolling aggregations per stock. Then we emit price warning alerts when the prices are rapidly changing. Moving towards more advanced features, we compute rolling correlations between the market data streams and a Twitter stream with stock mentions.
 For running the example implementation please use the 0.9-SNAPSHOT version of Flink as a dependency. The full example code base can be found here in Scala and here in Java7.
@@ -5074,7 +5089,7 @@ Other things to try # For a full feature overview please check the Streaming Gui
 Upcoming for streaming # There are some aspects of Flink Streaming that are subjects to change by the next release making this application look even nicer.
 Stay tuned for later blog posts on how Flink Streaming works internally, fault tolerance, and performance measurements!
 Back to top
-`}),e.add({id:260,href:"/2015/02/04/january-2015-in-the-flink-community/",title:"January 2015 in the Flink community",section:"Flink Blog",content:`Happy 2015! Here is a (hopefully digestible) summary of what happened last month in the Flink community.
+`}),e.add({id:261,href:"/2015/02/04/january-2015-in-the-flink-community/",title:"January 2015 in the Flink community",section:"Flink Blog",content:`Happy 2015! Here is a (hopefully digestible) summary of what happened last month in the Flink community.
 0.8.0 release # Flink 0.8.0 was released. See here for the release notes.
 Flink roadmap # The community has published a roadmap for 2015 on the Flink wiki. Check it out to see what is coming up in Flink, and pick up an issue to contribute!
 Articles in the press # The Apache Software Foundation announced Flink as a Top-Level Project. The announcement was picked up by the media, e.g., here, here, and here.
@@ -5085,7 +5100,7 @@ Using off-heap memory # This pull request enables Flink to use off-heap memory f
 Gelly, Flink’s Graph API # This pull request introduces Gelly, Flink’s brand new Graph API. Gelly offers a native graph programming abstraction with functionality for vertex-centric programming, as well as available graph algorithms. See this slide set for an overview of Gelly.
 Semantic annotations # Semantic annotations are a powerful mechanism to expose information about the behavior of Flink functions to Flink’s optimizer. The optimizer can leverage this information to generate more efficient execution plans. For example the output of a Reduce operator that groups on the second field of a tuple is still partitioned on that field if the Reduce function does not modify the value of the second field. By exposing this information to the optimizer, the optimizer  [...]
 New YARN client # The improved YARN client of Flink now allows users to deploy Flink on YARN for executing a single job. Older versions only supported a long-running YARN session. The code of the YARN client has been refactored to provide an (internal) Java API for controlling YARN clusters more easily.
-`}),e.add({id:261,href:"/2015/01/21/apache-flink-0.8.0-available/",title:"Apache Flink 0.8.0 available",section:"Flink Blog",content:`We are pleased to announce the availability of Flink 0.8.0. This release includes new user-facing features as well as performance and bug fixes, extends the support for filesystems and introduces the Scala API and flexible windowing semantics for Flink Streaming. A total of 33 people have contributed to this release, a big thanks to all of them!
+`}),e.add({id:262,href:"/2015/01/21/apache-flink-0.8.0-available/",title:"Apache Flink 0.8.0 available",section:"Flink Blog",content:`We are pleased to announce the availability of Flink 0.8.0. This release includes new user-facing features as well as performance and bug fixes, extends the support for filesystems and introduces the Scala API and flexible windowing semantics for Flink Streaming. A total of 33 people have contributed to this release, a big thanks to all of them!
 Download Flink 0.8.0
 See the release changelog
 Overview of major new features # Extended filesystem support: The former DistributedFileSystem interface has been generalized to HadoopFileSystem now supporting all sub classes of org.apache.hadoop.fs.FileSystem. This allows users to use all file systems supported by Hadoop with Apache Flink. See connecting to other systems
@@ -5096,7 +5111,7 @@ Performance and usability improvements: The new Apache Flink 0.8.0 release bring
 Improved input split assignment which maximizes computation locality Smart broadcasting mechanism which minimizes network I/O Custom partitioners which let the user control how the data is partitioned within the cluster. This helps to prevent data skewness and allows to implement highly efficient algorithms. coGroup operator now supports group sorting for its inputs Kryo is the new fallback serializer: Apache Flink has a sophisticated type analysis and serialization framework that is abl [...]
 Hadoop 2.2.0+ is now the default Hadoop dependency: With Flink 0.8.0 we made the “hadoop2” build profile the default build for Flink. This means that all users using Hadoop 1 (0.2X or 1.2.X versions) have to specify version “0.8.0-hadoop1” in their pom files.
 HBase module updated The HBase version has been updated to 0.98.6.1. Also, Hbase is now available to the Hadoop1 and Hadoop2 profile of Flink.
-Contributors # Marton Balassi Daniel Bali Carsten Brandt Moritz Borgmann Stefan Bunk Paris Carbone Ufuk Celebi Nils Engelbach Stephan Ewen Gyula Fora Gabor Hermann Fabian Hueske Vasiliki Kalavri Johannes Kirschnick Aljoscha Krettek Suneel Marthi Robert Metzger Felix Neutatz Chiwan Park Flavio Pompermaier Mingliang Qi Shiva Teja Reddy Till Rohrmann Henry Saputra Kousuke Saruta Chesney Schepler Erich Schubert Peter Szabo Jonas Traub Kostas Tzoumas Timo Walther Daniel Warneke Chen Xu `}),e. [...]
+Contributors # Marton Balassi Daniel Bali Carsten Brandt Moritz Borgmann Stefan Bunk Paris Carbone Ufuk Celebi Nils Engelbach Stephan Ewen Gyula Fora Gabor Hermann Fabian Hueske Vasiliki Kalavri Johannes Kirschnick Aljoscha Krettek Suneel Marthi Robert Metzger Felix Neutatz Chiwan Park Flavio Pompermaier Mingliang Qi Shiva Teja Reddy Till Rohrmann Henry Saputra Kousuke Saruta Chesney Schepler Erich Schubert Peter Szabo Jonas Traub Kostas Tzoumas Timo Walther Daniel Warneke Chen Xu `}),e. [...]
 Flink graduation # The biggest news is that the Apache board approved Flink as a top-level Apache project! The Flink team is working closely with the Apache press team for an official announcement, so stay tuned for details!
 New Flink website # The Flink website got a total make-over, both in terms of appearance and content.
 Flink IRC channel # A new IRC channel called #flink was created at irc.freenode.org. An easy way to access the IRC channel is through the web client. Feel free to stop by to ask anything or share your ideas about Apache Flink!
@@ -5110,7 +5125,7 @@ Sorting of very large records # Flink&rsquo;s internal sort-algorithms were impr
 Kryo Serialization as the new default fallback # Flink’s build-in type serialization framework is handles all common types very efficiently. Prior versions uses Avro to serialize types that the built-in framework could not handle. Flink serialization system improved a lot over time and by now surpasses the capabilities of Avro in many cases. Kryo now serves as the default fallback serialization framework, supporting a much broader range of types.
 Hadoop FileSystem support # This change permits users to use all file systems supported by Hadoop with Flink. In practice this means that users can use Flink with Tachyon, Google Cloud Storage (also out of the box Flink YARN support on Google Compute Cloud), FTP and all the other file system implementations for Hadoop.
 Heading to the 0.8.0 release # The community is working hard together with the Apache infra team to migrate the Flink infrastructure to a top-level project. At the same time, the Flink community is working on the Flink 0.8.0 release which should be out very soon.
-`}),e.add({id:263,href:"/2014/11/18/hadoop-compatibility-in-flink/",title:"Hadoop Compatibility in Flink",section:"Flink Blog",content:`Apache Hadoop is an industry standard for scalable analytical data processing. Many data analysis applications have been implemented as Hadoop MapReduce jobs and run in clusters around the world. Apache Flink can be an alternative to MapReduce and improves it in many dimensions. Among other features, Flink provides much better performance and offers APIs [...]
+`}),e.add({id:264,href:"/2014/11/18/hadoop-compatibility-in-flink/",title:"Hadoop Compatibility in Flink",section:"Flink Blog",content:`Apache Hadoop is an industry standard for scalable analytical data processing. Many data analysis applications have been implemented as Hadoop MapReduce jobs and run in clusters around the world. Apache Flink can be an alternative to MapReduce and improves it in many dimensions. Among other features, Flink provides much better performance and offers APIs [...]
 Flink’s Hadoop Compatibility Package # To close this gap, Flink provides a Hadoop Compatibility package to wrap functions implemented against Hadoop’s MapReduce interfaces and embed them in Flink programs. This package was developed as part of a Google Summer of Code 2014 project.
 With the Hadoop Compatibility package, you can reuse all your Hadoop
 InputFormats (mapred and mapreduce APIs) OutputFormats (mapred and mapreduce APIs) Mappers (mapred API) Reducers (mapred API) in Flink programs without changing a line of code. Moreover, Flink also natively supports all Hadoop data types (Writables and WritableComparable).
@@ -5120,7 +5135,7 @@ Hadoop functions can be used at any position within a Flink program and of cours
 What comes next? # While the Hadoop compatibility package is already very useful, we are currently working on a dedicated Hadoop Job operation to embed and execute Hadoop jobs as a whole in Flink programs, including their custom partitioning, sorting, and grouping code. With this feature, you will be able to chain multiple Hadoop jobs, mix them with Flink functions, and other operations such as Spargel operations (Pregel/Giraph-style jobs).
 Summary # Flink lets you reuse a lot of the code you wrote for Hadoop MapReduce, including all data types, all Input- and OutputFormats, and Mapper and Reducers of the mapred-API. Hadoop functions can be used within Flink programs and mixed with all other Flink functions. Due to Flink’s pipelined execution, Hadoop functions can arbitrarily be assembled without data exchange via HDFS. Moreover, the Flink community is currently working on a dedicated Hadoop Job operation to supporting the  [...]
 If you want to use Flink’s Hadoop compatibility package checkout our documentation.
-`}),e.add({id:264,href:"/2014/11/04/apache-flink-0.7.0-available/",title:"Apache Flink 0.7.0 available",section:"Flink Blog",content:`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!
+`}),e.add({id:265,href:"/2014/11/04/apache-flink-0.7.0-available/",title:"Apache Flink 0.7.0 available",section:"Flink Blog",content:`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!
 Download Flink 0.7.0 here
 See the release changelog here
 Overview of major new features # Flink Streaming: The gem of the 0.7.0 release is undoubtedly Flink Streaming. Available currently in alpha, Flink Streaming provides a Java API on top of Apache Flink that can consume streaming data sources (e.g., from Apache Kafka, Apache Flume, and others) and process them in real time. A dedicated blog post on Flink Streaming and its performance is coming up here soon. You can check out the Streaming programming guide here.
@@ -5132,7 +5147,7 @@ Record API deprecated: The (old) Stratosphere Record API has been marked as depr
 BLOB service: This release contains a new service to distribute jar files and other binary data among the JobManager, TaskManagers and the client.
 Intermediate data sets: A major rewrite of the system internals introduces intermediate data sets as first class citizens. The internal state machine that tracks the distributed tasks has also been completely rewritten for scalability. While this is not visible as a user-facing feature yet, it is the foundation for several upcoming exciting features.
 Note: Currently, there is limited support for Java 8 lambdas when compiling and running from an IDE. The problem is due to type erasure and whether Java compilers retain type information. We are currently working with the Eclipse and OpenJDK communities to resolve this.
-Contributors # Tamas Ambrus Mariem Ayadi Marton Balassi Daniel Bali Ufuk Celebi Hung Chang David Eszes Stephan Ewen Judit Feher Gyula Fora Gabor Hermann Fabian Hueske Vasiliki Kalavri Kristof Kovacs Aljoscha Krettek Sebastian Kruse Sebastian Kunert Matyas Manninger Robert Metzger Mingliang Qi Till Rohrmann Henry Saputra Chesnay Schelper Moritz Schubotz Hung Sendoh Chang Peter Szabo Jonas Traub Fabian Tschirschnitz Artem Tsikiridis Kostas Tzoumas Timo Walther Daniel Warneke Tobias Wiens Y [...]
+Contributors # Tamas Ambrus Mariem Ayadi Marton Balassi Daniel Bali Ufuk Celebi Hung Chang David Eszes Stephan Ewen Judit Feher Gyula Fora Gabor Hermann Fabian Hueske Vasiliki Kalavri Kristof Kovacs Aljoscha Krettek Sebastian Kruse Sebastian Kunert Matyas Manninger Robert Metzger Mingliang Qi Till Rohrmann Henry Saputra Chesnay Schelper Moritz Schubotz Hung Sendoh Chang Peter Szabo Jonas Traub Fabian Tschirschnitz Artem Tsikiridis Kostas Tzoumas Timo Walther Daniel Warneke Tobias Wiens Y [...]
 We are looking forward to seeing you at any of these events. The following is an overview of each event and links to the respective Meetup pages.
 Flink Hackathon, Stockholm (Oct 8-9) # The hackathon will take place at KTH/SICS from Oct 8th-9th. You can sign up here: https://docs.google.com/spreadsheet/viewform?formkey=dDZnMlRtZHJ3Z0hVTlFZVjU2MWtoX0E6MA.
 Here is a rough agenda and a list of topics to work upon or look into. Suggestions and more topics are welcome.
@@ -5156,10 +5171,10 @@ http://www.meetup.com/stockholm-hug/events/207323222/
 http://www.meetup.com/Apache-Flink-Meetup/events/208227422/
 Meetup: Pasadena Big Data User Group (Oct 29) # http://www.meetup.com/Pasadena-Big-Data-Users-Group/
 Meetup: Silicon Valley Hands On Programming Events (Nov 4) # http://www.meetup.com/HandsOnProgrammingEvents/events/210504392/
-`}),e.add({id:266,href:"/2014/09/26/apache-flink-0.6.1-available/",title:"Apache Flink 0.6.1 available",section:"Flink Blog",content:`We are happy to announce the availability of Flink 0.6.1.
+`}),e.add({id:267,href:"/2014/09/26/apache-flink-0.6.1-available/",title:"Apache Flink 0.6.1 available",section:"Flink Blog",content:`We are happy to announce the availability of Flink 0.6.1.
 0.6.1 is a maintenance release, which includes minor fixes across several parts of the system. We suggest all users of Flink to work with this newest version.
 Download the release today.
-`}),e.add({id:267,href:"/2014/08/26/apache-flink-0.6-available/",title:"Apache Flink 0.6 available",section:"Flink Blog",content:`We are happy to announce the availability of Flink 0.6. This is the first release of the system inside the Apache Incubator and under the name Flink. Releases up to 0.5 were under the name Stratosphere, the academic and open source project that Flink originates from.
+`}),e.add({id:268,href:"/2014/08/26/apache-flink-0.6-available/",title:"Apache Flink 0.6 available",section:"Flink Blog",content:`We are happy to announce the availability of Flink 0.6. This is the first release of the system inside the Apache Incubator and under the name Flink. Releases up to 0.5 were under the name Stratosphere, the academic and open source project that Flink originates from.
 What is Flink? # Apache Flink is a general-purpose data processing engine for clusters. It runs on YARN clusters on top of data stored in Hadoop, as well as stand-alone. Flink currently has programming APIs in Java and Scala. Jobs are executed via Flink&rsquo;s own runtime engine. Flink features:
 Robust in-memory and out-of-core processing: once read, data stays in memory as much as possible, and is gracefully de-staged to disk in the presence of memory pressure from limited memory or other applications. The runtime is designed to perform very well both in setups with abundant memory and in setups where memory is scarce.
 POJO-based APIs: when programming, you do not have to pack your data into key-value pairs or some other framework-specific data model. Rather, you can use arbitrary Java and Scala types to model your data.
@@ -5169,7 +5184,7 @@ Data pipelining/streaming: Flink&rsquo;s runtime is designed as a pipelined data
 Release 0.6 # Flink 0.6 builds on the latest Stratosphere 0.5 release. It includes many bug fixes and improvements that make the system more stable and robust, as well as breaking API changes.
 The full release notes are available here.
 Download the release here.
-Contributors # Wilson Cao Ufuk Celebi Stephan Ewen Jonathan Hasenburg Markus Holzemer Fabian Hueske Sebastian Kunert Vikhyat Korrapati Aljoscha Krettek Sebastian Kruse Raymond Liu Robert Metzger Mingliang Qi Till Rohrmann Henry Saputra Chesnay Schepler Kostas Tzoumas Robert Waury Timo Walther Daniel Warneke Tobias Wiens `}),e.add({id:268,href:"/how-to-contribute/code-style-and-quality-common/",title:"Code Style and Quality Guide — Common Rules",section:"How to Contribute",content:` Code  [...]
+Contributors # Wilson Cao Ufuk Celebi Stephan Ewen Jonathan Hasenburg Markus Holzemer Fabian Hueske Sebastian Kunert Vikhyat Korrapati Aljoscha Krettek Sebastian Kruse Raymond Liu Robert Metzger Mingliang Qi Till Rohrmann Henry Saputra Chesnay Schepler Kostas Tzoumas Robert Waury Timo Walther Daniel Warneke Tobias Wiens `}),e.add({id:269,href:"/how-to-contribute/code-style-and-quality-common/",title:"Code Style and Quality Guide — Common Rules",section:"How to Contribute",content:` Code  [...]
 /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * &#34;License&#34;); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by [...]
 Warnings # We strive for zero warnings Even though there are many warnings in existing code, new changes should not add any additional compiler warnings If it is not possible to address the warning in a sane way (in some cases when working with generics) add an annotation to suppress the warning When deprecating methods, check that this does not introduce additional warnings 3. Comments And Code Readability # Comments # Golden rule: Comment as much as necessary to support code understand [...]
 Think about
@@ -5218,7 +5233,7 @@ Example of tests in Flink that follow this pattern are:
 https://github.com/apache/flink/blob/master/flink-core/src/test/java/org/apache/flink/util/LinkedOptionalMapTest.java https://github.com/apache/flink/blob/master/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/writer/RecoverableMultiPartUploadImplTest.java Avoid Mockito - Use reusable test implementations # Mockito-based tests tend to be costly to maintain in the long run by encouraging duplication of functionality and testing for implementation rather than [...]
 At the same time, any timeout value that you manually set is arbitrary. If it&rsquo;s set too low, you get test instabilities. What too low means depends on numerous factors, such as hardware and current utilization (especially I/O). Moreover, a local timeout is more maintenance-intensive. It&rsquo;s one more knob where you can tweak a build. If you change the test a bit, you also need to double-check the timeout. Hence, there have been quite a few commits that just increase timeouts.
 We are keeping such frameworks out of Flink, to make debugging easier and avoid dependency clashes.&#160;&#x21a9;&#xfe0e;
-`}),e.add({id:269,href:"/how-to-contribute/code-style-and-quality-components/",title:"Code Style and Quality Guide — Components Guide",section:"How to Contribute",content:` Code Style and Quality Guide — Components Guide # Preamble # Pull Requests &amp; Changes # Common Coding Guide # Java Language Guide # Scala Language Guide # Components Guide # Formatting Guide # Component Specific Guidelines # Additional guidelines about changes in specific components.
+`}),e.add({id:270,href:"/how-to-contribute/code-style-and-quality-components/",title:"Code Style and Quality Guide — Components Guide",section:"How to Contribute",content:` Code Style and Quality Guide — Components Guide # Preamble # Pull Requests &amp; Changes # Common Coding Guide # Java Language Guide # Scala Language Guide # Components Guide # Formatting Guide # Component Specific Guidelines # Additional guidelines about changes in specific components.
 Configuration Changes # Where should the config option go?
 ‘flink-conf.yaml’: All configuration that pertains to execution behavior that one may want to standardize across jobs. Think of it as parameters someone would set wearing an “ops” hat, or someone that provides a stream processing platform to other teams.
 ‘ExecutionConfig’: Parameters specific to an individual Flink application, needed by the operators during execution. Typical examples are watermark interval, serializer parameters, object reuse.
@@ -5242,7 +5257,7 @@ The Table API is an Embedded Domain Specific Language for analytical programs fo
 SQL natively supports NULL for almost every operation and has a 3-valued boolean logic. Make sure to test every feature for nullability as well. Avoid full integration tests
 Spawning a Flink mini-cluster and performing compilation of generated code for a SQL query is expensive. Avoid integration tests for planner tests or variations of API calls. Instead, use unit tests that validate the optimized plan which comes out of a planner. Or test the behavior of a runtime operator directly. Compatibility # Don’t introduce physical plan changes in patch releases!
 Backwards compatibility for state in streaming SQL relies on the fact that the physical execution plan remains stable. Otherwise the generated Operator Names/IDs change and state cannot be matched and restored. Every bug fix that leads to changes in the optimized physical plan of a streaming pipeline hences breaks compatibility. As a consequence, changes of the kind that lead to different optimizer plans can only be merged in major releases for now. Scala / Java interoperability (legacy  [...]
-Consider whether a class will need to interact with a Java class in the future. Use Java collections and Java Optional in interfaces for a smooth integration with Java code. Don’t use features of case classes such as .copy() or apply() for construction if a class is subjected to be converted to Java. Pure Scala user-facing APIs should use pure Scala collections/iterables/etc. for natural and idiomatic (“scalaesk”) integration with Scala. `}),e.add({id:270,href:"/how-to-contribute/code-st [...]
+Consider whether a class will need to interact with a Java class in the future. Use Java collections and Java Optional in interfaces for a smooth integration with Java code. Don’t use features of case classes such as .copy() or apply() for construction if a class is subjected to be converted to Java. Pure Scala user-facing APIs should use pure Scala collections/iterables/etc. for natural and idiomatic (“scalaesk”) integration with Scala. `}),e.add({id:271,href:"/how-to-contribute/code-st [...]
 License # Apache license headers. Make sure you have Apache License headers in your files. The RAT plugin is checking for that when you build the code. Imports # Empty line before and after package declaration. No unused imports. No redundant imports. No wildcard imports. They can cause problems when adding to the code and in some cases even during refactoring. Import order. Imports must be ordered alphabetically, grouped into the following blocks, with each block separated by an empty l [...]
 Two major sources of long lines are:
 Long list of arguments in function declaration or call: void func(type1 arg1, type2 arg2, ...) Long sequence of chained calls: list.stream().map(...).reduce(...).collect(...)... Rules about breaking the long lines:
@@ -5250,7 +5265,7 @@ Break the argument list or chain of calls if the line exceeds limit or earlier i
 The opening parenthesis always stays on the line of the parent function name The possible thrown exception list is never broken and stays on the same last line, even if the line length exceeds its limit The line of the function argument should end with a comma staying on the same line except the last argument Example of breaking the list of function arguments:
 public void func( int arg1, int arg2, ...) throws E1, E2, E3 { } The dot of a chained call is always on the line of that chained call proceeding the call at the beginning.
 Example of breaking the list of chained calls:
-values .stream() .map(...) .collect(...); Braces # Left curly braces ({) must not be placed on a new line. Right curly braces (}) must always be placed at the beginning of the line. Blocks. All statements after if, for, while, do, … must always be encapsulated in a block with curly braces (even if the block contains one statement). Javadocs # All public/protected methods and classes must have a Javadoc. The first sentence of the Javadoc must end with a period. Paragraphs must be separate [...]
+values .stream() .map(...) .collect(...); Braces # Left curly braces ({) must not be placed on a new line. Right curly braces (}) must always be placed at the beginning of the line. Blocks. All statements after if, for, while, do, … must always be encapsulated in a block with curly braces (even if the block contains one statement). Javadocs # All public/protected methods and classes must have a Javadoc. The first sentence of the Javadoc must end with a period. Paragraphs must be separate [...]
 Do not use Java Serialization for anything !!! !!!
 Do not use Java Serialization for anything !!! !!! !!!
 Internal to Flink, Java serialization is used to transport messages and programs through RPC. This is the only case where we use Java serialization. Because of that, some classes need to be serializable (if they are transported via RPC).
@@ -5264,7 +5279,7 @@ map.computeIfAbsent(key, x -&gt; key.toLowerCase()) do:
 map.computeIfAbsent(key, k -&gt; k.toLowerCase()); Consider method references instead of inline lambdas
 don’t:
 map.computeIfAbsent(key, k-&gt; Loader.load(k)); do:
-map.computeIfAbsent(key, Loader::load); Java Streams # Avoid Java Streams in any performance critical code. The main motivation to use Java Streams would be to improve code readability. As such, they can be a good match in parts of the code that are not data-intensive, but deal with coordination.. Even in the latter case, try to limit the scope to a method, or a few private methods within an internal class. `}),e.add({id:272,href:"/how-to-contribute/code-style-and-quality-pull-requests/" [...]
+map.computeIfAbsent(key, Loader::load); Java Streams # Avoid Java Streams in any performance critical code. The main motivation to use Java Streams would be to improve code readability. As such, they can be a good match in parts of the code that are not data-intensive, but deal with coordination.. Even in the latter case, try to limit the scope to a method, or a few private methods within an internal class. `}),e.add({id:273,href:"/how-to-contribute/code-style-and-quality-pull-requests/" [...]
 Reviews are much faster and thus contributions get merged sooner. We can ensure higher code quality by overlooking fewer issues in the contributions. Committers can review more contributions in the same time, which helps to keep up with the high rate of contributions that Flink is experiencing Please understand that contributions that do not follow this guide will take longer to review and thus will typically be picked up with lower priority by the community. That is not ill intend, it i [...]
 1. JIRA issue and Naming # Make sure that the pull request corresponds to a JIRA issue.
 Exceptions are hotfixes, like fixing typos in JavaDocs or documentation files.
@@ -5285,7 +5300,7 @@ https://github.com/apache/flink/pull/6692 (splits cleanup and refactoring from m
 In some cases, the issue might be a subtask here, and the component may be different from the Pull Request’s main component. For example, when the commit introduces an end-to-end test for a runtime change, the PR would be tagged as [runtime], but the individual commit would be tagged as [e2e].
 Examples for commit messages:
 [hotfix] Fix update_branch_version.sh to allow version suffixes [hotfix] [table] Remove unused geometry dependency [FLINK-11704][tests] Improve AbstractCheckpointStateOutputStreamTestBase [FLINK-10569][runtime] Remove Instance usage in ExecutionVertexCancelTest [FLINK-11702][table-planner-blink] Introduce a new table type system 5. Changes to the observable behavior of the system # Contributors should be aware of changes in their PRs that break the observable behavior of Flink in any way [...]
-Assertions have been changed to make tests pass again with the breaking change. Configuration setting that must suddenly be set to (non-default) values to keep existing tests passing. This can happen in particular for new settings with a breaking default. Existing scripts or configurations have to be adjusted. `}),e.add({id:273,href:"/how-to-contribute/code-style-and-quality-scala/",title:"Code Style and Quality Guide — Scala",section:"How to Contribute",content:` Code Style and Quality  [...]
+Assertions have been changed to make tests pass again with the breaking change. Configuration setting that must suddenly be set to (non-default) values to keep existing tests passing. This can happen in particular for new settings with a breaking default. Existing scripts or configurations have to be adjusted. `}),e.add({id:274,href:"/how-to-contribute/code-style-and-quality-scala/",title:"Code Style and Quality Guide — Scala",section:"How to Contribute",content:` Code Style and Quality  [...]
 We do not use Scala in the core APIs and runtime components. We aim to remove existing Scala use (code and dependencies) from those components.
 ⇒ This is not because we do not like Scala, it is a consequence of “the right tool for the right job” approach (see below).
 For APIs, we develop the foundation in Java, and layer Scala on top.
@@ -5298,16 +5313,16 @@ Don’t:
 var expressions = new java.util.ArrayList[String]() Do:
 var expressions: java.util.List[String] = new java.util.ArrayList[]() Type inference for local variables on the stack is fine.
 Use strict visibility. Avoid Scala’s package private features (such as private[flink]) and use regular private/protected instead. Keep in mind that private[flink] and protected members are public in Java. Keep in mind that private[flink] still exposes all members in Flink provided examples. Coding Formatting # Use line wrapping to structure your code.
-Scala’s functional nature allows for long transformation chains (x.map().map().foreach()). In order to force implementers to structure their code, the line length is therefore limited to 100 characters. Use one line per transformation for better maintainability. `}),e.add({id:274,href:"/flink-packages/",title:"flink-packages.org",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is the Flink Kubernetes Operator? # All information on the flink-packages can b [...]
-`}),e.add({id:275,href:"/material/",title:"Material",section:"Apache Flink® — Stateful Computations over Data Streams",content:` Material # Apache Flink Logos # We provide the Apache Flink logo in different sizes and formats. You can download all variants (7.4 MB) or just pick the one you need from this page.
+Scala’s functional nature allows for long transformation chains (x.map().map().foreach()). In order to force implementers to structure their code, the line length is therefore limited to 100 characters. Use one line per transformation for better maintainability. `}),e.add({id:275,href:"/flink-packages/",title:"flink-packages.org",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is the Flink Kubernetes Operator? # All information on the flink-packages can b [...]
+`}),e.add({id:276,href:"/material/",title:"Material",section:"Apache Flink® — Stateful Computations over Data Streams",content:` Material # Apache Flink Logos # We provide the Apache Flink logo in different sizes and formats. You can download all variants (7.4 MB) or just pick the one you need from this page.
 Portable Network Graphics (PNG) # Colored logo White filled logo Black outline logo Sizes (px) 50x50, 100x100, 200x200, 500x500, 1000x1000 Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000
 Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000 You can find more variants of the logo in this directory or download all variants (7.4 MB).
 Scalable Vector Graphics (SVG) # Colored logo White filled logo Black outline logo Colored logo with black text (color_black.svg) White filled logo (white_filled.svg) Black outline logo (black_outline.svg) You can find more variants of the logo in this directory or download all variants (7.4 MB).
 Photoshop (PSD) # You can download the logo in PSD format as well:
 Colored logo: 1000x1000. Black outline logo with text: 1000x1000, 5000x5000. You can find more variants of the logo in this directory or download all variants (7.4 MB).
 Color Scheme # You can use the provided color scheme which incorporates some colors of the Flink logo:
-PDF color scheme Powerpoint color scheme `}),e.add({id:276,href:"/what-is-flink-ml/",title:"What is Flink ML?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is Stateful Functions? # All information on Flink ML can be found on the Flink ML website.
-`}),e.add({id:277,href:"/what-is-flink-table-store/",title:"What is Paimon(incubating) (formerly Flink Table Store)?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is Apache Paimon (formerly Flink Table Store)? # The Flink Table Store had joined Apache Incubator as Apache Paimon(incubating). All information on the Apache Paimon(incubating) can be found on the Paimon website.
-`}),e.add({id:278,href:"/what-is-stateful-functions/",title:"What is Stateful Functions?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is Stateful Functions? # All information on Stateful Functions can be found on the Stateful Functions project website.
-`}),e.add({id:279,href:"/what-is-the-flink-kubernetes-operator/",title:"What is the Flink Kubernetes Operator?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is the Flink Kubernetes Operator? # All information on the Flink Kubernetes Operator can be found on the Flink Kubernetes Operator website.
+PDF color scheme Powerpoint color scheme `}),e.add({id:277,href:"/what-is-flink-ml/",title:"What is Flink ML?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is Stateful Functions? # All information on Flink ML can be found on the Flink ML website.
+`}),e.add({id:278,href:"/what-is-flink-table-store/",title:"What is Paimon(incubating) (formerly Flink Table Store)?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is Apache Paimon (formerly Flink Table Store)? # The Flink Table Store had joined Apache Incubator as Apache Paimon(incubating). All information on the Apache Paimon(incubating) can be found on the Paimon website.
+`}),e.add({id:279,href:"/what-is-stateful-functions/",title:"What is Stateful Functions?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is Stateful Functions? # All information on Stateful Functions can be found on the Stateful Functions project website.
+`}),e.add({id:280,href:"/what-is-the-flink-kubernetes-operator/",title:"What is the Flink Kubernetes Operator?",section:"Apache Flink® — Stateful Computations over Data Streams",content:` What is the Flink Kubernetes Operator? # All information on the Flink Kubernetes Operator can be found on the Flink Kubernetes Operator website.
 `})})()
\ No newline at end of file
diff --git a/content/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js b/content/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js
similarity index 84%
rename from content/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js
rename to content/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js
index 0c8550062..f0cb9cf04 100644
--- a/content/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js
+++ b/content/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js
@@ -1 +1 @@
-"use strict";(function(){const e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",i);function i(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!a(n))return;e.focus(),t.preventDefault()}function a(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener(" [...]
\ No newline at end of file
+"use strict";(function(){const e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",i);function i(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!a(n))return;e.focus(),t.preventDefault()}function a(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener(" [...]
\ No newline at end of file
diff --git a/content/en/sitemap.xml b/content/en/sitemap.xml
index 6ff2ed959..c7b506037 100644
--- a/content/en/sitemap.xml
+++ b/content/en/sitemap.xml
@@ -3,7 +3,7 @@
   xmlns:xhtml="http://www.w3.org/1999/xhtml">
   <url>
     <loc>https://flink.apache.org/posts/</loc>
-    <lastmod>2024-03-21T18:00:00+00:00</lastmod>
+    <lastmod>2024-05-17T08:00:00+00:00</lastmod>
   </url><url>
     <loc>https://flink.apache.org/what-is-flink/flink-architecture/</loc>
     <xhtml:link
@@ -461,11 +461,11 @@
                 href="https://flink.apache.org/how-to-contribute/getting-help/"
                 />
   </url><url>
-    <loc>https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/</loc>
-    <lastmod>2024-03-21T18:00:00+00:00</lastmod>
+    <loc>https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/</loc>
+    <lastmod>2024-05-17T08:00:00+00:00</lastmod>
   </url><url>
     <loc>https://flink.apache.org/</loc>
-    <lastmod>2024-03-21T18:00:00+00:00</lastmod>
+    <lastmod>2024-05-17T08:00:00+00:00</lastmod>
     <xhtml:link
                 rel="alternate"
                 hreflang="zh"
@@ -476,6 +476,9 @@
                 hreflang="en"
                 href="https://flink.apache.org/"
                 />
+  </url><url>
+    <loc>https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/</loc>
+    <lastmod>2024-03-21T18:00:00+00:00</lastmod>
   </url><url>
     <loc>https://flink.apache.org/2024/03/18/announcing-the-release-of-apache-flink-1.19/</loc>
     <lastmod>2024-03-18T08:00:00+00:00</lastmod>
diff --git a/content/flink-packages/index.html b/content/flink-packages/index.html
index f0dd2167f..d6adcd4ca 100644
--- a/content/flink-packages/index.html
+++ b/content/flink-packages/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/flink-packages/" title="flink-packages.org">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/getting-started/index.html b/content/getting-started/index.html
index f7dc5da92..7dca1a29f 100644
--- a/content/getting-started/index.html
+++ b/content/getting-started/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/" title="教程">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/getting-started/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/getting-started/training-course/index.html b/content/getting-started/training-course/index.html
index 0af3f61b1..06c8eceec 100644
--- a/content/getting-started/training-course/index.html
+++ b/content/getting-started/training-course/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/training-course/" title="Training Course">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/getting-started/with-flink-cdc/index.html b/content/getting-started/with-flink-cdc/index.html
index f54ed3aaf..6227c7e2b 100644
--- a/content/getting-started/with-flink-cdc/index.html
+++ b/content/getting-started/with-flink-cdc/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/with-flink-cdc/" title="With Flink CDC">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/getting-started/with-flink-kubernetes-operator/index.html b/content/getting-started/with-flink-kubernetes-operator/index.html
index 90aee4005..0a50961f9 100644
--- a/content/getting-started/with-flink-kubernetes-operator/index.html
+++ b/content/getting-started/with-flink-kubernetes-operator/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/with-flink-kubernetes-operator/" title="With Flink Kubernetes Operator">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/getting-started/with-flink-ml/index.html b/content/getting-started/with-flink-ml/index.html
index fe7ad1796..a80c7eef7 100644
--- a/content/getting-started/with-flink-ml/index.html
+++ b/content/getting-started/with-flink-ml/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/with-flink-ml/" title="With Flink ML">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/getting-started/with-flink-stateful-functions/index.html b/content/getting-started/with-flink-stateful-functions/index.html
index 5bb8922ed..4363c5e1e 100644
--- a/content/getting-started/with-flink-stateful-functions/index.html
+++ b/content/getting-started/with-flink-stateful-functions/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/with-flink-stateful-functions/" title="With Flink Stateful Functions">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/getting-started/with-flink/index.html b/content/getting-started/with-flink/index.html
index d6b042430..161a3e6a4 100644
--- a/content/getting-started/with-flink/index.html
+++ b/content/getting-started/with-flink/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/getting-started/with-flink/" title="With Flink">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/code-style-and-quality-common/index.html b/content/how-to-contribute/code-style-and-quality-common/index.html
index 41ee8bf03..40fa2991c 100644
--- a/content/how-to-contribute/code-style-and-quality-common/index.html
+++ b/content/how-to-contribute/code-style-and-quality-common/index.html
@@ -30,7 +30,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-common/" title="Code Style and Quality Guide — Common Rules">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -472,33 +472,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Common Rules
   <a class="anchor" href="#code-style-and-quality-guide--common-rules">#</a>
 </h1>
-<h4 id="preamblehahahugoshortcode53s0hbhb">
+<h4 id="preamblehahahugoshortcode54s0hbhb">
   <a href="/how-to-contribute/code-style-and-quality-preamble/">Preamble</a>
-  <a class="anchor" href="#preamblehahahugoshortcode53s0hbhb">#</a>
+  <a class="anchor" href="#preamblehahahugoshortcode54s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode53s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode54s1hbhb">
   <a href="/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode53s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode54s1hbhb">#</a>
 </h4>
-<h4 id="common-coding-guidehahahugoshortcode53s2hbhb">
+<h4 id="common-coding-guidehahahugoshortcode54s2hbhb">
   <a href="/how-to-contribute/code-style-and-quality-common/">Common Coding Guide</a>
-  <a class="anchor" href="#common-coding-guidehahahugoshortcode53s2hbhb">#</a>
+  <a class="anchor" href="#common-coding-guidehahahugoshortcode54s2hbhb">#</a>
 </h4>
-<h4 id="java-language-guidehahahugoshortcode53s3hbhb">
+<h4 id="java-language-guidehahahugoshortcode54s3hbhb">
   <a href="/how-to-contribute/code-style-and-quality-java/">Java Language Guide</a>
-  <a class="anchor" href="#java-language-guidehahahugoshortcode53s3hbhb">#</a>
+  <a class="anchor" href="#java-language-guidehahahugoshortcode54s3hbhb">#</a>
 </h4>
-<h4 id="scala-language-guidehahahugoshortcode53s4hbhb">
+<h4 id="scala-language-guidehahahugoshortcode54s4hbhb">
   <a href="/how-to-contribute/code-style-and-quality-scala/">Scala Language Guide</a>
-  <a class="anchor" href="#scala-language-guidehahahugoshortcode53s4hbhb">#</a>
+  <a class="anchor" href="#scala-language-guidehahahugoshortcode54s4hbhb">#</a>
 </h4>
-<h4 id="components-guidehahahugoshortcode53s5hbhb">
+<h4 id="components-guidehahahugoshortcode54s5hbhb">
   <a href="/how-to-contribute/code-style-and-quality-components/">Components Guide</a>
-  <a class="anchor" href="#components-guidehahahugoshortcode53s5hbhb">#</a>
+  <a class="anchor" href="#components-guidehahahugoshortcode54s5hbhb">#</a>
 </h4>
-<h4 id="formatting-guidehahahugoshortcode53s6hbhb">
+<h4 id="formatting-guidehahahugoshortcode54s6hbhb">
   <a href="/how-to-contribute/code-style-and-quality-formatting/">Formatting Guide</a>
-  <a class="anchor" href="#formatting-guidehahahugoshortcode53s6hbhb">#</a>
+  <a class="anchor" href="#formatting-guidehahahugoshortcode54s6hbhb">#</a>
 </h4>
 <hr>
 <h2 id="1-copyright">
diff --git a/content/how-to-contribute/code-style-and-quality-components/index.html b/content/how-to-contribute/code-style-and-quality-components/index.html
index ef714b32d..3deadc7f4 100644
--- a/content/how-to-contribute/code-style-and-quality-components/index.html
+++ b/content/how-to-contribute/code-style-and-quality-components/index.html
@@ -32,7 +32,7 @@ Configuration Changes # Where should the config option go?
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-components/" title="Apache Flink 代码样式和质量指南 — 组件">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -474,33 +474,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Components Guide
   <a class="anchor" href="#code-style-and-quality-guide--components-guide">#</a>
 </h1>
-<h4 id="preamblehahahugoshortcode56s0hbhb">
+<h4 id="preamblehahahugoshortcode57s0hbhb">
   <a href="/how-to-contribute/code-style-and-quality-preamble/">Preamble</a>
-  <a class="anchor" href="#preamblehahahugoshortcode56s0hbhb">#</a>
+  <a class="anchor" href="#preamblehahahugoshortcode57s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode56s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode57s1hbhb">
   <a href="/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode56s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode57s1hbhb">#</a>
 </h4>
-<h4 id="common-coding-guidehahahugoshortcode56s2hbhb">
+<h4 id="common-coding-guidehahahugoshortcode57s2hbhb">
   <a href="/how-to-contribute/code-style-and-quality-common/">Common Coding Guide</a>
-  <a class="anchor" href="#common-coding-guidehahahugoshortcode56s2hbhb">#</a>
+  <a class="anchor" href="#common-coding-guidehahahugoshortcode57s2hbhb">#</a>
 </h4>
-<h4 id="java-language-guidehahahugoshortcode56s3hbhb">
+<h4 id="java-language-guidehahahugoshortcode57s3hbhb">
   <a href="/how-to-contribute/code-style-and-quality-java/">Java Language Guide</a>
-  <a class="anchor" href="#java-language-guidehahahugoshortcode56s3hbhb">#</a>
+  <a class="anchor" href="#java-language-guidehahahugoshortcode57s3hbhb">#</a>
 </h4>
-<h4 id="scala-language-guidehahahugoshortcode56s4hbhb">
+<h4 id="scala-language-guidehahahugoshortcode57s4hbhb">
   <a href="/how-to-contribute/code-style-and-quality-scala/">Scala Language Guide</a>
-  <a class="anchor" href="#scala-language-guidehahahugoshortcode56s4hbhb">#</a>
+  <a class="anchor" href="#scala-language-guidehahahugoshortcode57s4hbhb">#</a>
 </h4>
-<h4 id="components-guidehahahugoshortcode56s5hbhb">
+<h4 id="components-guidehahahugoshortcode57s5hbhb">
   <a href="/how-to-contribute/code-style-and-quality-components/">Components Guide</a>
-  <a class="anchor" href="#components-guidehahahugoshortcode56s5hbhb">#</a>
+  <a class="anchor" href="#components-guidehahahugoshortcode57s5hbhb">#</a>
 </h4>
-<h4 id="formatting-guidehahahugoshortcode56s6hbhb">
+<h4 id="formatting-guidehahahugoshortcode57s6hbhb">
   <a href="/how-to-contribute/code-style-and-quality-formatting/">Formatting Guide</a>
-  <a class="anchor" href="#formatting-guidehahahugoshortcode56s6hbhb">#</a>
+  <a class="anchor" href="#formatting-guidehahahugoshortcode57s6hbhb">#</a>
 </h4>
 <h2 id="component-specific-guidelines">
   Component Specific Guidelines
diff --git a/content/how-to-contribute/code-style-and-quality-formatting/index.html b/content/how-to-contribute/code-style-and-quality-formatting/index.html
index f514791aa..7a7b4176f 100644
--- a/content/how-to-contribute/code-style-and-quality-formatting/index.html
+++ b/content/how-to-contribute/code-style-and-quality-formatting/index.html
@@ -30,7 +30,7 @@ License # Apache license headers." />
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-formatting/" title="Code Style and Quality Guide — Formatting Guide">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -472,33 +472,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Formatting Guide
   <a class="anchor" href="#code-style-and-quality-guide--formatting-guide">#</a>
 </h1>
-<h4 id="preamblehahahugoshortcode59s0hbhb">
+<h4 id="preamblehahahugoshortcode56s0hbhb">
   <a href="/how-to-contribute/code-style-and-quality-preamble/">Preamble</a>
-  <a class="anchor" href="#preamblehahahugoshortcode59s0hbhb">#</a>
+  <a class="anchor" href="#preamblehahahugoshortcode56s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode59s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode56s1hbhb">
   <a href="/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode59s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode56s1hbhb">#</a>
 </h4>
-<h4 id="common-coding-guidehahahugoshortcode59s2hbhb">
+<h4 id="common-coding-guidehahahugoshortcode56s2hbhb">
   <a href="/how-to-contribute/code-style-and-quality-common/">Common Coding Guide</a>
-  <a class="anchor" href="#common-coding-guidehahahugoshortcode59s2hbhb">#</a>
+  <a class="anchor" href="#common-coding-guidehahahugoshortcode56s2hbhb">#</a>
 </h4>
-<h4 id="java-language-guidehahahugoshortcode59s3hbhb">
+<h4 id="java-language-guidehahahugoshortcode56s3hbhb">
   <a href="/how-to-contribute/code-style-and-quality-java/">Java Language Guide</a>
-  <a class="anchor" href="#java-language-guidehahahugoshortcode59s3hbhb">#</a>
+  <a class="anchor" href="#java-language-guidehahahugoshortcode56s3hbhb">#</a>
 </h4>
-<h4 id="scala-language-guidehahahugoshortcode59s4hbhb">
+<h4 id="scala-language-guidehahahugoshortcode56s4hbhb">
   <a href="/how-to-contribute/code-style-and-quality-scala/">Scala Language Guide</a>
-  <a class="anchor" href="#scala-language-guidehahahugoshortcode59s4hbhb">#</a>
+  <a class="anchor" href="#scala-language-guidehahahugoshortcode56s4hbhb">#</a>
 </h4>
-<h4 id="components-guidehahahugoshortcode59s5hbhb">
+<h4 id="components-guidehahahugoshortcode56s5hbhb">
   <a href="/how-to-contribute/code-style-and-quality-components/">Components Guide</a>
-  <a class="anchor" href="#components-guidehahahugoshortcode59s5hbhb">#</a>
+  <a class="anchor" href="#components-guidehahahugoshortcode56s5hbhb">#</a>
 </h4>
-<h4 id="formatting-guidehahahugoshortcode59s6hbhb">
+<h4 id="formatting-guidehahahugoshortcode56s6hbhb">
   <a href="/how-to-contribute/code-style-and-quality-formatting/">Formatting Guide</a>
-  <a class="anchor" href="#formatting-guidehahahugoshortcode59s6hbhb">#</a>
+  <a class="anchor" href="#formatting-guidehahahugoshortcode56s6hbhb">#</a>
 </h4>
 <h2 id="java-code-formatting-style">
   Java Code Formatting Style
diff --git a/content/how-to-contribute/code-style-and-quality-java/index.html b/content/how-to-contribute/code-style-and-quality-java/index.html
index 32ac47635..5d3088291 100644
--- a/content/how-to-contribute/code-style-and-quality-java/index.html
+++ b/content/how-to-contribute/code-style-and-quality-java/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-java/" title="Code Style and Quality Guide — Java">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -470,33 +470,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Java
   <a class="anchor" href="#code-style-and-quality-guide--java">#</a>
 </h1>
-<h4 id="preamblehahahugoshortcode61s0hbhb">
+<h4 id="preamblehahahugoshortcode59s0hbhb">
   <a href="/how-to-contribute/code-style-and-quality-preamble/">Preamble</a>
-  <a class="anchor" href="#preamblehahahugoshortcode61s0hbhb">#</a>
+  <a class="anchor" href="#preamblehahahugoshortcode59s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode61s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode59s1hbhb">
   <a href="/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode61s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode59s1hbhb">#</a>
 </h4>
-<h4 id="common-coding-guidehahahugoshortcode61s2hbhb">
+<h4 id="common-coding-guidehahahugoshortcode59s2hbhb">
   <a href="/how-to-contribute/code-style-and-quality-common/">Common Coding Guide</a>
-  <a class="anchor" href="#common-coding-guidehahahugoshortcode61s2hbhb">#</a>
+  <a class="anchor" href="#common-coding-guidehahahugoshortcode59s2hbhb">#</a>
 </h4>
-<h4 id="java-language-guidehahahugoshortcode61s3hbhb">
+<h4 id="java-language-guidehahahugoshortcode59s3hbhb">
   <a href="/how-to-contribute/code-style-and-quality-java/">Java Language Guide</a>
-  <a class="anchor" href="#java-language-guidehahahugoshortcode61s3hbhb">#</a>
+  <a class="anchor" href="#java-language-guidehahahugoshortcode59s3hbhb">#</a>
 </h4>
-<h4 id="scala-language-guidehahahugoshortcode61s4hbhb">
+<h4 id="scala-language-guidehahahugoshortcode59s4hbhb">
   <a href="/how-to-contribute/code-style-and-quality-scala/">Scala Language Guide</a>
-  <a class="anchor" href="#scala-language-guidehahahugoshortcode61s4hbhb">#</a>
+  <a class="anchor" href="#scala-language-guidehahahugoshortcode59s4hbhb">#</a>
 </h4>
-<h4 id="components-guidehahahugoshortcode61s5hbhb">
+<h4 id="components-guidehahahugoshortcode59s5hbhb">
   <a href="/how-to-contribute/code-style-and-quality-components/">Components Guide</a>
-  <a class="anchor" href="#components-guidehahahugoshortcode61s5hbhb">#</a>
+  <a class="anchor" href="#components-guidehahahugoshortcode59s5hbhb">#</a>
 </h4>
-<h4 id="formatting-guidehahahugoshortcode61s6hbhb">
+<h4 id="formatting-guidehahahugoshortcode59s6hbhb">
   <a href="/how-to-contribute/code-style-and-quality-formatting/">Formatting Guide</a>
-  <a class="anchor" href="#formatting-guidehahahugoshortcode61s6hbhb">#</a>
+  <a class="anchor" href="#formatting-guidehahahugoshortcode59s6hbhb">#</a>
 </h4>
 <h2 id="java-language-features-and-libraries">
   Java Language Features and Libraries
diff --git a/content/how-to-contribute/code-style-and-quality-preamble/index.html b/content/how-to-contribute/code-style-and-quality-preamble/index.html
index a82a09d81..ca8c77a8b 100644
--- a/content/how-to-contribute/code-style-and-quality-preamble/index.html
+++ b/content/how-to-contribute/code-style-and-quality-preamble/index.html
@@ -30,7 +30,7 @@ A code contribution (or any piece of code) can be evaluated in various ways: One
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-preamble/" title="代码样式与质量指南">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -472,33 +472,33 @@ https://github.com/alex-shpak/hugo-book
   Apache Flink Code Style and Quality Guide
   <a class="anchor" href="#apache-flink-code-style-and-quality-guide">#</a>
 </h1>
-<h4 id="preamblehahahugoshortcode63s0hbhb">
+<h4 id="preamblehahahugoshortcode60s0hbhb">
   <a href="/how-to-contribute/code-style-and-quality-preamble/">Preamble</a>
-  <a class="anchor" href="#preamblehahahugoshortcode63s0hbhb">#</a>
+  <a class="anchor" href="#preamblehahahugoshortcode60s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode63s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode60s1hbhb">
   <a href="/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode63s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode60s1hbhb">#</a>
 </h4>
-<h4 id="common-coding-guidehahahugoshortcode63s2hbhb">
+<h4 id="common-coding-guidehahahugoshortcode60s2hbhb">
   <a href="/how-to-contribute/code-style-and-quality-common/">Common Coding Guide</a>
-  <a class="anchor" href="#common-coding-guidehahahugoshortcode63s2hbhb">#</a>
+  <a class="anchor" href="#common-coding-guidehahahugoshortcode60s2hbhb">#</a>
 </h4>
-<h4 id="java-language-guidehahahugoshortcode63s3hbhb">
+<h4 id="java-language-guidehahahugoshortcode60s3hbhb">
   <a href="/how-to-contribute/code-style-and-quality-java/">Java Language Guide</a>
-  <a class="anchor" href="#java-language-guidehahahugoshortcode63s3hbhb">#</a>
+  <a class="anchor" href="#java-language-guidehahahugoshortcode60s3hbhb">#</a>
 </h4>
-<h4 id="scala-language-guidehahahugoshortcode63s4hbhb">
+<h4 id="scala-language-guidehahahugoshortcode60s4hbhb">
   <a href="/how-to-contribute/code-style-and-quality-scala/">Scala Language Guide</a>
-  <a class="anchor" href="#scala-language-guidehahahugoshortcode63s4hbhb">#</a>
+  <a class="anchor" href="#scala-language-guidehahahugoshortcode60s4hbhb">#</a>
 </h4>
-<h4 id="components-guidehahahugoshortcode63s5hbhb">
+<h4 id="components-guidehahahugoshortcode60s5hbhb">
   <a href="/how-to-contribute/code-style-and-quality-components/">Components Guide</a>
-  <a class="anchor" href="#components-guidehahahugoshortcode63s5hbhb">#</a>
+  <a class="anchor" href="#components-guidehahahugoshortcode60s5hbhb">#</a>
 </h4>
-<h4 id="formatting-guidehahahugoshortcode63s6hbhb">
+<h4 id="formatting-guidehahahugoshortcode60s6hbhb">
   <a href="/how-to-contribute/code-style-and-quality-formatting/">Formatting Guide</a>
-  <a class="anchor" href="#formatting-guidehahahugoshortcode63s6hbhb">#</a>
+  <a class="anchor" href="#formatting-guidehahahugoshortcode60s6hbhb">#</a>
 </h4>
 <hr>
 <p>This is an attempt to capture the code and quality standard that we want to maintain.</p>
diff --git a/content/how-to-contribute/code-style-and-quality-pull-requests/index.html b/content/how-to-contribute/code-style-and-quality-pull-requests/index.html
index 63f97e9c2..804d96e17 100644
--- a/content/how-to-contribute/code-style-and-quality-pull-requests/index.html
+++ b/content/how-to-contribute/code-style-and-quality-pull-requests/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-pull-requests/" title="Code Style and Quality Guide — Pull Requests & Changes">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/code-style-and-quality-scala/index.html b/content/how-to-contribute/code-style-and-quality-scala/index.html
index c97f09420..464696041 100644
--- a/content/how-to-contribute/code-style-and-quality-scala/index.html
+++ b/content/how-to-contribute/code-style-and-quality-scala/index.html
@@ -30,7 +30,7 @@ We do not use Scala in the core APIs and runtime components. We aim to remove ex
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/code-style-and-quality-scala/" title="Code Style and Quality Guide — Scala">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/contribute-code/index.html b/content/how-to-contribute/contribute-code/index.html
index 2d671245f..3b0a4b38c 100644
--- a/content/how-to-contribute/contribute-code/index.html
+++ b/content/how-to-contribute/contribute-code/index.html
@@ -30,7 +30,7 @@ Please feel free to ask questions at any time. Either send a mail to the Dev mai
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/contribute-code/" title="贡献代码">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/contribute-documentation/index.html b/content/how-to-contribute/contribute-documentation/index.html
index 5c2964153..c1087d51e 100644
--- a/content/how-to-contribute/contribute-documentation/index.html
+++ b/content/how-to-contribute/contribute-documentation/index.html
@@ -30,7 +30,7 @@ Obtain the documentation sources # Apache Flink&rsquo;s documentation is maintai
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/contribute-documentation/" title="贡献文档">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/documentation-style-guide/index.html b/content/how-to-contribute/documentation-style-guide/index.html
index 0dc6a7118..3fc745814 100644
--- a/content/how-to-contribute/documentation-style-guide/index.html
+++ b/content/how-to-contribute/documentation-style-guide/index.html
@@ -30,7 +30,7 @@ Language # The Flink documentation is maintained in US English and Chinese — w
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/documentation-style-guide/" title="文档样式指南">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/getting-help/index.html b/content/how-to-contribute/getting-help/index.html
index 8ffbf02ed..830c04690 100644
--- a/content/how-to-contribute/getting-help/index.html
+++ b/content/how-to-contribute/getting-help/index.html
@@ -32,7 +32,7 @@ Before posting to the mailing list, you can search the mailing list archives for
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/getting-help/" title="获取帮助">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/improve-website/index.html b/content/how-to-contribute/improve-website/index.html
index 4c0a34185..67ce810a9 100644
--- a/content/how-to-contribute/improve-website/index.html
+++ b/content/how-to-contribute/improve-website/index.html
@@ -32,7 +32,7 @@ Obtain the website sources # The website of Apache Flink is hosted in a dedicate
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/improve-website/" title="贡献网站">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/index.html b/content/how-to-contribute/index.html
index 793a587b0..f6177f9e5 100644
--- a/content/how-to-contribute/index.html
+++ b/content/how-to-contribute/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/" title="How to Contribute">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/how-to-contribute/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/how-to-contribute/overview/index.html b/content/how-to-contribute/overview/index.html
index 7322c5955..fedd7928c 100644
--- a/content/how-to-contribute/overview/index.html
+++ b/content/how-to-contribute/overview/index.html
@@ -30,7 +30,7 @@ What do you want to do?" />
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/overview/" title="如何参与贡献">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/how-to-contribute/reviewing-prs/index.html b/content/how-to-contribute/reviewing-prs/index.html
index 6dc19a102..1f34c5ba5 100644
--- a/content/how-to-contribute/reviewing-prs/index.html
+++ b/content/how-to-contribute/reviewing-prs/index.html
@@ -30,7 +30,7 @@ Contributors have a good contribution experience. Our reviews are structured and
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/how-to-contribute/reviewing-prs/" title="审核 Pull Request">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/index.html b/content/index.html
index 84bc32a53..330d99f80 100644
--- a/content/index.html
+++ b/content/index.html
@@ -15,7 +15,7 @@
 
   <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="description" content="Recent Flink blogs Apache Flink Kubernetes Operator 1.8.0 Release Announcement March 21, 2024 - Maximilian Michels. Gyula Fora. Rui Fan. The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0! The release includes many improvements to the operator core, the autoscaler, and introduces new … Continue reading Announcing the Release of Apache Flink 1.19 March 18, 2024 - Lincoln Lee. The Apache Flink PMC is pleased to [...]
+<meta name="description" content="Recent Flink blogs Apache Flink CDC 3.1.0 Release Announcement May 17, 2024 - Qingsheng Ren. The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, … Continue reading Apache Flink Kubernetes Operator 1.8.0 Release Announcement March 21, 2024 - Maximilian Michels. Gyula Fora. Rui Fan. The Apache Flink community is e [...]
 <meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink® — Stateful Computations over Data Streams" />
 <meta property="og:description" content="" />
 <meta property="og:type" content="website" />
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/" title="Apache Flink Documentation">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -623,6 +623,22 @@ under the License.
   <div class="wrapper">
     
         
+          <div class="card">
+            <div class="heading">Apache Flink CDC 3.1.0 Release Announcement</div>
+            <div class="body">
+                <p>
+                  May 17, 2024 - 
+                  
+                    Qingsheng Ren.
+                  
+                </p>
+                <p class="truncate">
+                  The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, …
+                </p>
+                <a href="/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Continue reading</a>
+            </div>
+          </div>
+        
           <div class="card">
             <div class="heading">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</div>
             <div class="body">
@@ -660,23 +676,6 @@ The release includes many improvements to the operator core, the autoscaler, and
             </div>
           </div>
         
-          <div class="card">
-            <div class="heading">Apache Flink 1.18.1 Release Announcement</div>
-            <div class="body">
-                <p>
-                  January 19, 2024 - 
-                  
-                    Jing Ge.
-                  
-                </p>
-                <p class="truncate">
-                  The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.18 series.
-This release includes 47 bug fixes, vulnerability fixes, and minor improvements for Flink 1.18. …
-                </p>
-                <a href="/2024/01/19/apache-flink-1.18.1-release-announcement/">Continue reading</a>
-            </div>
-          </div>
-        
     
         
     
diff --git a/content/index.xml b/content/index.xml
index e2c352fa9..ca56ef566 100644
--- a/content/index.xml
+++ b/content/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Apache Flink® — Stateful Computations over Data Streams on Apache Flink</description>
     <generator>Hugo -- gohugo.io</generator>
     <language>en</language>
-    <lastBuildDate>Thu, 21 Mar 2024 18:00:00 +0000</lastBuildDate>
+    <lastBuildDate>Fri, 17 May 2024 08:00:00 +0000</lastBuildDate>
     <atom:link href="https://flink.apache.org/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Architecture</title>
@@ -246,6 +246,13 @@
       <guid>https://flink.apache.org/how-to-contribute/getting-help/</guid>
       <description>Getting Help # Having a Question? # The Apache Flink community answers many user questions every day. You can search for answers and advice in the archives or reach out to the community for help and guidance.&#xA;User Mailing List # Many Flink users, contributors, and committers are subscribed to Flink&amp;rsquo;s user mailing list. The user mailing list is a very good place to ask for help.&#xA;Before posting to the mailing list, you can search the mailing list archiv [...]
     </item>
+    <item>
+      <title>Apache Flink CDC 3.1.0 Release Announcement</title>
+      <link>https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/</link>
+      <pubDate>Fri, 17 May 2024 08:00:00 +0000</pubDate>
+      <guid>https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/</guid>
+      <description>The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.&#xA;We&amp;rsquo;d like to invite you to check out Flink CDC documentation and ha [...]
+    </item>
     <item>
       <title>Apache Flink Kubernetes Operator 1.8.0 Release Announcement</title>
       <link>https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/</link>
diff --git a/content/material/index.html b/content/material/index.html
index 3dcc2569d..ea590be3c 100644
--- a/content/material/index.html
+++ b/content/material/index.html
@@ -32,7 +32,7 @@ Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000 You can find more varian
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/material/" title="素材">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/news/2024/05/17/release-cdc-3.1.0.html b/content/news/2024/05/17/release-cdc-3.1.0.html
new file mode 100644
index 000000000..095a83477
--- /dev/null
+++ b/content/news/2024/05/17/release-cdc-3.1.0.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/</title>
+    <link rel="canonical" href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">
+    <meta name="robots" content="noindex">
+    <meta charset="utf-8">
+    <meta http-equiv="refresh" content="0; url=https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">
+  </head>
+</html>
diff --git a/content/posts/index.html b/content/posts/index.html
index a657026e2..c48b0be3f 100644
--- a/content/posts/index.html
+++ b/content/posts/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,32 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </h3>
+    
+
+
+  May 17, 2024 -
+
+
+
+  Qingsheng Ren
+
+  <a href="https://twitter.com/renqstuite">(@renqstuite)</a>
+  
+
+
+
+    <p>The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.
+We&rsquo;d like to invite you to check out Flink CDC documentation and have a try on the quickstart tutorial to explore the world of Flink CDC.
+        <a href="/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
@@ -738,33 +764,6 @@ The binary distribution and source artifacts are now available on the updated Do
     <a href="/2023/09/19/stateful-functions-3.3.0-release-announcement/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Apache Flink Kubernetes Operator 1.6.0 Release Announcement</a>
-    </h3>
-    
-
-
-  August 15, 2023 -
-
-
-
-  Gyula Fora
-
-  <a href="https://twitter.com/GyulaFora">(@GyulaFora)</a>
-  
-
-
-
-    <p>The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.6.0! The release features a large number of improvements all across the operator.
-We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
-Highlights # Improved and simplified rollback mechanism # Previously the rollback mechanism had some serious limitations always requiring the presence of HA metadata.
-        <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">...</a>
-      
-    </p>
-    <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -810,6 +809,10 @@ Highlights # Improved and simplified rollback mechanism # Previously the rollbac
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/index.xml b/content/posts/index.xml
index a16ec27da..1adfd51de 100644
--- a/content/posts/index.xml
+++ b/content/posts/index.xml
@@ -6,8 +6,15 @@
     <description>Recent content in Flink Blog on Apache Flink</description>
     <generator>Hugo -- gohugo.io</generator>
     <language>en</language>
-    <lastBuildDate>Thu, 21 Mar 2024 18:00:00 +0000</lastBuildDate>
+    <lastBuildDate>Fri, 17 May 2024 08:00:00 +0000</lastBuildDate>
     <atom:link href="https://flink.apache.org/posts/index.xml" rel="self" type="application/rss+xml" />
+    <item>
+      <title>Apache Flink CDC 3.1.0 Release Announcement</title>
+      <link>https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/</link>
+      <pubDate>Fri, 17 May 2024 08:00:00 +0000</pubDate>
+      <guid>https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/</guid>
+      <description>The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, with exciting new features such as transform and table merging. The eco-system of Flink CDC keeps expanding, including new Kafka and Paimon pipeline sinks and enhancement to existing connectors.&#xA;We&amp;rsquo;d like to invite you to check out Flink CDC documentation and ha [...]
+    </item>
     <item>
       <title>Apache Flink Kubernetes Operator 1.8.0 Release Announcement</title>
       <link>https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/</link>
diff --git a/content/posts/page/10/index.html b/content/posts/page/10/index.html
index 132aaee0e..ed18ea9d1 100644
--- a/content/posts/page/10/index.html
+++ b/content/posts/page/10/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,29 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">Using RocksDB State Backend in Apache Flink: When and How</a>
+    </h3>
+    
+
+
+  January 18, 2021 -
+
+
+
+  Jun Qin
+
+
+
+
+    <p>Stream processing applications are often stateful, “remembering” information from processed events and using it to influence further event processing. In Flink, the remembered information, i.e., state, is stored locally in the configured state backend. To prevent data loss in case of failures, the state backend periodically persists a snapshot of its contents to a pre-configured durable storage. The RocksDB state backend (i.e., RocksDBStateBackend) is one of the three built-in sta [...]
+        <a href="/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">...</a>
+      
+    </p>
+    <a href="/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/">Exploring fine-grained recovery of bounded data sets on Flink</a>
@@ -707,36 +730,6 @@ Despite all these great properties, Flink&rsquo;s checkpointing method has an Ac
     <a href="/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2020/09/28/stateful-functions-2.2.0-release-announcement/">Stateful Functions 2.2.0 Release Announcement</a>
-    </h3>
-    
-
-
-  September 28, 2020 -
-
-
-
-  Tzu-Li (Gordon) Tai
-
-  <a href="https://twitter.com/tzulitai">(@tzulitai)</a>
-  
-
-  Igal Shilman
-
-  <a href="https://twitter.com/IgalShilman">(@IgalShilman)</a>
-  
-
-
-
-    <p>The Apache Flink community is happy to announce the release of Stateful Functions (StateFun) 2.2.0! This release introduces major features that extend the SDKs, such as support for asynchronous functions in the Python SDK, new persisted state constructs, and a new SDK that allows embedding StateFun functions within a Flink DataStream job. Moreover, we&rsquo;ve also included important changes that improve out-of-the-box stability for common workloads, as well as increased observabi [...]
-        <a href="/2020/09/28/stateful-functions-2.2.0-release-announcement/">...</a>
-      
-    </p>
-    <a href="/2020/09/28/stateful-functions-2.2.0-release-announcement/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -782,6 +775,10 @@ Despite all these great properties, Flink&rsquo;s checkpointing method has an Ac
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/11/index.html b/content/posts/page/11/index.html
index 84a76bfe8..aa7b21e74 100644
--- a/content/posts/page/11/index.html
+++ b/content/posts/page/11/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,36 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2020/09/28/stateful-functions-2.2.0-release-announcement/">Stateful Functions 2.2.0 Release Announcement</a>
+    </h3>
+    
+
+
+  September 28, 2020 -
+
+
+
+  Tzu-Li (Gordon) Tai
+
+  <a href="https://twitter.com/tzulitai">(@tzulitai)</a>
+  
+
+  Igal Shilman
+
+  <a href="https://twitter.com/IgalShilman">(@IgalShilman)</a>
+  
+
+
+
+    <p>The Apache Flink community is happy to announce the release of Stateful Functions (StateFun) 2.2.0! This release introduces major features that extend the SDKs, such as support for asynchronous functions in the Python SDK, new persisted state constructs, and a new SDK that allows embedding StateFun functions within a Flink DataStream job. Moreover, we&rsquo;ve also included important changes that improve out-of-the-box stability for common workloads, as well as increased observabi [...]
+        <a href="/2020/09/28/stateful-functions-2.2.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2020/09/28/stateful-functions-2.2.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2020/09/17/apache-flink-1.11.2-released/">Apache Flink 1.11.2 Released</a>
@@ -704,33 +734,6 @@ Pic source: VanderPlas 2017, slide 52.
     <a href="/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2020/07/29/flink-community-update-july20/">Flink Community Update - July&#39;20</a>
-    </h3>
-    
-
-
-  July 29, 2020 -
-
-
-
-  Marta Paes
-
-  <a href="https://twitter.com/morsapaes">(@morsapaes)</a>
-  
-
-
-
-    <p>As July draws to an end, we look back at a monthful of activity in the Flink community, including two releases (!) and some work around improving the first-time contribution experience in the project.
-Also, events are starting to pick up again, so we&rsquo;ve put together a list of some great ones you can (virtually) attend in August!
-The Past Month in Flink # Flink Releases # Flink 1.11 # A couple of weeks ago, Flink 1.
-        <a href="/2020/07/29/flink-community-update-july20/">...</a>
-      
-    </p>
-    <a href="/2020/07/29/flink-community-update-july20/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -776,6 +779,10 @@ The Past Month in Flink # Flink Releases # Flink 1.11 # A couple of weeks ago, F
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/12/index.html b/content/posts/page/12/index.html
index 3c4cc9a0a..2737e83d1 100644
--- a/content/posts/page/12/index.html
+++ b/content/posts/page/12/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,33 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2020/07/29/flink-community-update-july20/">Flink Community Update - July&#39;20</a>
+    </h3>
+    
+
+
+  July 29, 2020 -
+
+
+
+  Marta Paes
+
+  <a href="https://twitter.com/morsapaes">(@morsapaes)</a>
+  
+
+
+
+    <p>As July draws to an end, we look back at a monthful of activity in the Flink community, including two releases (!) and some work around improving the first-time contribution experience in the project.
+Also, events are starting to pick up again, so we&rsquo;ve put together a list of some great ones you can (virtually) attend in August!
+The Past Month in Flink # Flink Releases # Flink 1.11 # A couple of weeks ago, Flink 1.
+        <a href="/2020/07/29/flink-community-update-july20/">...</a>
+      
+    </p>
+    <a href="/2020/07/29/flink-community-update-july20/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/">Flink SQL Demo: Building an End-to-End Streaming Application</a>
@@ -698,34 +725,6 @@ To top it off, a piece of good news: Flink Forward is back on October 19-22 as a
     <a href="/2020/06/09/stateful-functions-2.1.0-release-announcement/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2020/05/12/apache-flink-1.10.1-released/">Apache Flink 1.10.1 Released</a>
-    </h3>
-    
-
-
-  May 12, 2020 -
-
-
-
-  Yu Li
-
-  <a href="https://twitter.com/LiyuApache">(@LiyuApache)</a>
-  
-
-
-
-    <p>The Apache Flink community released the first bugfix version of the Apache Flink 1.10 series.
-This release includes 158 fixes and minor improvements for Flink 1.10.0. The list below includes a detailed list of all fixes and improvements.
-We highly recommend all users to upgrade to Flink 1.10.1.
-Note FLINK-16684 changed the builders of the StreamingFileSink to make them compilable in Scala. This change is source compatible but binary incompatible. If using the StreamingFileSink, please recompile your user code against 1.
-        <a href="/2020/05/12/apache-flink-1.10.1-released/">...</a>
-      
-    </p>
-    <a href="/2020/05/12/apache-flink-1.10.1-released/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -771,6 +770,10 @@ Note FLINK-16684 changed the builders of the StreamingFileSink to make them comp
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/13/index.html b/content/posts/page/13/index.html
index 0ccc2baa9..600e9ae5d 100644
--- a/content/posts/page/13/index.html
+++ b/content/posts/page/13/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,34 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2020/05/12/apache-flink-1.10.1-released/">Apache Flink 1.10.1 Released</a>
+    </h3>
+    
+
+
+  May 12, 2020 -
+
+
+
+  Yu Li
+
+  <a href="https://twitter.com/LiyuApache">(@LiyuApache)</a>
+  
+
+
+
+    <p>The Apache Flink community released the first bugfix version of the Apache Flink 1.10 series.
+This release includes 158 fixes and minor improvements for Flink 1.10.0. The list below includes a detailed list of all fixes and improvements.
+We highly recommend all users to upgrade to Flink 1.10.1.
+Note FLINK-16684 changed the builders of the StreamingFileSink to make them compilable in Scala. This change is source compatible but binary incompatible. If using the StreamingFileSink, please recompile your user code against 1.
+        <a href="/2020/05/12/apache-flink-1.10.1-released/">...</a>
+      
+    </p>
+    <a href="/2020/05/12/apache-flink-1.10.1-released/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2020/05/06/flink-community-update-may20/">Flink Community Update - May&#39;20</a>
@@ -700,32 +728,6 @@ Firstly, today’s business is shifting to a more real-time fashion, and thus de
     <a href="/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic</a>
-    </h3>
-    
-
-
-  March 24, 2020 -
-
-
-
-  Alexander Fedulov
-
-  <a href="https://twitter.com/alex_fedulov">(@alex_fedulov)</a>
-  
-
-
-
-    <p>In the first article of the series, we gave a high-level description of the objectives and required functionality of a Fraud Detection engine. We also described how to make data partitioning in Apache Flink customizable based on modifiable rules instead of using a hardcoded KeysExtractor implementation.
-We intentionally omitted details of how the applied rules are initialized and what possibilities exist for updating them at runtime. In this post, we will address exactly these details.
-        <a href="/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">...</a>
-      
-    </p>
-    <a href="/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -771,6 +773,10 @@ We intentionally omitted details of how the applied rules are initialized and wh
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/14/index.html b/content/posts/page/14/index.html
index 4ff3db7ab..730cadc7d 100644
--- a/content/posts/page/14/index.html
+++ b/content/posts/page/14/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,32 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic</a>
+    </h3>
+    
+
+
+  March 24, 2020 -
+
+
+
+  Alexander Fedulov
+
+  <a href="https://twitter.com/alex_fedulov">(@alex_fedulov)</a>
+  
+
+
+
+    <p>In the first article of the series, we gave a high-level description of the objectives and required functionality of a Fraud Detection engine. We also described how to make data partitioning in Apache Flink customizable based on modifiable rules instead of using a hardcoded KeysExtractor implementation.
+We intentionally omitted details of how the applied rules are initialized and what possibilities exist for updating them at runtime. In this post, we will address exactly these details.
+        <a href="/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">...</a>
+      
+    </p>
+    <a href="/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/">Apache Beam: How Beam Runs on Top of Flink</a>
@@ -711,29 +737,6 @@ A short intro to Apache Pulsar # Apache Pulsar is a flexible pub/sub messaging s
     <a href="/2019/11/25/how-to-query-pulsar-streams-using-apache-flink/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">Running Apache Flink on Kubernetes with KUDO</a>
-    </h3>
-    
-
-
-  November 6, 2019 -
-
-
-
-  Gerred Dillon
-
-
-
-
-    <p>A common use case for Apache Flink is streaming data analytics together with Apache Kafka, which provides a pub/sub model and durability for data streams. To achieve elastic scalability, both are typically deployed in clustered environments, and increasingly on top of container orchestration platforms like Kubernetes. The Operator pattern provides an extension mechanism to Kubernetes that captures human operator knowledge about an application, like Flink, in software to automate i [...]
-        <a href="/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">...</a>
-      
-    </p>
-    <a href="/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -779,6 +782,10 @@ A short intro to Apache Pulsar # Apache Pulsar is a flexible pub/sub messaging s
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/15/index.html b/content/posts/page/15/index.html
index 8f82e0905..79e500664 100644
--- a/content/posts/page/15/index.html
+++ b/content/posts/page/15/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,29 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">Running Apache Flink on Kubernetes with KUDO</a>
+    </h3>
+    
+
+
+  November 6, 2019 -
+
+
+
+  Gerred Dillon
+
+
+
+
+    <p>A common use case for Apache Flink is streaming data analytics together with Apache Kafka, which provides a pub/sub model and durability for data streams. To achieve elastic scalability, both are typically deployed in clustered environments, and increasingly on top of container orchestration platforms like Kubernetes. The Operator pattern provides an extension mechanism to Kubernetes that captures human operator knowledge about an application, like Flink, in software to automate i [...]
+        <a href="/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">...</a>
+      
+    </p>
+    <a href="/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2019/10/18/apache-flink-1.9.1-released/">Apache Flink 1.9.1 Released</a>
@@ -704,35 +727,6 @@ What is Broadcast State? # The Broadcast State can be used to combine and jointl
     <a href="/2019/06/05/a-deep-dive-into-flinks-network-stack/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">State TTL in Flink 1.8.0: How to Automatically Cleanup Application State in Apache Flink</a>
-    </h3>
-    
-
-
-  May 17, 2019 -
-
-
-
-  Fabian Hueske
-
-  <a href="https://twitter.com/fhueske">(@fhueske)</a>
-  
-
-  Andrey Zagrebin
-
-
-
-
-    <p>A common requirement for many stateful streaming applications is to automatically cleanup application state for effective management of your state size, or to control how long the application state can be accessed (e.g. due to legal regulations like the GDPR). The state time-to-live (TTL) feature was initiated in Flink 1.6.0 and enabled application state cleanup and efficient state size management in Apache Flink.
-In this post, we motivate the State TTL feature and discuss its use cases.
-        <a href="/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">...</a>
-      
-    </p>
-    <a href="/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -778,6 +772,10 @@ In this post, we motivate the State TTL feature and discuss its use cases.
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/16/index.html b/content/posts/page/16/index.html
index afad9e89f..bcf04829e 100644
--- a/content/posts/page/16/index.html
+++ b/content/posts/page/16/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,35 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">State TTL in Flink 1.8.0: How to Automatically Cleanup Application State in Apache Flink</a>
+    </h3>
+    
+
+
+  May 17, 2019 -
+
+
+
+  Fabian Hueske
+
+  <a href="https://twitter.com/fhueske">(@fhueske)</a>
+  
+
+  Andrey Zagrebin
+
+
+
+
+    <p>A common requirement for many stateful streaming applications is to automatically cleanup application state for effective management of your state size, or to control how long the application state can be accessed (e.g. due to legal regulations like the GDPR). The state time-to-live (TTL) feature was initiated in Flink 1.6.0 and enabled application state cleanup and efficient state size management in Apache Flink.
+In this post, we motivate the State TTL feature and discuss its use cases.
+        <a href="/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">...</a>
+      
+    </p>
+    <a href="/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/">Flux capacitor, huh? Temporal Tables and Joins in Streaming SQL</a>
@@ -688,42 +717,6 @@ Updated Maven dependencies:
     <a href="/2019/02/15/apache-flink-1.7.2-released/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">Batch as a Special Case of Streaming and Alibaba&#39;s contribution of Blink</a>
-    </h3>
-    
-
-
-  February 13, 2019 -
-
-
-
-  Stephan Ewen
-
-  <a href="https://twitter.com/stephanewen">(@stephanewen)</a>
-  
-
-  Fabian Hueske
-
-  <a href="https://twitter.com/fhueske">(@fhueske)</a>
-  
-
-  Xiaowei Jiang
-
-  <a href="https://twitter.com/XiaoweiJ">(@XiaoweiJ)</a>
-  
-
-
-
-    <p>Last week, we broke the news that Alibaba decided to contribute its Flink-fork, called Blink, back to the Apache Flink project. Why is that a big thing for Flink, what will it mean for users and the community, and how does it fit into Flink’s overall vision? Let&rsquo;s take a step back to understand this better&hellip;
-A Unified Approach to Batch and Streaming # Since its early days, Apache Flink has followed the philosophy of taking a unified approach to batch and streaming data processing.
-        <a href="/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">...</a>
-      
-    </p>
-    <a href="/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -769,6 +762,10 @@ A Unified Approach to Batch and Streaming # Since its early days, Apache Flink h
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/17/index.html b/content/posts/page/17/index.html
index 614fb244b..23ee816e9 100644
--- a/content/posts/page/17/index.html
+++ b/content/posts/page/17/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,42 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">Batch as a Special Case of Streaming and Alibaba&#39;s contribution of Blink</a>
+    </h3>
+    
+
+
+  February 13, 2019 -
+
+
+
+  Stephan Ewen
+
+  <a href="https://twitter.com/stephanewen">(@stephanewen)</a>
+  
+
+  Fabian Hueske
+
+  <a href="https://twitter.com/fhueske">(@fhueske)</a>
+  
+
+  Xiaowei Jiang
+
+  <a href="https://twitter.com/XiaoweiJ">(@XiaoweiJ)</a>
+  
+
+
+
+    <p>Last week, we broke the news that Alibaba decided to contribute its Flink-fork, called Blink, back to the Apache Flink project. Why is that a big thing for Flink, what will it mean for users and the community, and how does it fit into Flink’s overall vision? Let&rsquo;s take a step back to understand this better&hellip;
+A Unified Approach to Batch and Streaming # Since its early days, Apache Flink has followed the philosophy of taking a unified approach to batch and streaming data processing.
+        <a href="/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">...</a>
+      
+    </p>
+    <a href="/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2018/12/26/apache-flink-1.5.6-released/">Apache Flink 1.5.6 Released</a>
@@ -682,33 +718,6 @@ Updated Maven dependencies:
     <a href="/2018/08/21/apache-flink-1.5.3-released/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2018/08/09/apache-flink-1.6.0-release-announcement/">Apache Flink 1.6.0 Release Announcement</a>
-    </h3>
-    
-
-
-  August 9, 2018 -
-
-
-
-  Till Rohrmann
-
-  <a href="https://twitter.com/stsffap">(@stsffap)</a>
-  
-
-
-
-    <p>The Apache Flink community is proud to announce the 1.6.0 release. Over the past 2 months, the Flink community has worked hard to resolve more than 360 issues. Please check the complete changelog for more details.
-Flink 1.6.0 is the seventh major release in the 1.x.y series. It is API-compatible with previous 1.x.y releases for APIs annotated with the @Public annotation.
-We encourage everyone to download the release and check out the documentation.
-        <a href="/2018/08/09/apache-flink-1.6.0-release-announcement/">...</a>
-      
-    </p>
-    <a href="/2018/08/09/apache-flink-1.6.0-release-announcement/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -754,6 +763,10 @@ We encourage everyone to download the release and check out the documentation.
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/18/index.html b/content/posts/page/18/index.html
index cd2ec66ca..b473cf898 100644
--- a/content/posts/page/18/index.html
+++ b/content/posts/page/18/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,33 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2018/08/09/apache-flink-1.6.0-release-announcement/">Apache Flink 1.6.0 Release Announcement</a>
+    </h3>
+    
+
+
+  August 9, 2018 -
+
+
+
+  Till Rohrmann
+
+  <a href="https://twitter.com/stsffap">(@stsffap)</a>
+  
+
+
+
+    <p>The Apache Flink community is proud to announce the 1.6.0 release. Over the past 2 months, the Flink community has worked hard to resolve more than 360 issues. Please check the complete changelog for more details.
+Flink 1.6.0 is the seventh major release in the 1.x.y series. It is API-compatible with previous 1.x.y releases for APIs annotated with the @Public annotation.
+We encourage everyone to download the release and check out the documentation.
+        <a href="/2018/08/09/apache-flink-1.6.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2018/08/09/apache-flink-1.6.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2018/07/31/apache-flink-1.5.2-released/">Apache Flink 1.5.2 Released</a>
@@ -703,38 +730,6 @@ State is a fundamental, enabling concept in stream processing required for a maj
     <a href="/2017/12/21/apache-flink-in-2017-year-in-review/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2017/12/12/apache-flink-1.4.0-release-announcement/">Apache Flink 1.4.0 Release Announcement</a>
-    </h3>
-    
-
-
-  December 12, 2017 -
-
-
-
-  Aljoscha Krettek
-
-  <a href="https://twitter.com/aljoscha">(@aljoscha)</a>
-  
-
-  Mike Winters
-
-  <a href="https://twitter.com/wints">(@wints)</a>
-  
-
-
-
-    <p>The Apache Flink community is pleased to announce the 1.4.0 release. Over the past 5 months, the Flink community has been working hard to resolve more than 900 issues. See the complete changelog for more detail.
-This is the fifth major release in the 1.x.y series. It is API-compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
-We encourage everyone to download the release and check out the documentation.
-        <a href="/2017/12/12/apache-flink-1.4.0-release-announcement/">...</a>
-      
-    </p>
-    <a href="/2017/12/12/apache-flink-1.4.0-release-announcement/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -780,6 +775,10 @@ We encourage everyone to download the release and check out the documentation.
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/19/index.html b/content/posts/page/19/index.html
index 7dc85c158..c7bfa917d 100644
--- a/content/posts/page/19/index.html
+++ b/content/posts/page/19/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,38 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2017/12/12/apache-flink-1.4.0-release-announcement/">Apache Flink 1.4.0 Release Announcement</a>
+    </h3>
+    
+
+
+  December 12, 2017 -
+
+
+
+  Aljoscha Krettek
+
+  <a href="https://twitter.com/aljoscha">(@aljoscha)</a>
+  
+
+  Mike Winters
+
+  <a href="https://twitter.com/wints">(@wints)</a>
+  
+
+
+
+    <p>The Apache Flink community is pleased to announce the 1.4.0 release. Over the past 5 months, the Flink community has been working hard to resolve more than 900 issues. See the complete changelog for more detail.
+This is the fifth major release in the 1.x.y series. It is API-compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
+We encourage everyone to download the release and check out the documentation.
+        <a href="/2017/12/12/apache-flink-1.4.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2017/12/12/apache-flink-1.4.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/">Looking Ahead to Apache Flink 1.4.0 and 1.5.0</a>
@@ -676,28 +708,6 @@ Flink&rsquo;s DataStream abstraction is a powerful API which lets you flexibly d
     <a href="/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2017/03/23/apache-flink-1.1.5-released/">Apache Flink 1.1.5 Released</a>
-    </h3>
-    
-
-
-  March 23, 2017 -
-
-
-
-
-
-    <p>The Apache Flink community released the next bugfix version of the Apache Flink 1.1 series.
-This release includes critical fixes for HA recovery robustness, fault tolerance guarantees of the Flink Kafka Connector, as well as classloading issues with the Kryo serializer. We highly recommend all users to upgrade to Flink 1.1.5.
-&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
-        <a href="/2017/03/23/apache-flink-1.1.5-released/">...</a>
-      
-    </p>
-    <a href="/2017/03/23/apache-flink-1.1.5-released/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -743,6 +753,10 @@ This release includes critical fixes for HA recovery robustness, fault tolerance
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/2/index.html b/content/posts/page/2/index.html
index 8422429c4..6ba4be627 100644
--- a/content/posts/page/2/index.html
+++ b/content/posts/page/2/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,33 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Apache Flink Kubernetes Operator 1.6.0 Release Announcement</a>
+    </h3>
+    
+
+
+  August 15, 2023 -
+
+
+
+  Gyula Fora
+
+  <a href="https://twitter.com/GyulaFora">(@GyulaFora)</a>
+  
+
+
+
+    <p>The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.6.0! The release features a large number of improvements all across the operator.
+We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
+Highlights # Improved and simplified rollback mechanism # Previously the rollback mechanism had some serious limitations always requiring the presence of HA metadata.
+        <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/">Announcing three new Apache Flink connectors, the new connector versioning strategy and externalization</a>
@@ -697,31 +724,6 @@ With the addition of these algorithms, we believe Flink ML library is ready for
     <a href="/2023/04/19/apache-flink-ml-2.2.0-release-announcement/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2023/03/23/announcing-the-release-of-apache-flink-1.17/">Announcing the Release of Apache Flink 1.17</a>
-    </h3>
-    
-
-
-  March 23, 2023 -
-
-
-
-  Leonard Xu
-
-  <a href="https://twitter.com/Leonardxbj">(@Leonardxbj)</a>
-  
-
-
-
-    <p>The Apache Flink PMC is pleased to announce Apache Flink release 1.17.0. Apache Flink is the leading stream processing standard, and the concept of unified stream and batch data processing is being successfully adopted in more and more companies. Thanks to our excellent community and contributors, Apache Flink continues to grow as a technology and remains one of the most active projects in the Apache Software Foundation. Flink 1.17 had 172 contributors enthusiastically participati [...]
-        <a href="/2023/03/23/announcing-the-release-of-apache-flink-1.17/">...</a>
-      
-    </p>
-    <a href="/2023/03/23/announcing-the-release-of-apache-flink-1.17/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -767,6 +769,10 @@ With the addition of these algorithms, we believe Flink ML library is ready for
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/20/index.html b/content/posts/page/20/index.html
index ace5eaa70..ab823780c 100644
--- a/content/posts/page/20/index.html
+++ b/content/posts/page/20/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,28 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2017/03/23/apache-flink-1.1.5-released/">Apache Flink 1.1.5 Released</a>
+    </h3>
+    
+
+
+  March 23, 2017 -
+
+
+
+
+
+    <p>The Apache Flink community released the next bugfix version of the Apache Flink 1.1 series.
+This release includes critical fixes for HA recovery robustness, fault tolerance guarantees of the Flink Kafka Connector, as well as classloading issues with the Kryo serializer. We highly recommend all users to upgrade to Flink 1.1.5.
+&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.1.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.10&lt;/artifactId&gt; &lt;version&gt;1.1.5&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.10&lt;/artifactId&gt; &lt;versio [...]
+        <a href="/2017/03/23/apache-flink-1.1.5-released/">...</a>
+      
+    </p>
+    <a href="/2017/03/23/apache-flink-1.1.5-released/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2017/02/06/announcing-apache-flink-1.2.0/">Announcing Apache Flink 1.2.0</a>
@@ -660,28 +682,6 @@ This was fixed with this release and we highly recommend all users to use this v
     <a href="/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2016/05/11/flink-1.0.3-released/">Flink 1.0.3 Released</a>
-    </h3>
-    
-
-
-  May 11, 2016 -
-
-
-
-
-
-    <p>Today, the Flink community released Flink version 1.0.3, the third bugfix release of the 1.0 series.
-We recommend all users updating to this release by bumping the version of your Flink dependencies to 1.0.3 and updating the binaries on the server. You can find the binaries on the updated Downloads page.
-Fixed Issues # Bug # [FLINK-3790] [streaming] Use proper hadoop config in rolling sink [FLINK-3840] Remove Testing Files in RocksDB Backend [FLINK-3835] [optimizer] Add input id to JSON plan to resolve ambiguous input names [hotfix] OptionSerializer.
-        <a href="/2016/05/11/flink-1.0.3-released/">...</a>
-      
-    </p>
-    <a href="/2016/05/11/flink-1.0.3-released/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -727,6 +727,10 @@ Fixed Issues # Bug # [FLINK-3790] [streaming] Use proper hadoop config in rollin
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/21/index.html b/content/posts/page/21/index.html
index bf231e883..9ff1cd912 100644
--- a/content/posts/page/21/index.html
+++ b/content/posts/page/21/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,28 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2016/05/11/flink-1.0.3-released/">Flink 1.0.3 Released</a>
+    </h3>
+    
+
+
+  May 11, 2016 -
+
+
+
+
+
+    <p>Today, the Flink community released Flink version 1.0.3, the third bugfix release of the 1.0 series.
+We recommend all users updating to this release by bumping the version of your Flink dependencies to 1.0.3 and updating the binaries on the server. You can find the binaries on the updated Downloads page.
+Fixed Issues # Bug # [FLINK-3790] [streaming] Use proper hadoop config in rolling sink [FLINK-3840] Remove Testing Files in RocksDB Backend [FLINK-3835] [optimizer] Add input id to JSON plan to resolve ambiguous input names [hotfix] OptionSerializer.
+        <a href="/2016/05/11/flink-1.0.3-released/">...</a>
+      
+    </p>
+    <a href="/2016/05/11/flink-1.0.3-released/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2016/04/22/flink-1.0.2-released/">Flink 1.0.2 Released</a>
@@ -653,28 +675,6 @@ Overall, we have seen Flink grow in terms of functionality from an engine to one
     <a href="/2015/12/04/introducing-stream-windows-in-apache-flink/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2015/11/27/flink-0.10.1-released/">Flink 0.10.1 released</a>
-    </h3>
-    
-
-
-  November 27, 2015 -
-
-
-
-
-
-    <p>Today, the Flink community released the first bugfix release of the 0.10 series of Flink.
-We recommend all users updating to this release, by bumping the version of your Flink dependencies and updating the binaries on the server.
-Issues fixed # [FLINK-2879] - Links in documentation are broken [FLINK-2938] - Streaming docs not in sync with latest state changes [FLINK-2942] - Dangling operators in web UI&#39;s program visualization (non-deterministic) [FLINK-2967] - TM address detection might not always detect the right interface on slow networks / overloaded JMs [FLINK-2977] - Cannot access HBase in a Kerberos secured Yarn cluster [FLINK-2987] - Flink 0.
-        <a href="/2015/11/27/flink-0.10.1-released/">...</a>
-      
-    </p>
-    <a href="/2015/11/27/flink-0.10.1-released/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -720,6 +720,10 @@ Issues fixed # [FLINK-2879] - Links in documentation are broken [FLINK-2938] - S
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/22/index.html b/content/posts/page/22/index.html
index b5fd81571..896790b92 100644
--- a/content/posts/page/22/index.html
+++ b/content/posts/page/22/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,28 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2015/11/27/flink-0.10.1-released/">Flink 0.10.1 released</a>
+    </h3>
+    
+
+
+  November 27, 2015 -
+
+
+
+
+
+    <p>Today, the Flink community released the first bugfix release of the 0.10 series of Flink.
+We recommend all users updating to this release, by bumping the version of your Flink dependencies and updating the binaries on the server.
+Issues fixed # [FLINK-2879] - Links in documentation are broken [FLINK-2938] - Streaming docs not in sync with latest state changes [FLINK-2942] - Dangling operators in web UI&#39;s program visualization (non-deterministic) [FLINK-2967] - TM address detection might not always detect the right interface on slow networks / overloaded JMs [FLINK-2977] - Cannot access HBase in a Kerberos secured Yarn cluster [FLINK-2987] - Flink 0.
+        <a href="/2015/11/27/flink-0.10.1-released/">...</a>
+      
+    </p>
+    <a href="/2015/11/27/flink-0.10.1-released/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2015/11/16/announcing-apache-flink-0.10.0/">Announcing Apache Flink 0.10.0</a>
@@ -654,28 +676,6 @@ You can download the release here and check out the latest documentation here.
     <a href="/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2015/04/07/march-2015-in-the-flink-community/">March 2015 in the Flink community</a>
-    </h3>
-    
-
-
-  April 7, 2015 -
-
-
-
-
-
-    <p>March has been a busy month in the Flink community.
-Scaling ALS # Flink committers employed at data Artisans published a blog post on how they scaled matrix factorization with Flink and Google Compute Engine to matrices with 28 billion elements.
-Learn about the internals of Flink # The community has started an effort to better document the internals of Flink. Check out the first articles on the Flink wiki on how Flink manages memory, how tasks in Flink exchange data, type extraction and serialization in Flink, as well as how Flink builds on Akka for distributed coordination.
-        <a href="/2015/04/07/march-2015-in-the-flink-community/">...</a>
-      
-    </p>
-    <a href="/2015/04/07/march-2015-in-the-flink-community/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -721,6 +721,10 @@ Learn about the internals of Flink # The community has started an effort to bett
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/23/index.html b/content/posts/page/23/index.html
index bea7ba03c..f9fed596f 100644
--- a/content/posts/page/23/index.html
+++ b/content/posts/page/23/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,28 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2015/04/07/march-2015-in-the-flink-community/">March 2015 in the Flink community</a>
+    </h3>
+    
+
+
+  April 7, 2015 -
+
+
+
+
+
+    <p>March has been a busy month in the Flink community.
+Scaling ALS # Flink committers employed at data Artisans published a blog post on how they scaled matrix factorization with Flink and Google Compute Engine to matrices with 28 billion elements.
+Learn about the internals of Flink # The community has started an effort to better document the internals of Flink. Check out the first articles on the Flink wiki on how Flink manages memory, how tasks in Flink exchange data, type extraction and serialization in Flink, as well as how Flink builds on Akka for distributed coordination.
+        <a href="/2015/04/07/march-2015-in-the-flink-community/">...</a>
+      
+    </p>
+    <a href="/2015/04/07/march-2015-in-the-flink-community/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2015/03/13/peeking-into-apache-flinks-engine-room/">Peeking into Apache Flink&#39;s Engine Room</a>
@@ -657,26 +679,6 @@ Overview of major new features # Flink Streaming: The gem of the 0.
     <a href="/2014/10/03/upcoming-events/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2014/09/26/apache-flink-0.6.1-available/">Apache Flink 0.6.1 available</a>
-    </h3>
-    
-
-
-  September 26, 2014 -
-
-
-
-
-
-    <p>We are happy to announce the availability of Flink 0.6.1.
-0.6.1 is a maintenance release, which includes minor fixes across several parts of the system. We suggest all users of Flink to work with this newest version.
-Download the release today.
-    </p>
-    <a href="/2014/09/26/apache-flink-0.6.1-available/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -722,6 +724,10 @@ Download the release today.
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/24/index.html b/content/posts/page/24/index.html
index 529ad988b..3b7eb66a4 100644
--- a/content/posts/page/24/index.html
+++ b/content/posts/page/24/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,26 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2014/09/26/apache-flink-0.6.1-available/">Apache Flink 0.6.1 available</a>
+    </h3>
+    
+
+
+  September 26, 2014 -
+
+
+
+
+
+    <p>We are happy to announce the availability of Flink 0.6.1.
+0.6.1 is a maintenance release, which includes minor fixes across several parts of the system. We suggest all users of Flink to work with this newest version.
+Download the release today.
+    </p>
+    <a href="/2014/09/26/apache-flink-0.6.1-available/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2014/08/26/apache-flink-0.6-available/">Apache Flink 0.6 available</a>
@@ -530,6 +550,10 @@ What is Flink? # Apache Flink is a general-purpose data processing engine for cl
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/3/index.html b/content/posts/page/3/index.html
index 1896234ff..2dbd8ddf4 100644
--- a/content/posts/page/3/index.html
+++ b/content/posts/page/3/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,31 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2023/03/23/announcing-the-release-of-apache-flink-1.17/">Announcing the Release of Apache Flink 1.17</a>
+    </h3>
+    
+
+
+  March 23, 2023 -
+
+
+
+  Leonard Xu
+
+  <a href="https://twitter.com/Leonardxbj">(@Leonardxbj)</a>
+  
+
+
+
+    <p>The Apache Flink PMC is pleased to announce Apache Flink release 1.17.0. Apache Flink is the leading stream processing standard, and the concept of unified stream and batch data processing is being successfully adopted in more and more companies. Thanks to our excellent community and contributors, Apache Flink continues to grow as a technology and remains one of the most active projects in the Apache Software Foundation. Flink 1.17 had 172 contributors enthusiastically participati [...]
+        <a href="/2023/03/23/announcing-the-release-of-apache-flink-1.17/">...</a>
+      
+    </p>
+    <a href="/2023/03/23/announcing-the-release-of-apache-flink-1.17/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2023/03/15/apache-flink-1.15.4-release-announcement/">Apache Flink 1.15.4 Release Announcement</a>
@@ -713,32 +738,6 @@ We highly recommend all users upgrade to Flink 1.15.3.
     <a href="/2022/11/10/apache-flink-1.15.3-release-announcement/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2022/10/28/announcing-the-release-of-apache-flink-1.16/">Announcing the Release of Apache Flink 1.16</a>
-    </h3>
-    
-
-
-  October 28, 2022 -
-
-
-
-  Godfrey He
-
-  <a href="https://twitter.com/godfreyhe">(@godfreyhe)</a>
-  
-
-
-
-    <p>Apache Flink continues to grow at a rapid pace and is one of the most active communities in Apache. Flink 1.16 had over 240 contributors enthusiastically participating, with 19 FLIPs and 1100+ issues completed, bringing a lot of exciting features to the community.
-Flink has become the leading role and factual standard of stream processing, and the concept of the unification of stream and batch data processing is gradually gaining recognition and is being successfully implemented in more and more companies.
-        <a href="/2022/10/28/announcing-the-release-of-apache-flink-1.16/">...</a>
-      
-    </p>
-    <a href="/2022/10/28/announcing-the-release-of-apache-flink-1.16/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -784,6 +783,10 @@ Flink has become the leading role and factual standard of stream processing, and
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/4/index.html b/content/posts/page/4/index.html
index 6d02bd5f8..d20eebfea 100644
--- a/content/posts/page/4/index.html
+++ b/content/posts/page/4/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,32 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2022/10/28/announcing-the-release-of-apache-flink-1.16/">Announcing the Release of Apache Flink 1.16</a>
+    </h3>
+    
+
+
+  October 28, 2022 -
+
+
+
+  Godfrey He
+
+  <a href="https://twitter.com/godfreyhe">(@godfreyhe)</a>
+  
+
+
+
+    <p>Apache Flink continues to grow at a rapid pace and is one of the most active communities in Apache. Flink 1.16 had over 240 contributors enthusiastically participating, with 19 FLIPs and 1100+ issues completed, bringing a lot of exciting features to the community.
+Flink has become the leading role and factual standard of stream processing, and the concept of the unification of stream and batch data processing is gradually gaining recognition and is being successfully implemented in more and more companies.
+        <a href="/2022/10/28/announcing-the-release-of-apache-flink-1.16/">...</a>
+      
+    </p>
+    <a href="/2022/10/28/announcing-the-release-of-apache-flink-1.16/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/">Apache Flink Table Store 0.2.1 Release Announcement</a>
@@ -703,36 +729,6 @@ Release Highlights # A non-exhaustive list of some of the more exciting features
     <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">FLIP-147: Support Checkpoints After Tasks Finished - Part Two</a>
-    </h3>
-    
-
-
-  July 11, 2022 -
-
-
-
-  Yun Gao
-
-
-  Dawid Wysakowicz
-
-
-  Daisy Tsang
-
-
-
-
-    <p>In the first part of this blog, we have briefly introduced the work to support checkpoints after tasks get finished and revised the process of finishing. In this part we will present more details on the implementation, including how we support checkpoints with finished tasks and the revised protocol of the finish process.
-Implementation of support Checkpointing with Finished Tasks # As described in part one, to support checkpoints after some tasks are finished, the core idea is to mark the finished operators in checkpoints and skip executing these operators after recovery.
-        <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">...</a>
-      
-    </p>
-    <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -778,6 +774,10 @@ Implementation of support Checkpointing with Finished Tasks # As described in pa
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/5/index.html b/content/posts/page/5/index.html
index 873ecf843..92667ca81 100644
--- a/content/posts/page/5/index.html
+++ b/content/posts/page/5/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,36 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">FLIP-147: Support Checkpoints After Tasks Finished - Part Two</a>
+    </h3>
+    
+
+
+  July 11, 2022 -
+
+
+
+  Yun Gao
+
+
+  Dawid Wysakowicz
+
+
+  Daisy Tsang
+
+
+
+
+    <p>In the first part of this blog, we have briefly introduced the work to support checkpoints after tasks get finished and revised the process of finishing. In this part we will present more details on the implementation, including how we support checkpoints with finished tasks and the revised protocol of the finish process.
+Implementation of support Checkpointing with Finished Tasks # As described in part one, to support checkpoints after some tasks are finished, the core idea is to mark the finished operators in checkpoints and skip executing these operators after recovery.
+        <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">...</a>
+      
+    </p>
+    <a href="/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2022/07/06/apache-flink-1.15.1-release-announcement/">Apache Flink 1.15.1 Release Announcement</a>
@@ -709,34 +739,6 @@ Before Flink 1.15, Python user-defined functions will be executed in separate Py
     <a href="/2022/05/06/exploring-the-thread-mode-in-pyflink/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">Improvements to Flink operations: Snapshots Ownership and Savepoint Formats</a>
-    </h3>
-    
-
-
-  May 6, 2022 -
-
-
-
-  Dawid Wysakowicz
-
-  <a href="https://twitter.com/dwysakowicz">(@dwysakowicz)</a>
-  
-
-  Daisy Tsang
-
-
-
-
-    <p>Flink has become a well established data streaming engine and a mature project requires some shifting of priorities from thinking purely about new features towards improving stability and operational simplicity. In the last couple of releases, the Flink community has tried to address some known friction points, which includes improvements to the snapshotting process. Snapshotting takes a global, consistent image of the state of a Flink job and is integral to fault-tolerance and ex [...]
-        <a href="/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">...</a>
-      
-    </p>
-    <a href="/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -782,6 +784,10 @@ Before Flink 1.15, Python user-defined functions will be executed in separate Py
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/6/index.html b/content/posts/page/6/index.html
index 142fe43fe..daa047976 100644
--- a/content/posts/page/6/index.html
+++ b/content/posts/page/6/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,34 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">Improvements to Flink operations: Snapshots Ownership and Savepoint Formats</a>
+    </h3>
+    
+
+
+  May 6, 2022 -
+
+
+
+  Dawid Wysakowicz
+
+  <a href="https://twitter.com/dwysakowicz">(@dwysakowicz)</a>
+  
+
+  Daisy Tsang
+
+
+
+
+    <p>Flink has become a well established data streaming engine and a mature project requires some shifting of priorities from thinking purely about new features towards improving stability and operational simplicity. In the last couple of releases, the Flink community has tried to address some known friction points, which includes improvements to the snapshotting process. Snapshotting takes a global, consistent image of the state of a Flink job and is integral to fault-tolerance and ex [...]
+        <a href="/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">...</a>
+      
+    </p>
+    <a href="/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2022/05/05/announcing-the-release-of-apache-flink-1.15/">Announcing the Release of Apache Flink 1.15</a>
@@ -716,33 +744,6 @@ This release includes 164 fixes and minor improvements for Flink 1.
     <a href="/2022/01/17/apache-flink-1.14.3-release-announcement/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">Apache Flink ML 2.0.0 Release Announcement</a>
-    </h3>
-    
-
-
-  January 7, 2022 -
-
-
-
-  Dong Lin
-
-
-  Yun Gao
-
-
-
-
-    <p>The Apache Flink community is excited to announce the release of Flink ML 2.0.0! Flink ML is a library that provides APIs and infrastructure for building stream-batch unified machine learning algorithms, that can be easy-to-use and performant with (near-) real-time latency.
-This release involves a major refactor of the earlier Flink ML library and introduces major features that extend the Flink ML API and the iteration runtime, such as supporting stages with multi-input multi-output, graph-based stage composition, and a new stream-batch unified iteration library.
-        <a href="/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">...</a>
-      
-    </p>
-    <a href="/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -788,6 +789,10 @@ This release involves a major refactor of the earlier Flink ML library and intro
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/7/index.html b/content/posts/page/7/index.html
index 2c4ecdaf1..9c1eb1762 100644
--- a/content/posts/page/7/index.html
+++ b/content/posts/page/7/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,33 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">Apache Flink ML 2.0.0 Release Announcement</a>
+    </h3>
+    
+
+
+  January 7, 2022 -
+
+
+
+  Dong Lin
+
+
+  Yun Gao
+
+
+
+
+    <p>The Apache Flink community is excited to announce the release of Flink ML 2.0.0! Flink ML is a library that provides APIs and infrastructure for building stream-batch unified machine learning algorithms, that can be easy-to-use and performant with (near-) real-time latency.
+This release involves a major refactor of the earlier Flink ML library and introduces major features that extend the Flink ML API and the iteration runtime, such as supporting stages with multi-input multi-output, graph-based stage composition, and a new stream-batch unified iteration library.
+        <a href="/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/">How We Improved Scheduler Performance for Large-scale Jobs - Part One</a>
@@ -717,37 +744,6 @@ Updated Maven dependencies:
     <a href="/2021/10/19/apache-flink-1.13.3-released/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2021/09/29/apache-flink-1.14.0-release-announcement/">Apache Flink 1.14.0 Release Announcement</a>
-    </h3>
-    
-
-
-  September 29, 2021 -
-
-
-
-  Stephan Ewen
-
-  <a href="https://twitter.com/StephanEwen">(@StephanEwen)</a>
-  
-
-  Johannes Moser
-
-  <a href="https://twitter.com/joemoeAT">(@joemoeAT)</a>
-  
-
-
-
-    <p>The Apache Software Foundation recently released its annual report and Apache Flink once again made it on the list of the top 5 most active projects! This remarkable activity also shows in the new 1.14.0 release. Once again, more than 200 contributors worked on over 1,000 issues. We are proud of how this community is consistently moving the project forward.
-This release brings many new features and improvements in areas such as the SQL API, more connector support, checkpointing, and PyFlink.
-        <a href="/2021/09/29/apache-flink-1.14.0-release-announcement/">...</a>
-      
-    </p>
-    <a href="/2021/09/29/apache-flink-1.14.0-release-announcement/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -793,6 +789,10 @@ This release brings many new features and improvements in areas such as the SQL
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/8/index.html b/content/posts/page/8/index.html
index ce254f0a0..400c47f01 100644
--- a/content/posts/page/8/index.html
+++ b/content/posts/page/8/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,37 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2021/09/29/apache-flink-1.14.0-release-announcement/">Apache Flink 1.14.0 Release Announcement</a>
+    </h3>
+    
+
+
+  September 29, 2021 -
+
+
+
+  Stephan Ewen
+
+  <a href="https://twitter.com/StephanEwen">(@StephanEwen)</a>
+  
+
+  Johannes Moser
+
+  <a href="https://twitter.com/joemoeAT">(@joemoeAT)</a>
+  
+
+
+
+    <p>The Apache Software Foundation recently released its annual report and Apache Flink once again made it on the list of the top 5 most active projects! This remarkable activity also shows in the new 1.14.0 release. Once again, more than 200 contributors worked on over 1,000 issues. We are proud of how this community is consistently moving the project forward.
+This release brings many new features and improvements in areas such as the SQL API, more connector support, checkpointing, and PyFlink.
+        <a href="/2021/09/29/apache-flink-1.14.0-release-announcement/">...</a>
+      
+    </p>
+    <a href="/2021/09/29/apache-flink-1.14.0-release-announcement/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/">Implementing a Custom Source Connector for Table API and SQL - Part One </a>
@@ -716,33 +747,6 @@ Updated Maven dependencies:
     <a href="/2021/05/28/apache-flink-1.13.1-released/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2021/05/21/apache-flink-1.12.4-released/">Apache Flink 1.12.4 Released</a>
-    </h3>
-    
-
-
-  May 21, 2021 -
-
-
-
-  Arvid Heise
-
-
-
-
-    <p>The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
-This release includes 21 fixes and minor improvements for Flink 1.12.3. The list below includes a detailed list of all fixes and improvements.
-We highly recommend all users to upgrade to Flink 1.12.4.
-Updated Maven dependencies:
-&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
-        <a href="/2021/05/21/apache-flink-1.12.4-released/">...</a>
-      
-    </p>
-    <a href="/2021/05/21/apache-flink-1.12.4-released/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -788,6 +792,10 @@ Updated Maven dependencies:
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/posts/page/9/index.html b/content/posts/page/9/index.html
index 61d4f6e5a..128ea34e2 100644
--- a/content/posts/page/9/index.html
+++ b/content/posts/page/9/index.html
@@ -24,7 +24,7 @@
 <link rel="manifest" href="/manifest.json">
 <link rel="icon" href="/favicon.png" type="image/x-icon">
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -464,6 +464,33 @@ https://github.com/alex-shpak/hugo-book
         <section class="container book-page">
           
   
+  <article class="markdown book-post">
+    <h3>
+      <a href="/2021/05/21/apache-flink-1.12.4-released/">Apache Flink 1.12.4 Released</a>
+    </h3>
+    
+
+
+  May 21, 2021 -
+
+
+
+  Arvid Heise
+
+
+
+
+    <p>The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.
+This release includes 21 fixes and minor improvements for Flink 1.12.3. The list below includes a detailed list of all fixes and improvements.
+We highly recommend all users to upgrade to Flink 1.12.4.
+Updated Maven dependencies:
+&lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-java&lt;/artifactId&gt; &lt;version&gt;1.12.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt; &lt;version&gt;1.12.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.flink&lt;/groupId&gt; &lt;artifactId&gt;flink-clients_2.11&lt;/artifactId&gt; &lt;vers [...]
+        <a href="/2021/05/21/apache-flink-1.12.4-released/">...</a>
+      
+    </p>
+    <a href="/2021/05/21/apache-flink-1.12.4-released/">Continue reading »</a>
+  </article>
+  
   <article class="markdown book-post">
     <h3>
       <a href="/2021/05/06/scaling-flink-automatically-with-reactive-mode/">Scaling Flink automatically with Reactive Mode</a>
@@ -710,29 +737,6 @@ Attention: Using unaligned checkpoints in Flink 1.12.0 combined with two/multipl
     <a href="/2021/01/19/apache-flink-1.12.1-released/">Continue reading »</a>
   </article>
   
-  <article class="markdown book-post">
-    <h3>
-      <a href="/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">Using RocksDB State Backend in Apache Flink: When and How</a>
-    </h3>
-    
-
-
-  January 18, 2021 -
-
-
-
-  Jun Qin
-
-
-
-
-    <p>Stream processing applications are often stateful, “remembering” information from processed events and using it to influence further event processing. In Flink, the remembered information, i.e., state, is stored locally in the configured state backend. To prevent data loss in case of failures, the state backend periodically persists a snapshot of its contents to a pre-configured durable storage. The RocksDB state backend (i.e., RocksDBStateBackend) is one of the three built-in sta [...]
-        <a href="/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">...</a>
-      
-    </p>
-    <a href="/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">Continue reading »</a>
-  </article>
-  
 
   
     <ul class="pagination pagination-default">
@@ -778,6 +782,10 @@ Attention: Using unaligned checkpoints in Flink 1.12.0 combined with two/multipl
 <nav>
   <ul>
     
+    <li>
+      <a href="https://flink.apache.org/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Apache Flink CDC 3.1.0 Release Announcement</a>
+    </li>
+    
     <li>
       <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
     </li>
diff --git a/content/sitemap.xml b/content/sitemap.xml
index b8f942897..45f217301 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -4,7 +4,7 @@
   <sitemap>
     <loc>https://flink.apache.org/en/sitemap.xml</loc>
     
-      <lastmod>2024-03-21T18:00:00+00:00</lastmod>
+      <lastmod>2024-05-17T08:00:00+00:00</lastmod>
     
   </sitemap>
   
diff --git a/content/tags/index.html b/content/tags/index.html
index b5174c5ba..548e69eac 100644
--- a/content/tags/index.html
+++ b/content/tags/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/tags/" title="Tags">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/tags/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/what-is-flink-ml/index.html b/content/what-is-flink-ml/index.html
index 47cd58134..17a636dcb 100644
--- a/content/what-is-flink-ml/index.html
+++ b/content/what-is-flink-ml/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink-ml/" title="What is Flink ML?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink-table-store/index.html b/content/what-is-flink-table-store/index.html
index 31baaea53..083e2cf92 100644
--- a/content/what-is-flink-table-store/index.html
+++ b/content/what-is-flink-table-store/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink-table-store/" title="What is Paimon(incubating) (formerly Flink Table Store)?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/community/index.html b/content/what-is-flink/community/index.html
index 935c23a06..0f2de10bd 100644
--- a/content/what-is-flink/community/index.html
+++ b/content/what-is-flink/community/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/community/" title="社区 & 项目信息">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/flink-applications/index.html b/content/what-is-flink/flink-applications/index.html
index e5a0b7703..d9a93486f 100644
--- a/content/what-is-flink/flink-applications/index.html
+++ b/content/what-is-flink/flink-applications/index.html
@@ -32,7 +32,7 @@ Building Blocks for Streaming Applications # The types of applications that can
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/flink-applications/" title="应用">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/flink-architecture/index.html b/content/what-is-flink/flink-architecture/index.html
index b8de802c8..3a635ce9e 100644
--- a/content/what-is-flink/flink-architecture/index.html
+++ b/content/what-is-flink/flink-architecture/index.html
@@ -32,7 +32,7 @@ Process Unbounded and Bounded Data # Any kind of data is produced as a stream of
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/flink-architecture/" title="架构">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/flink-operations/index.html b/content/what-is-flink/flink-operations/index.html
index 3f5577af5..c3008c93f 100644
--- a/content/what-is-flink/flink-operations/index.html
+++ b/content/what-is-flink/flink-operations/index.html
@@ -30,7 +30,7 @@ Apache Flink puts a strong focus on the operational aspects of stream processing
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/flink-operations/" title="运维">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/index.html b/content/what-is-flink/index.html
index d3ba38a4c..6917295e6 100644
--- a/content/what-is-flink/index.html
+++ b/content/what-is-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/" title="About">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/what-is-flink/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/what-is-flink/powered-by/index.html b/content/what-is-flink/powered-by/index.html
index ceb6260e6..1d0fcd729 100644
--- a/content/what-is-flink/powered-by/index.html
+++ b/content/what-is-flink/powered-by/index.html
@@ -30,7 +30,7 @@ More Flink users are listed in the Powered by Flink directory in the project wik
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/powered-by/" title="Flink 用户">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/roadmap/index.html b/content/what-is-flink/roadmap/index.html
index 948c38d12..7803cdbdc 100644
--- a/content/what-is-flink/roadmap/index.html
+++ b/content/what-is-flink/roadmap/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/roadmap/" title="开发计划">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/security/index.html b/content/what-is-flink/security/index.html
index b6889291a..7ab1bb64b 100644
--- a/content/what-is-flink/security/index.html
+++ b/content/what-is-flink/security/index.html
@@ -30,7 +30,7 @@ CVE ID Affected Flink versions Notes CVE-2020-1960 1.1.0 to 1.1.5, 1.2.0 to 1.2.
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/security/" title="Security">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/special-thanks/index.html b/content/what-is-flink/special-thanks/index.html
index 096dbf980..7d8e69a76 100644
--- a/content/what-is-flink/special-thanks/index.html
+++ b/content/what-is-flink/special-thanks/index.html
@@ -40,7 +40,7 @@ Alibaba donated 8 machines (32vCPU,64GB) to run Flink CI builds for Flink reposi
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/special-thanks/" title="特殊致谢">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-flink/use-cases/index.html b/content/what-is-flink/use-cases/index.html
index e574b15e9..6de920fc5 100644
--- a/content/what-is-flink/use-cases/index.html
+++ b/content/what-is-flink/use-cases/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-flink/use-cases/" title="应用场景">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-stateful-functions/index.html b/content/what-is-stateful-functions/index.html
index c80013e54..5b0a01b97 100644
--- a/content/what-is-stateful-functions/index.html
+++ b/content/what-is-stateful-functions/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-stateful-functions/" title="What is Stateful Functions?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/what-is-the-flink-kubernetes-operator/index.html b/content/what-is-the-flink-kubernetes-operator/index.html
index 766912ad4..c87bdac23 100644
--- a/content/what-is-the-flink-kubernetes-operator/index.html
+++ b/content/what-is-the-flink-kubernetes-operator/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/what-is-the-flink-kubernetes-operator/" title="What is the Flink Kubernetes Operator?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
+<script defer src="/en.search.min.a3749391b76ffef71c134958230d1f61f3efb574eb478f08d2c2b3b50c2109e8.js" integrity="sha256-o3STkbdv/vccE0lYIw0fYfPvtXTrR48I0sKztQwhCeg="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh.search-data.min.39fbb668d16eeb78006f4acbcd64df2017934483befd80883e491b06246f8dfc.js b/content/zh.search-data.min.88c04d5bb119225a3aafd55e46df3d2a3f6dbde095503912f06392399ec854dc.js
similarity index 97%
rename from content/zh.search-data.min.39fbb668d16eeb78006f4acbcd64df2017934483befd80883e491b06246f8dfc.js
rename to content/zh.search-data.min.88c04d5bb119225a3aafd55e46df3d2a3f6dbde095503912f06392399ec854dc.js
index 1f9f4fbcd..10df2547f 100644
--- a/content/zh.search-data.min.39fbb668d16eeb78006f4acbcd64df2017934483befd80883e491b06246f8dfc.js
+++ b/content/zh.search-data.min.88c04d5bb119225a3aafd55e46df3d2a3f6dbde095503912f06392399ec854dc.js
@@ -37,7 +37,7 @@ Gelly : Gelly 是一个可扩展的图形处理和分析库。Gelly 是在 DataS
 `}),e.add({id:6,href:"/zh/documentation/flink-kubernetes-operator-stable/",title:"Kubernetes Operator $FlinkKubernetesOperatorStableShortVersion (latest)",section:"Documentation",content:" Flink Kubernetes Operator documentation (latest stable release) # You can find the Flink Kubernetes Operator documentation for the latest stable release here. "}),e.add({id:7,href:"/zh/getting-started/with-flink-cdc/",title:"With Flink CDC",section:"教程",content:" Getting Started with Flink CDC # Read h [...]
 Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。
 7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常运行,好像故障就没有发生过一样。
-Flink通过几下多种机制维护应用可持续运行及其一致性:
+Flink通过以下多种机制维护应用可持续运行及其一致性:
 检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证*精确一次(exactly-once)*的状态一致性。 高效的检查点: 如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。 端到端的精确一次: Flink 为某些特定的存储支持了事务型输出的功能,及时在发生故障的情况下,也能够保证精确一次的输出。 集成多种集群管理服务: Flink已与多种集群管理服务紧密集成,如 Hadoop YARN, Mesos, 以及 Kubernetes。当集群中某个流程任务失败后,一个新的流程服务�
 ��自动启动并替代它继续执行。 内置高可用服务: Flink内置了为解决单点故障问题的高可用性服务模块,此模块是基于Apache ZooKeeper 技术实现的,Apache ZooKeeper是一种可靠的、交 [...]
 而Flink的 Savepoint 服务就是为解决升级服务过程中记录流应用状态信息及其相关难题而产生的一种唯一的、强大的组件。一个 Savepoint,就是一个应用服务状态的一致性快照,因此其与checkpoint组件的很相似,但是与checkpoint相比,Savepoint 需要手动触发启动,而且当流应用服务停止时,它并不会自动删除。Savepoint 常被应用于启动一个已含有状态的流服务,并初始化其(备份时)状态。Savepoint 有以下特点:
 便于升级应用服务版本: Savepoint 常在应用版本升级时使用,当前应用的新版本更新升级时,可以根据上一个版本程序记录的 Savepoint 内的服务状态信息来重启服务。它也可能会使用更早的 Savepoint 还原点来重启服务,以便于修复由于有缺陷的程序版本导致的不正确的程序运行结果。 方便集群服务移植: 通过使用 Savepoint,流服务应用可以自由的在不同集群中迁移部署。 方便Flink版本升级: 通过使用 Savepoint,可以使应用服务在升级Flink时,更加安全便捷。 增加应用并行服务的扩展性: Savepoint 也常在增加或减少应用服务集群的并行度时使用。 便于A/B测试及假设分析场景对比结果: 通过把同一应用在使用不同版本的应用程序,基于同一个 Savepoint 还原点启动服务时,可以测试对比2个或多个版本程序的性能及服务质量。 暂停和恢复服务: 一个应用服务可以�
 �新建一个 Savepoint 后再停止服务,以便于后面任何时间点再根据这个实时刷新的 Savepoint 还原点进行恢复服务。 归档服务: Savepoint 还提供还原点的归档服 [...]
@@ -246,7 +246,23 @@ https://www.apache.org/foundation/sponsorship.html
 那些帮助了我们项目的公司&hellip; # 我们还要感谢那些赞助了机器或服务的公司,感谢他们的赞助帮助了 Apache Flink 项目的开发:
 Alibaba 捐赠了 8 台机器(32vCPU,64GB)为 Flink 仓库和 Pull Reqeust 运行持续集成的任务。 AWS 捐赠了 AWS 服务的开销,这些 AWS 服务用在了 flink-connector-aws 项目的集成测试中。 Ververica 捐赠了一台机器(1vCPU,2GB)用于维护 flink-ci 镜像仓库,以及一台机器(8vCPU,64GB)运行日常的 Flink Benchmark。 `}),e.add({id:25,href:"/zh/documentation/flink-stateful-functions-master/",title:"Stateful Functions Master (snapshot)",section:"Documentation",content:" Flink Stateful Functions documentation (latest snapshot) # You can find the Flink Stateful Functions documentation for the  [...]
 你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:
-可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 `}),e.add({id:29,href:"/zh/how-to-contribute/contribute-code/",title:"贡献代码",section:"How to Contribute",content:` 贡献代码 # Apache Flink 是一个通过志愿者贡献的代码来维护、改进和扩展的项目。我们欢迎给 Flink 做贡献,但由于项目的规模大,以及为了保持高质量的代码库,我们要求贡献者遵循本文所阐述的贡献流程。
+可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 代码贡献指南 帮助做代码审核 请阅读 代码审核指南 帮助准备版本发布 发布新版本包括以下步骤: 建立新的候选版本并且在 dev@flink.apache.org 邮件列表发起投票(投票通常持续72小时)。 测试候选版本并投票 (如果没发现问题就 +1,发现问题则 -1)。 如果候选版本有问题就退回到第一步。否则我们发布该版本。 请阅读 版本测试流程。 贡献文档 请阅读 文档贡献指南 支持 Flink 用户 回答 用户邮件列表 中的问题 回答 Stack Overflow 上带有 apache-flink、 flink-streaming 或 flink-sql 标签的 Flink 相关问题 检查 Jira 上近期发布的 issue 中用户提出的问题 �
 �进网站 请阅读 网站贡献指南 推广 Flink 组织或出席 Flink Meetup 贡 [...]
+成为 committer 或 PMC 成员没有严格的协议。新的 committer 候选人通常是活跃的贡献者和社区成员。
+新的 committer 候选人由当前的 committer 或 PMC 成员提名,并由 PMC 投票选举。
+如果想成为一名 committer,你应该积极与社区互动,并开始以上述任何方式贡献 Apache Flink。
+我们寻找什么样的 committer # 作为一名 committer 意味着你被公认为项目(社区或技术)的重要贡献者,并拥有辅助开发的工具。Committer 候选人是社区成员,他们在很长一段时间内做出了优秀的贡献,并且希望继续贡献。
+社区贡献包括在邮件列表帮助回答用户的问题、验证候选发布版本、发表演讲、组织社区活动以及通过其他形式推广和建设社区。“Apache 之道”重点关注项目社区,即使从未贡献过一行代码,只要被公认为对社区做出了杰出的贡献,你就可以成为一名 committer。
+代码/技术贡献包括贡献 pull request(打补丁)、讨论设计、代码审查、测试以及定位和修复 bug。有建设性和高质量的设计讨论以及帮助其他贡献者是两个尤其重要的指标。
+前面几点给出了有望成为候选人的方法,以下是 committer 候选人的“必备条件”:
+具备社区意识: 候选人要理解社区管理的精英原则。他们并不总是尽可能地提升个人贡献,而是积极帮助和授权他人做出有意义的贡献。
+我们相信 committer 候选人会负责任地使用他们对代码仓库的写入访问权限,在没有把握的时候他们会保守地使用该权限。Flink 是一个庞大的系统,committer 必须清楚哪些是自己知道的哪些是自己不知道的。如果遇到疑问,committer 应该寻求帮助,而不是提交他们不太熟悉的部分。(即使是经验最丰富的 committer 也要遵循这个约定。)
+他们表现出对其他社区成员的尊重并建设性地参与话题讨论。
+我们寻找什么样的 PMC 成员 # PMC 是项目的官方管控机构。PMC 成员“必须”有能力履行 PMC 的官方职责(认证和培养 committer/PMC 成员)。我们“需要”他们成为对 Flink、技术和社区有远见的人。
+并非所有 PMC 成员都需要了解 Flink 发布流程的所有细节(理解要点并知道如何找到信息就可以了)。同样,并非每个 PMC 成员都需要有远见卓识。我们努力建立一个涵盖各方面能力的 PMC,我们了解每个成员具有不同的优势。
+理想情况下,我们在活跃的社区成员中寻找候选人,他们能够主动塑造 Flink(技术和社区)未来的方向并且愿意学习官方的工作流程,比如如何创建和验证版本。
+PMC 成员也是 committer。候选人如果还不是 committer 则会在加入 PMC 时自动成为 committer。 因此,“我们寻找什么样的 committer” 也同样适用于 PMC。
+PMC 成员在项目中拥有很大权力。一个 PMC 成员可以干扰许多决策,能够以多种方式阻碍甚至损害项目。因此,我们必须相信 PMC 候选人头脑冷静、具有建设性、可靠,并且有时能够做到“不同意但执行”。
+`}),e.add({id:29,href:"/zh/how-to-contribute/contribute-code/",title:"贡献代码",section:"How to Contribute",content:` 贡献代码 # Apache Flink 是一个通过志愿者贡献的代码来维护、改进和扩展的项目。我们欢迎给 Flink 做贡献,但由于项目的规模大,以及为了保持高质量的代码库,我们要求贡献者遵循本文所阐述的贡献流程。
 请随时提出任何问题! 可以发送邮件到 dev mailing list,也可以对正在处理的 Jira issue 发表评论。
 重要提示:在开始准备代码贡献之前,请仔细阅读本文档。请遵循如下所述的流程和指南,为 Apache Flink 做贡献并不是从创建 pull request 开始的。我们希望贡献者先和我们联系,共同讨论整体方案。如果没有与 Flink committers 达成共识,那么贡献可能需要大量返工或不予审核通过。
 寻找可贡献的内容 # 如果你已经有好的想法可以贡献,可以直接参考下面的 &ldquo;代码贡献步骤&rdquo;。 如果你在寻找可贡献的内容,可以通过 Flink 的问题跟踪列表 浏览处于 open 状态且未被分配的 Jira 工单,然后根据 &ldquo;代码贡献步骤&rdquo; 中的描述来参与贡献。 如果你是一个刚刚加入到 Flink 项目中的新人,并希望了解 Flink 及其贡献步骤,可以浏览 适合新手的工单列表 。 这个列表中的工单都带有 starter 标记,适合新手参与。
diff --git a/content/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js b/content/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js
similarity index 84%
rename from content/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js
rename to content/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js
index 85e71289e..647a667b7 100644
--- a/content/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js
+++ b/content/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js
@@ -1 +1 @@
-"use strict";(function(){const e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",i);function i(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!a(n))return;e.focus(),t.preventDefault()}function a(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener(" [...]
\ No newline at end of file
+"use strict";(function(){const e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",i);function i(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!a(n))return;e.focus(),t.preventDefault()}function a(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener(" [...]
\ No newline at end of file
diff --git a/content/zh/404.html b/content/zh/404.html
index 364715e4d..097f1b66b 100644
--- a/content/zh/404.html
+++ b/content/zh/404.html
@@ -15,7 +15,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/404.html" title="404 Page not found">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/categories/index.html b/content/zh/categories/index.html
index 15aa24a85..e4135f166 100644
--- a/content/zh/categories/index.html
+++ b/content/zh/categories/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/categories/" title="Categories">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/categories/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/zh/documentation/flink-cdc-master/index.html b/content/zh/documentation/flink-cdc-master/index.html
index 126ea8f2b..80c6abdfe 100644
--- a/content/zh/documentation/flink-cdc-master/index.html
+++ b/content/zh/documentation/flink-cdc-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-cdc-master/" title="CDC Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-cdc-stable/index.html b/content/zh/documentation/flink-cdc-stable/index.html
index 1a358b0e7..98012917c 100644
--- a/content/zh/documentation/flink-cdc-stable/index.html
+++ b/content/zh/documentation/flink-cdc-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-cdc-stable/" title="CDC 3.0 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-kubernetes-operator-master/index.html b/content/zh/documentation/flink-kubernetes-operator-master/index.html
index 1420840df..8dff10536 100644
--- a/content/zh/documentation/flink-kubernetes-operator-master/index.html
+++ b/content/zh/documentation/flink-kubernetes-operator-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-kubernetes-operator-master/" title="Kubernetes Operator Main (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-kubernetes-operator-stable/index.html b/content/zh/documentation/flink-kubernetes-operator-stable/index.html
index 33db549c8..8aef8511a 100644
--- a/content/zh/documentation/flink-kubernetes-operator-stable/index.html
+++ b/content/zh/documentation/flink-kubernetes-operator-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-kubernetes-operator-stable/" title="Kubernetes Operator 1.8 (latest)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-master/index.html b/content/zh/documentation/flink-master/index.html
index 7dc6479be..d634078ff 100644
--- a/content/zh/documentation/flink-master/index.html
+++ b/content/zh/documentation/flink-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-master/" title="Flink Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-stable/index.html b/content/zh/documentation/flink-stable/index.html
index 6d73487ff..985054189 100644
--- a/content/zh/documentation/flink-stable/index.html
+++ b/content/zh/documentation/flink-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-stable/" title="Flink 1.19 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-stateful-functions-master/index.html b/content/zh/documentation/flink-stateful-functions-master/index.html
index ceb3f90ee..85337660f 100644
--- a/content/zh/documentation/flink-stateful-functions-master/index.html
+++ b/content/zh/documentation/flink-stateful-functions-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-stateful-functions-master/" title="Stateful Functions Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flink-stateful-functions-stable/index.html b/content/zh/documentation/flink-stateful-functions-stable/index.html
index 674db0ce8..d0dbc596e 100644
--- a/content/zh/documentation/flink-stateful-functions-stable/index.html
+++ b/content/zh/documentation/flink-stateful-functions-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flink-stateful-functions-stable/" title="Stateful Functions 3.3 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flinkml-master/index.html b/content/zh/documentation/flinkml-master/index.html
index 1d4ccf2fd..abefeb1f9 100644
--- a/content/zh/documentation/flinkml-master/index.html
+++ b/content/zh/documentation/flinkml-master/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flinkml-master/" title="ML Master (snapshot)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/flinkml-stable/index.html b/content/zh/documentation/flinkml-stable/index.html
index bf436ae01..8b201c9b7 100644
--- a/content/zh/documentation/flinkml-stable/index.html
+++ b/content/zh/documentation/flinkml-stable/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/flinkml-stable/" title="ML 2.3 (stable)">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/documentation/index.html b/content/zh/documentation/index.html
index f40885e82..130189b68 100644
--- a/content/zh/documentation/index.html
+++ b/content/zh/documentation/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/documentation/" title="Documentation">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/documentation/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/zh/downloads/index.html b/content/zh/downloads/index.html
index 3a3c1f09b..16a318c6a 100644
--- a/content/zh/downloads/index.html
+++ b/content/zh/downloads/index.html
@@ -38,7 +38,7 @@ Apache Flink 1.18.1 Source Release (asc, sha512)" />
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/downloads/" title="Downloads">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/flink-packages/index.html b/content/zh/flink-packages/index.html
index 93257af30..6e390b99e 100644
--- a/content/zh/flink-packages/index.html
+++ b/content/zh/flink-packages/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/flink-packages/" title="flink-packages.org">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/getting-started/index.html b/content/zh/getting-started/index.html
index 06ca50819..b50e69d46 100644
--- a/content/zh/getting-started/index.html
+++ b/content/zh/getting-started/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/" title="Getting Started">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/getting-started/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/zh/getting-started/training-course/index.html b/content/zh/getting-started/training-course/index.html
index a7a94f793..15cacb204 100644
--- a/content/zh/getting-started/training-course/index.html
+++ b/content/zh/getting-started/training-course/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/training-course/" title="Training Course">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/getting-started/with-flink-cdc/index.html b/content/zh/getting-started/with-flink-cdc/index.html
index a26dfad8e..6ec2e2509 100644
--- a/content/zh/getting-started/with-flink-cdc/index.html
+++ b/content/zh/getting-started/with-flink-cdc/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/with-flink-cdc/" title="With Flink CDC">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/getting-started/with-flink-kubernetes-operator/index.html b/content/zh/getting-started/with-flink-kubernetes-operator/index.html
index dc5ccdcbd..1327f6f06 100644
--- a/content/zh/getting-started/with-flink-kubernetes-operator/index.html
+++ b/content/zh/getting-started/with-flink-kubernetes-operator/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/with-flink-kubernetes-operator/" title="With Flink Kubernetes Operator">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/getting-started/with-flink-ml/index.html b/content/zh/getting-started/with-flink-ml/index.html
index 7be88e192..af390b76a 100644
--- a/content/zh/getting-started/with-flink-ml/index.html
+++ b/content/zh/getting-started/with-flink-ml/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/with-flink-ml/" title="With Flink ML">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/getting-started/with-flink-stateful-functions/index.html b/content/zh/getting-started/with-flink-stateful-functions/index.html
index a4e3758bf..f1f27dd8b 100644
--- a/content/zh/getting-started/with-flink-stateful-functions/index.html
+++ b/content/zh/getting-started/with-flink-stateful-functions/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/with-flink-stateful-functions/" title="With Flink Stateful Functions">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/getting-started/with-flink/index.html b/content/zh/getting-started/with-flink/index.html
index 9502e7340..bb965e726 100644
--- a/content/zh/getting-started/with-flink/index.html
+++ b/content/zh/getting-started/with-flink/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/getting-started/with-flink/" title="With Flink">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/code-style-and-quality-common/index.html b/content/zh/how-to-contribute/code-style-and-quality-common/index.html
index 1683c44e3..1ad7172c9 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-common/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-common/index.html
@@ -30,7 +30,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-common/" title="Code Style and Quality Guide — Common Rules">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -460,33 +460,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Common Rules
   <a class="anchor" href="#code-style-and-quality-guide--common-rules">#</a>
 </h1>
-<h4 id="序言hahahugoshortcode57s0hbhb">
+<h4 id="序言hahahugoshortcode64s0hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-preamble/">序言</a>
-  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode57s0hbhb">#</a>
+  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode64s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode57s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode64s1hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode57s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode64s1hbhb">#</a>
 </h4>
-<h4 id="常用编码指南hahahugoshortcode57s2hbhb">
+<h4 id="常用编码指南hahahugoshortcode64s2hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-common/">常用编码指南</a>
-  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode57s2hbhb">#</a>
+  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode64s2hbhb">#</a>
 </h4>
-<h4 id="java-语言指南hahahugoshortcode57s3hbhb">
+<h4 id="java-语言指南hahahugoshortcode64s3hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-java/">Java 语言指南</a>
-  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode57s3hbhb">#</a>
+  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode64s3hbhb">#</a>
 </h4>
-<h4 id="scala-语言指南hahahugoshortcode57s4hbhb">
+<h4 id="scala-语言指南hahahugoshortcode64s4hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-scala/">Scala 语言指南</a>
-  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode57s4hbhb">#</a>
+  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode64s4hbhb">#</a>
 </h4>
-<h4 id="组件指南hahahugoshortcode57s5hbhb">
+<h4 id="组件指南hahahugoshortcode64s5hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-components/">组件指南</a>
-  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode57s5hbhb">#</a>
+  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode64s5hbhb">#</a>
 </h4>
-<h4 id="格式指南hahahugoshortcode57s6hbhb">
+<h4 id="格式指南hahahugoshortcode64s6hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-formatting/">格式指南</a>
-  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode57s6hbhb">#</a>
+  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode64s6hbhb">#</a>
 </h4>
 <hr>
 <h2 id="1-copyright">
diff --git a/content/zh/how-to-contribute/code-style-and-quality-components/index.html b/content/zh/how-to-contribute/code-style-and-quality-components/index.html
index 5ece36f20..bb190e744 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-components/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-components/index.html
@@ -36,7 +36,7 @@ taskmanager: { jvm-exit-on-oom: true, network: { detailed-metrics: false, reques
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-components/" title="Code Style and Quality Guide — Components Guide">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/code-style-and-quality-formatting/index.html b/content/zh/how-to-contribute/code-style-and-quality-formatting/index.html
index 3bbbbee5a..7ab40246b 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-formatting/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-formatting/index.html
@@ -30,7 +30,7 @@ License # Apache license headers. Make sure you have Apache License headers in y
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-formatting/" title="Code Style and Quality Guide — Formatting Guide">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -460,33 +460,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Formatting Guide
   <a class="anchor" href="#code-style-and-quality-guide--formatting-guide">#</a>
 </h1>
-<h4 id="序言hahahugoshortcode60s0hbhb">
+<h4 id="序言hahahugoshortcode62s0hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-preamble/">序言</a>
-  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode60s0hbhb">#</a>
+  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode62s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode60s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode62s1hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode60s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode62s1hbhb">#</a>
 </h4>
-<h4 id="常用编码指南hahahugoshortcode60s2hbhb">
+<h4 id="常用编码指南hahahugoshortcode62s2hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-common/">常用编码指南</a>
-  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode60s2hbhb">#</a>
+  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode62s2hbhb">#</a>
 </h4>
-<h4 id="java-语言指南hahahugoshortcode60s3hbhb">
+<h4 id="java-语言指南hahahugoshortcode62s3hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-java/">Java 语言指南</a>
-  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode60s3hbhb">#</a>
+  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode62s3hbhb">#</a>
 </h4>
-<h4 id="scala-语言指南hahahugoshortcode60s4hbhb">
+<h4 id="scala-语言指南hahahugoshortcode62s4hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-scala/">Scala 语言指南</a>
-  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode60s4hbhb">#</a>
+  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode62s4hbhb">#</a>
 </h4>
-<h4 id="组件指南hahahugoshortcode60s5hbhb">
+<h4 id="组件指南hahahugoshortcode62s5hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-components/">组件指南</a>
-  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode60s5hbhb">#</a>
+  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode62s5hbhb">#</a>
 </h4>
-<h4 id="格式指南hahahugoshortcode60s6hbhb">
+<h4 id="格式指南hahahugoshortcode62s6hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-formatting/">格式指南</a>
-  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode60s6hbhb">#</a>
+  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode62s6hbhb">#</a>
 </h4>
 <h2 id="java-code-formatting-style">
   Java Code Formatting Style
diff --git a/content/zh/how-to-contribute/code-style-and-quality-java/index.html b/content/zh/how-to-contribute/code-style-and-quality-java/index.html
index 7d0b237f9..426690f73 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-java/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-java/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-java/" title="Code Style and Quality Guide — Java">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -458,33 +458,33 @@ https://github.com/alex-shpak/hugo-book
   Code Style and Quality Guide — Java
   <a class="anchor" href="#code-style-and-quality-guide--java">#</a>
 </h1>
-<h4 id="序言hahahugoshortcode62s0hbhb">
+<h4 id="序言hahahugoshortcode61s0hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-preamble/">序言</a>
-  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode62s0hbhb">#</a>
+  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode61s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode62s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode61s1hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode62s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode61s1hbhb">#</a>
 </h4>
-<h4 id="常用编码指南hahahugoshortcode62s2hbhb">
+<h4 id="常用编码指南hahahugoshortcode61s2hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-common/">常用编码指南</a>
-  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode62s2hbhb">#</a>
+  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode61s2hbhb">#</a>
 </h4>
-<h4 id="java-语言指南hahahugoshortcode62s3hbhb">
+<h4 id="java-语言指南hahahugoshortcode61s3hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-java/">Java 语言指南</a>
-  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode62s3hbhb">#</a>
+  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode61s3hbhb">#</a>
 </h4>
-<h4 id="scala-语言指南hahahugoshortcode62s4hbhb">
+<h4 id="scala-语言指南hahahugoshortcode61s4hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-scala/">Scala 语言指南</a>
-  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode62s4hbhb">#</a>
+  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode61s4hbhb">#</a>
 </h4>
-<h4 id="组件指南hahahugoshortcode62s5hbhb">
+<h4 id="组件指南hahahugoshortcode61s5hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-components/">组件指南</a>
-  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode62s5hbhb">#</a>
+  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode61s5hbhb">#</a>
 </h4>
-<h4 id="格式指南hahahugoshortcode62s6hbhb">
+<h4 id="格式指南hahahugoshortcode61s6hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-formatting/">格式指南</a>
-  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode62s6hbhb">#</a>
+  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode61s6hbhb">#</a>
 </h4>
 <h2 id="java-language-features-and-libraries">
   Java Language Features and Libraries
diff --git a/content/zh/how-to-contribute/code-style-and-quality-preamble/index.html b/content/zh/how-to-contribute/code-style-and-quality-preamble/index.html
index 29c140625..c325c91c6 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-preamble/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-preamble/index.html
@@ -40,7 +40,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-preamble/" title="Code Style and Quality Guide">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -470,33 +470,33 @@ https://github.com/alex-shpak/hugo-book
   Apache Flink Code Style and Quality Guide
   <a class="anchor" href="#apache-flink-code-style-and-quality-guide">#</a>
 </h1>
-<h4 id="序言hahahugoshortcode64s0hbhb">
+<h4 id="序言hahahugoshortcode53s0hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-preamble/">序言</a>
-  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode64s0hbhb">#</a>
+  <a class="anchor" href="#%e5%ba%8f%e8%a8%80hahahugoshortcode53s0hbhb">#</a>
 </h4>
-<h4 id="pull-requests--changeshahahugoshortcode64s1hbhb">
+<h4 id="pull-requests--changeshahahugoshortcode53s1hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-pull-requests/">Pull Requests &amp; Changes</a>
-  <a class="anchor" href="#pull-requests--changeshahahugoshortcode64s1hbhb">#</a>
+  <a class="anchor" href="#pull-requests--changeshahahugoshortcode53s1hbhb">#</a>
 </h4>
-<h4 id="常用编码指南hahahugoshortcode64s2hbhb">
+<h4 id="常用编码指南hahahugoshortcode53s2hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-common/">常用编码指南</a>
-  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode64s2hbhb">#</a>
+  <a class="anchor" href="#%e5%b8%b8%e7%94%a8%e7%bc%96%e7%a0%81%e6%8c%87%e5%8d%97hahahugoshortcode53s2hbhb">#</a>
 </h4>
-<h4 id="java-语言指南hahahugoshortcode64s3hbhb">
+<h4 id="java-语言指南hahahugoshortcode53s3hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-java/">Java 语言指南</a>
-  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode64s3hbhb">#</a>
+  <a class="anchor" href="#java-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode53s3hbhb">#</a>
 </h4>
-<h4 id="scala-语言指南hahahugoshortcode64s4hbhb">
+<h4 id="scala-语言指南hahahugoshortcode53s4hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-scala/">Scala 语言指南</a>
-  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode64s4hbhb">#</a>
+  <a class="anchor" href="#scala-%e8%af%ad%e8%a8%80%e6%8c%87%e5%8d%97hahahugoshortcode53s4hbhb">#</a>
 </h4>
-<h4 id="组件指南hahahugoshortcode64s5hbhb">
+<h4 id="组件指南hahahugoshortcode53s5hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-components/">组件指南</a>
-  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode64s5hbhb">#</a>
+  <a class="anchor" href="#%e7%bb%84%e4%bb%b6%e6%8c%87%e5%8d%97hahahugoshortcode53s5hbhb">#</a>
 </h4>
-<h4 id="格式指南hahahugoshortcode64s6hbhb">
+<h4 id="格式指南hahahugoshortcode53s6hbhb">
   <a href="/zh/how-to-contribute/code-style-and-quality-formatting/">格式指南</a>
-  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode64s6hbhb">#</a>
+  <a class="anchor" href="#%e6%a0%bc%e5%bc%8f%e6%8c%87%e5%8d%97hahahugoshortcode53s6hbhb">#</a>
 </h4>
 <hr>
 <p>这是对我们想要维护的代码和质量标准的一种尝试。</p>
diff --git a/content/zh/how-to-contribute/code-style-and-quality-pull-requests/index.html b/content/zh/how-to-contribute/code-style-and-quality-pull-requests/index.html
index be3d334a0..dbe852296 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-pull-requests/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-pull-requests/index.html
@@ -30,7 +30,7 @@ Reviews are much faster and thus contributions get merged sooner." />
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-pull-requests/" title="Code Style and Quality Guide — Pull Requests & Changes">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/code-style-and-quality-scala/index.html b/content/zh/how-to-contribute/code-style-and-quality-scala/index.html
index 034cac2e9..249a5cdd6 100644
--- a/content/zh/how-to-contribute/code-style-and-quality-scala/index.html
+++ b/content/zh/how-to-contribute/code-style-and-quality-scala/index.html
@@ -36,7 +36,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/code-style-and-quality-scala/" title="Code Style and Quality Guide — Scala">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/contribute-code/index.html b/content/zh/how-to-contribute/contribute-code/index.html
index 77387d8dc..1a60eacbf 100644
--- a/content/zh/how-to-contribute/contribute-code/index.html
+++ b/content/zh/how-to-contribute/contribute-code/index.html
@@ -36,7 +36,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/contribute-code/" title="Contribute Code">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/contribute-documentation/index.html b/content/zh/how-to-contribute/contribute-documentation/index.html
index 875c69506..e068c4473 100644
--- a/content/zh/how-to-contribute/contribute-documentation/index.html
+++ b/content/zh/how-to-contribute/contribute-documentation/index.html
@@ -46,7 +46,7 @@ git clone https://github.com/&lt;your-user-name&gt;/flink.git 文档位于 Flink
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/contribute-documentation/" title="Contribute Documentation">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/documentation-style-guide/index.html b/content/zh/how-to-contribute/documentation-style-guide/index.html
index ab489b26d..a713fe9e7 100644
--- a/content/zh/how-to-contribute/documentation-style-guide/index.html
+++ b/content/zh/how-to-contribute/documentation-style-guide/index.html
@@ -38,7 +38,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/documentation-style-guide/" title="Documentation Style Guide">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/getting-help/index.html b/content/zh/how-to-contribute/getting-help/index.html
index ea446e133..5bee650f6 100644
--- a/content/zh/how-to-contribute/getting-help/index.html
+++ b/content/zh/how-to-contribute/getting-help/index.html
@@ -42,7 +42,7 @@ Slack # 你可以通过 此链接 加入 Apache Flink 社区专属的 Slack 工
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/getting-help/" title="Getting Help">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/improve-website/index.html b/content/zh/how-to-contribute/improve-website/index.html
index 8c6d4e7e9..adc1f9ce5 100644
--- a/content/zh/how-to-contribute/improve-website/index.html
+++ b/content/zh/how-to-contribute/improve-website/index.html
@@ -42,7 +42,7 @@ flink-web git 仓库中的文件和目录具有以下作用:" />
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/improve-website/" title="Contribute to the Website">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/how-to-contribute/index.html b/content/zh/how-to-contribute/index.html
index 96590f219..501442a40 100644
--- a/content/zh/how-to-contribute/index.html
+++ b/content/zh/how-to-contribute/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/" title="How to Contribute">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/how-to-contribute/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/zh/how-to-contribute/index.xml b/content/zh/how-to-contribute/index.xml
index a2e7f1063..9201727ef 100644
--- a/content/zh/how-to-contribute/index.xml
+++ b/content/zh/how-to-contribute/index.xml
@@ -12,7 +12,7 @@
       <link>https://flink.apache.org/zh/how-to-contribute/overview/</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       <guid>https://flink.apache.org/zh/how-to-contribute/overview/</guid>
-      <description> 如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。&#xA;你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:&#xA;可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 </description>
+      <description>如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。&#xA;你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:&#xA;可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 代码贡献指南 帮助做代码审核 请阅读 代码审核指南 帮助准备版本发布 发布新版本包括以下步骤: 建立新的候选版本并且在 dev@flink.apache.org 邮件列表发起投票(投票通�
 ��持续72小时)。 测试候选版本并投票 (如果没发现问题就 +1,发现问题则 -1)。 如果候选版本有问题就退回到第 [...]
     </item>
     <item>
       <title>贡献代码</title>
diff --git a/content/zh/how-to-contribute/overview/index.html b/content/zh/how-to-contribute/overview/index.html
index 5249bfb71..beaca78f8 100644
--- a/content/zh/how-to-contribute/overview/index.html
+++ b/content/zh/how-to-contribute/overview/index.html
@@ -15,13 +15,13 @@
 
   <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="description" content=" 如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。
+<meta name="description" content="如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。
 你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:
-可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 ">
+可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 代码贡献指南 帮助做代码审核 请阅读 代码审核指南 帮助准备版本发布 发布新版本包括以下步骤: 建立新的候选版本并且在 dev@flink.apache.org 邮件列表发起投票(投票通常持续72小时)。 测试候选版本并投票 (如果没发现问题就 &#43;1,发现问题则 -1)。 如果候选版本有问题就退回到第一步。否则我们发布该版本。 请阅读 版本测试流程。 贡献文档 请阅读 文档贡献指南 支持 Flink 用户 回答 用户邮件列表 中的问题 回答 Stack Overflow 上带有 apache-flink、 flink-streaming 或 flink-sql 标签的 Flink 相关问题 检查 Jira 上近期发布的 issue 中用户提出的问�
 � 改进网站 请阅读 网站贡献指南 推广 Flink 组织或出席 Flink Meet [...]
 <meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="如何参与贡献" />
-<meta property="og:description" content=" 如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。
+<meta property="og:description" content="如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。
 你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:
-可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 " />
+可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 代码贡献指南 帮助做代码审核 请阅读 代码审核指南 帮助准备版本发布 发布新版本包括以下步骤: 建立新的候选版本并且在 dev@flink.apache.org 邮件列表发起投票(投票通常持续72小时)。 测试候选版本并投票 (如果没发现问题就 &#43;1,发现问题则 -1)。 如果候选版本有问题就退回到第一步。否则我们发布该版本。 请阅读 版本测试流程。 贡献文档 请阅读 文档贡献指南 支持 Flink 用户 回答 用户邮件列表 中的问题 回答 Stack Overflow 上带有 apache-flink、 flink-streaming 或 flink-sql 标签的 Flink 相关问题 检查 Jira 上近期发布的 issue 中用户提出的问�
 � 改进网站 请阅读 网站贡献指南 推广 Flink 组织或出席 Flink Meet [...]
 <meta property="og:type" content="article" />
 <meta property="og:url" content="https://flink.apache.org/zh/how-to-contribute/overview/" /><meta property="article:section" content="how-to-contribute" />
 
@@ -32,7 +32,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/overview/" title="Overview">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -483,7 +483,7 @@ https://github.com/alex-shpak/hugo-book
     </tr>
     <tr>
       <td><span class="glyphicon glyphicon-console" aria-hidden="true"></span> 贡献代码</td>
-      <td>请阅读 <a href=""/zh/how-to-contribute/contribute-code/">代码贡献指南</a></td>
+      <td>请阅读 <a href="/zh/how-to-contribute/contribute-code/">代码贡献指南</a></td>
     </tr>
     <tr>
       <td><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> 帮助做代码审核</td>
diff --git a/content/zh/how-to-contribute/reviewing-prs/index.html b/content/zh/how-to-contribute/reviewing-prs/index.html
index 4d9ecb115..2b35586a2 100644
--- a/content/zh/how-to-contribute/reviewing-prs/index.html
+++ b/content/zh/how-to-contribute/reviewing-prs/index.html
@@ -44,7 +44,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/reviewing-prs/" title="Review Pull Requests">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/index.html b/content/zh/index.html
index af1718ee9..7ba37d4b7 100644
--- a/content/zh/index.html
+++ b/content/zh/index.html
@@ -15,7 +15,7 @@
 
   <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="description" content="最新博客列表 Apache Flink Kubernetes Operator 1.8.0 Release Announcement 2024年3月21日 - Maximilian Michels. Gyula Fora. Rui Fan. The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0! The release includes many improvements to the operator core, the autoscaler, and introduces new … Continue reading Announcing the Release of Apache Flink 1.19 2024年3月18日 - Lincoln Lee. The Apache Flink PMC is pleased to announce the releas [...]
+<meta name="description" content="最新博客列表 Apache Flink CDC 3.1.0 Release Announcement 2024年5月17日 - Qingsheng Ren. The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, … Continue reading Apache Flink Kubernetes Operator 1.8.0 Release Announcement 2024年3月21日 - Maximilian Michels. Gyula Fora. Rui Fan. The Apache Flink community is excited to announce [...]
 <meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink Documentation" />
 <meta property="og:description" content="" />
 <meta property="og:type" content="website" />
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/" title="Apache Flink® — Stateful Computations over Data Streams">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
@@ -611,6 +611,22 @@ under the License.
   <div class="wrapper">
     
         
+          <div class="card">
+            <div class="heading">Apache Flink CDC 3.1.0 Release Announcement</div>
+            <div class="body">
+                <p>
+                  2024年5月17日 - 
+                  
+                    Qingsheng Ren.
+                  
+                </p>
+                <p class="truncate">
+                  The Apache Flink community is excited to announce the release of Flink CDC 3.1.0! This is the first release after the community accepted the donation of Flink CDC as a sub-project of Apache Flink, …
+                </p>
+                <a href="/2024/05/17/apache-flink-cdc-3.1.0-release-announcement/">Continue reading</a>
+            </div>
+          </div>
+        
           <div class="card">
             <div class="heading">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</div>
             <div class="body">
@@ -648,23 +664,6 @@ The release includes many improvements to the operator core, the autoscaler, and
             </div>
           </div>
         
-          <div class="card">
-            <div class="heading">Apache Flink 1.18.1 Release Announcement</div>
-            <div class="body">
-                <p>
-                  2024年1月19日 - 
-                  
-                    Jing Ge.
-                  
-                </p>
-                <p class="truncate">
-                  The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.18 series.
-This release includes 47 bug fixes, vulnerability fixes, and minor improvements for Flink 1.18. …
-                </p>
-                <a href="/2024/01/19/apache-flink-1.18.1-release-announcement/">Continue reading</a>
-            </div>
-          </div>
-        
     
         
     
diff --git a/content/zh/index.xml b/content/zh/index.xml
index 8c087f3d5..b98aac1d7 100644
--- a/content/zh/index.xml
+++ b/content/zh/index.xml
@@ -68,7 +68,7 @@
       <link>https://flink.apache.org/zh/what-is-flink/flink-operations/</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       <guid>https://flink.apache.org/zh/what-is-flink/flink-operations/</guid>
-      <description>Apache Flink 是什么? # Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。&#xA;Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。&#xA;7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常�
 �行,好像故障就没有发生过一样。&#xA;Flink通过几下多种机制维护应用可持续运行及其一致性:&#xA;检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点 [...]
+      <description>Apache Flink 是什么? # Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。&#xA;Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。&#xA;7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常�
 �行,好像故障就没有发生过一样。&#xA;Flink通过以下多种机制维护应用可持续运行及其一致性:&#xA;检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点 [...]
     </item>
     <item>
       <title>Kubernetes Operator Main (snapshot)</title>
@@ -194,7 +194,7 @@
       <link>https://flink.apache.org/zh/how-to-contribute/overview/</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       <guid>https://flink.apache.org/zh/how-to-contribute/overview/</guid>
-      <description> 如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。&#xA;你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:&#xA;可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 </description>
+      <description>如何参与贡献 # Apache Flink 是由一个开放友好的社区开发的。我们诚挚地欢迎每个人加入社区并为 Apache Flink 做出贡献。与社区交流和为 Flink 做贡献的方式包括:提问题、报告 bug、提议新特性、参与邮件列表的讨论、贡献代码或文档、改进网站和测试候选发布版本。&#xA;你想做什么? # 为 Apache Flink 做贡献不仅仅包括贡献代码。下面列出来不同的贡献形式:&#xA;可以贡献的领域 详细说明 报告 Bug 要报告 Flink 的问题,请登录 Flink’s Jira,然后点击顶部红色的 Create 按钮。 请提供你遇到问题的详细信息,如果可以,请附上能够帮助我们复现问题的描述。 贡献代码 请阅读 代码贡献指南 帮助做代码审核 请阅读 代码审核指南 帮助准备版本发布 发布新版本包括以下步骤: 建立新的候选版本并且在 dev@flink.apache.org 邮件列表发起投票(投票通�
 ��持续72小时)。 测试候选版本并投票 (如果没发现问题就 +1,发现问题则 -1)。 如果候选版本有问题就退回到第 [...]
     </item>
     <item>
       <title>贡献代码</title>
diff --git a/content/zh/material/index.html b/content/zh/material/index.html
index aac397a12..760facbc2 100644
--- a/content/zh/material/index.html
+++ b/content/zh/material/index.html
@@ -34,7 +34,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/material/" title="Material">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/tags/index.html b/content/zh/tags/index.html
index 95aa5b805..ae005e6d9 100644
--- a/content/zh/tags/index.html
+++ b/content/zh/tags/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/tags/" title="Tags">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/tags/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/zh/what-is-flink-ml/index.html b/content/zh/what-is-flink-ml/index.html
index 1768845dd..8cbe64177 100644
--- a/content/zh/what-is-flink-ml/index.html
+++ b/content/zh/what-is-flink-ml/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink-ml/" title="What is Flink ML?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink-table-store/index.html b/content/zh/what-is-flink-table-store/index.html
index 3fb9bd316..8003cfc49 100644
--- a/content/zh/what-is-flink-table-store/index.html
+++ b/content/zh/what-is-flink-table-store/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink-table-store/" title="What is Paimon(incubating) (formerly Flink Table Store)?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/community/index.html b/content/zh/what-is-flink/community/index.html
index d4a9ea861..bef66b6b2 100644
--- a/content/zh/what-is-flink/community/index.html
+++ b/content/zh/what-is-flink/community/index.html
@@ -38,7 +38,7 @@ Flink 社区的新闻和公告 订阅 订阅 退订 只读邮件列表 归档 co
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/community/" title="Community & Project Info">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/flink-applications/index.html b/content/zh/what-is-flink/flink-applications/index.html
index 6e54f157c..b31d7fefc 100644
--- a/content/zh/what-is-flink/flink-applications/index.html
+++ b/content/zh/what-is-flink/flink-applications/index.html
@@ -40,7 +40,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/flink-applications/" title="Applications">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/flink-architecture/index.html b/content/zh/what-is-flink/flink-architecture/index.html
index 0f1bac1d7..ae2dedc31 100644
--- a/content/zh/what-is-flink/flink-architecture/index.html
+++ b/content/zh/what-is-flink/flink-architecture/index.html
@@ -54,7 +54,7 @@ Flink 用户报告了其生产环境中一些令人印象深刻的扩展性数
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/flink-architecture/" title="Architecture">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/flink-operations/index.html b/content/zh/what-is-flink/flink-operations/index.html
index 901673645..0ade2e380 100644
--- a/content/zh/what-is-flink/flink-operations/index.html
+++ b/content/zh/what-is-flink/flink-operations/index.html
@@ -18,7 +18,7 @@
 <meta name="description" content="Apache Flink 是什么? # Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。
 Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。
 7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常运行,好像故障就没有发生过一样。
-Flink通过几下多种机制维护应用可持续运行及其一致性:
+Flink通过以下多种机制维护应用可持续运行及其一致性:
 检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证*精确一次(exactly-once)*的状态一致性。 高效的检查点: 如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。 端到端的精确一次: Flink 为某些特定的存储支持了事务型输出的功能,及时在发生故障的情况下,也能够保证精确一次的输出。 集成多种集群管理服务: Flink已与多种集群管理服务紧密集成,如 Hadoop YARN, Mesos, 以及 Kubernetes。当集群中某个流程任务失败后,一个新的流程服务�
 ��自动启动并替代它继续执行。 内置高可用服务: Flink内置了为解决单点故障问题的高可用性服务模块,此模块是基于Apache ZooKeeper 技术实现的,Apache ZooKeeper是一种可靠的、交 [...]
 而Flink的 Savepoint 服务就是为解决升级服务过程中记录流应用状态信息及其相关难题而产生的一种唯一的、强大的组件。一个 Savepoint,就是一个应用服务状态的一致性快照,因此其与checkpoint组件的很相似,但是与checkpoint相比,Savepoint 需要手动触发启动,而且当流应用服务停止时,它并不会自动删除。Savepoint 常被应用于启动一个已含有状态的流服务,并初始化其(备份时)状态。Savepoint 有以下特点:
 便于升级应用服务版本: Savepoint 常在应用版本升级时使用,当前应用的新版本更新升级时,可以根据上一个版本程序记录的 Savepoint 内的服务状态信息来重启服务。它也可能会使用更早的 Savepoint 还原点来重启服务,以便于修复由于有缺陷的程序版本导致的不正确的程序运行结果。 方便集群服务移植: 通过使用 Savepoint,流服务应用可以自由的在不同集群中迁移部署。 方便Flink版本升级: 通过使用 Savepoint,可以使应用服务在升级Flink时,更加安全便捷。 增加应用并行服务的扩展性: Savepoint 也常在增加或减少应用服务集群的并行度时使用。 便于A/B测试及假设分析场景对比结果: 通过把同一应用在使用不同版本的应用程序,基于同一个 Savepoint 还原点启动服务时,可以测试对比2个或多个版本程序的性能及服务质量。 暂停和恢复服务: 一个应用服务可以�
 �新建一个 Savepoint 后再停止服务,以便于后面任何时间点再根据这个实时刷新的 Savepoint 还原点进行恢复服务。 归档服务: Savepoint 还提供还原点的归档服 [...]
@@ -26,7 +26,7 @@ Flink通过几下多种机制维护应用可持续运行及其一致性:
 <meta property="og:description" content="Apache Flink 是什么? # Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。
 Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。
 7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常运行,好像故障就没有发生过一样。
-Flink通过几下多种机制维护应用可持续运行及其一致性:
+Flink通过以下多种机制维护应用可持续运行及其一致性:
 检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证*精确一次(exactly-once)*的状态一致性。 高效的检查点: 如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。 端到端的精确一次: Flink 为某些特定的存储支持了事务型输出的功能,及时在发生故障的情况下,也能够保证精确一次的输出。 集成多种集群管理服务: Flink已与多种集群管理服务紧密集成,如 Hadoop YARN, Mesos, 以及 Kubernetes。当集群中某个流程任务失败后,一个新的流程服务�
 ��自动启动并替代它继续执行。 内置高可用服务: Flink内置了为解决单点故障问题的高可用性服务模块,此模块是基于Apache ZooKeeper 技术实现的,Apache ZooKeeper是一种可靠的、交 [...]
 而Flink的 Savepoint 服务就是为解决升级服务过程中记录流应用状态信息及其相关难题而产生的一种唯一的、强大的组件。一个 Savepoint,就是一个应用服务状态的一致性快照,因此其与checkpoint组件的很相似,但是与checkpoint相比,Savepoint 需要手动触发启动,而且当流应用服务停止时,它并不会自动删除。Savepoint 常被应用于启动一个已含有状态的流服务,并初始化其(备份时)状态。Savepoint 有以下特点:
 便于升级应用服务版本: Savepoint 常在应用版本升级时使用,当前应用的新版本更新升级时,可以根据上一个版本程序记录的 Savepoint 内的服务状态信息来重启服务。它也可能会使用更早的 Savepoint 还原点来重启服务,以便于修复由于有缺陷的程序版本导致的不正确的程序运行结果。 方便集群服务移植: 通过使用 Savepoint,流服务应用可以自由的在不同集群中迁移部署。 方便Flink版本升级: 通过使用 Savepoint,可以使应用服务在升级Flink时,更加安全便捷。 增加应用并行服务的扩展性: Savepoint 也常在增加或减少应用服务集群的并行度时使用。 便于A/B测试及假设分析场景对比结果: 通过把同一应用在使用不同版本的应用程序,基于同一个 Savepoint 还原点启动服务时,可以测试对比2个或多个版本程序的性能及服务质量。 暂停和恢复服务: 一个应用服务可以�
 �新建一个 Savepoint 后再停止服务,以便于后面任何时间点再根据这个实时刷新的 Savepoint 还原点进行恢复服务。 归档服务: Savepoint 还提供还原点的归档服 [...]
@@ -40,7 +40,7 @@ Flink通过几下多种机制维护应用可持续运行及其一致性:
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/flink-operations/" title="Operations">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
@@ -477,7 +477,7 @@ https://github.com/alex-shpak/hugo-book
   <a class="anchor" href="#7--24%e5%b0%8f%e6%97%b6%e7%a8%b3%e5%ae%9a%e8%bf%90%e8%a1%8c">#</a>
 </h2>
 <p>在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常运行,好像故障就没有发生过一样。</p>
-<p>Flink通过几下多种机制维护应用可持续运行及其一致性:</p>
+<p>Flink通过以下多种机制维护应用可持续运行及其一致性:</p>
 <ul>
 <li><strong>检查点的一致性</strong>: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证*精确一次(exactly-once)*的状态一致性。</li>
 <li><strong>高效的检查点</strong>: 如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。</li>
diff --git a/content/zh/what-is-flink/index.html b/content/zh/what-is-flink/index.html
index 6eae8eb5a..833697eb0 100644
--- a/content/zh/what-is-flink/index.html
+++ b/content/zh/what-is-flink/index.html
@@ -26,7 +26,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/" title="About">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/zh/what-is-flink/index.xml" title="Apache Flink" />
 <!--
 Made with Book Theme
diff --git a/content/zh/what-is-flink/index.xml b/content/zh/what-is-flink/index.xml
index ae2713bc0..3353e8681 100644
--- a/content/zh/what-is-flink/index.xml
+++ b/content/zh/what-is-flink/index.xml
@@ -26,7 +26,7 @@
       <link>https://flink.apache.org/zh/what-is-flink/flink-operations/</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       <guid>https://flink.apache.org/zh/what-is-flink/flink-operations/</guid>
-      <description>Apache Flink 是什么? # Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。&#xA;Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。&#xA;7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常�
 �行,好像故障就没有发生过一样。&#xA;Flink通过几下多种机制维护应用可持续运行及其一致性:&#xA;检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点 [...]
+      <description>Apache Flink 是什么? # Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。&#xA;Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。&#xA;7 * 24小时稳定运行 # 在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常�
 �行,好像故障就没有发生过一样。&#xA;Flink通过以下多种机制维护应用可持续运行及其一致性:&#xA;检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点 [...]
     </item>
     <item>
       <title>应用场景</title>
diff --git a/content/zh/what-is-flink/powered-by/index.html b/content/zh/what-is-flink/powered-by/index.html
index 985ae4f74..9e43fb28c 100644
--- a/content/zh/what-is-flink/powered-by/index.html
+++ b/content/zh/what-is-flink/powered-by/index.html
@@ -34,7 +34,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/powered-by/" title="Powered By">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/roadmap/index.html b/content/zh/what-is-flink/roadmap/index.html
index c4175dbd4..09a82ddb1 100644
--- a/content/zh/what-is-flink/roadmap/index.html
+++ b/content/zh/what-is-flink/roadmap/index.html
@@ -38,7 +38,7 @@ Last Update: 2023-09-01
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/roadmap/" title="Roadmap">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/security/index.html b/content/zh/what-is-flink/security/index.html
index 66138c4fd..767606d05 100644
--- a/content/zh/what-is-flink/security/index.html
+++ b/content/zh/what-is-flink/security/index.html
@@ -30,7 +30,7 @@ CVE ID Affected Flink versions Notes CVE-2020-1960 1.1.0 to 1.1.5, 1.2.0 to 1.2.
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/security/" title="Security">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/special-thanks/index.html b/content/zh/what-is-flink/special-thanks/index.html
index 9d053cd2b..910fcbf81 100644
--- a/content/zh/what-is-flink/special-thanks/index.html
+++ b/content/zh/what-is-flink/special-thanks/index.html
@@ -40,7 +40,7 @@ Alibaba 捐赠了 8 台机器(32vCPU,64GB)为 Flink 仓库和 Pull Reqeust 
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/special-thanks/" title="Special Thanks">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-flink/use-cases/index.html b/content/zh/what-is-flink/use-cases/index.html
index d7f37986b..df1e964e6 100644
--- a/content/zh/what-is-flink/use-cases/index.html
+++ b/content/zh/what-is-flink/use-cases/index.html
@@ -50,7 +50,7 @@ Flink 中针对事件驱动应用的明星特性当属 savepoint。Savepoint 是
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-flink/use-cases/" title="Use Cases">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-stateful-functions/index.html b/content/zh/what-is-stateful-functions/index.html
index 1faac9b56..64ce2cbb2 100644
--- a/content/zh/what-is-stateful-functions/index.html
+++ b/content/zh/what-is-stateful-functions/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-stateful-functions/" title="What is Stateful Functions?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book
diff --git a/content/zh/what-is-the-flink-kubernetes-operator/index.html b/content/zh/what-is-the-flink-kubernetes-operator/index.html
index 83ae91387..e0a7159be 100644
--- a/content/zh/what-is-the-flink-kubernetes-operator/index.html
+++ b/content/zh/what-is-the-flink-kubernetes-operator/index.html
@@ -28,7 +28,7 @@
 <link rel="alternate" hreflang="en" href="https://flink.apache.org/what-is-the-flink-kubernetes-operator/" title="What is the Flink Kubernetes Operator?">
 
 <link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
-<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
+<script defer src="/zh.search.min.f3e3286c98de92be3d8e9bd6e38450755808e3f4ea743d541778705752fbf8c9.js" integrity="sha256-8&#43;MobJjekr49jpvW44RQdVgI4/TqdD1UF3hwV1L7&#43;Mk="></script>
 <!--
 Made with Book Theme
 https://github.com/alex-shpak/hugo-book