| |
| <!DOCTYPE html> |
| <html lang="en" dir=ZgotmplZ> |
| |
| <head> |
| |
| |
| |
| <link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css"> |
| <script src="/bootstrap/js/bootstrap.bundle.min.js"></script> |
| <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/2019/04/09/apache-flink-1.8.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 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 changelog for more details. |
| 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."> |
| <meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.8.0 Release Announcement" /> |
| <meta property="og:description" 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 changelog for more details. |
| 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." /> |
| <meta property="og:type" content="article" /> |
| <meta property="og:url" content="https://flink.apache.org/2019/04/09/apache-flink-1.8.0-release-announcement/" /><meta property="article:section" content="posts" /> |
| <meta property="article:published_time" content="2019-04-09T12:00:00+00:00" /> |
| <meta property="article:modified_time" content="2019-04-09T12:00:00+00:00" /> |
| <title>Apache Flink 1.8.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> |
| <!-- |
| Made with Book Theme |
| https://github.com/alex-shpak/hugo-book |
| --> |
| |
| <meta name="generator" content="Hugo 0.124.1"> |
| |
| |
| <script> |
| var _paq = window._paq = window._paq || []; |
| |
| |
| _paq.push(['disableCookies']); |
| |
| _paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="//analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '1']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script> |
| |
| </head> |
| |
| <body dir=ZgotmplZ> |
| |
| |
| |
| <header> |
| <nav class="navbar navbar-expand-xl"> |
| <div class="container-fluid"> |
| <a class="navbar-brand" href="/"> |
| <img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle"> |
| <span>Apache Flink</span> |
| </a> |
| <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> |
| <i class="fa fa-bars navbar-toggler-icon"></i> |
| </button> |
| <div class="collapse navbar-collapse" id="navbarSupportedContent"> |
| <ul class="navbar-nav"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/security/">Security</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a> |
| |
| |
| </li> |
| |
| </ul> |
| </li> |
| |
| |
| |
| |
| |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| </ul> |
| </li> |
| |
| |
| |
| |
| |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 1.19 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.8 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i> |
| </a> |
| |
| |
| </li> |
| |
| </ul> |
| </li> |
| |
| |
| |
| |
| |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a> |
| |
| |
| </li> |
| |
| </ul> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| |
| |
| <a class="nav-link" href="/posts/">Flink Blog</a> |
| |
| |
| </li> |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| |
| |
| <a class="nav-link" href="/downloads/">Downloads</a> |
| |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| <div class="book-search"> |
| <div class="book-search-spinner hidden"> |
| <i class="fa fa-refresh fa-spin"></i> |
| </div> |
| <form class="search-bar d-flex" onsubmit="return false;"su> |
| <input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/"> |
| <i class="fa fa-search search"></i> |
| <i class="fa fa-circle-o-notch fa-spin spinner"></i> |
| </form> |
| <div class="book-search-spinner hidden"></div> |
| <ul id="book-search-results"></ul> |
| </div> |
| </div> |
| </div> |
| </nav> |
| <div class="navbar-clearfix"></div> |
| </header> |
| |
| |
| <main class="flex"> |
| <section class="container book-page"> |
| |
| <article class="markdown"> |
| <h1> |
| <a href="/2019/04/09/apache-flink-1.8.0-release-announcement/">Apache Flink 1.8.0 Release Announcement</a> |
| </h1> |
| |
| |
| |
| April 9, 2019 - |
| |
| |
| |
| Aljoscha Krettek |
| |
| <a href="https://twitter.com/aljoscha">(@aljoscha)</a> |
| |
| |
| |
| |
| <p><p>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 <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12344274">complete changelog</a> |
| for more details.</p> |
| <p>Flink 1.8.0 is API-compatible with previous 1.x.y releases for APIs annotated |
| with the <code>@Public</code> annotation. The release is available now and we encourage |
| everyone to <a href="/downloads.html">download the release</a> and |
| check out the updated |
| <a href="//nightlies.apache.org/flink/flink-docs-release-1.8/">documentation</a>. |
| Feedback through the Flink <a href="/community.html#mailing-lists">mailing |
| lists</a> or |
| <a href="https://issues.apache.org/jira/projects/FLINK/summary">JIRA</a> is, as always, |
| very much appreciated!</p> |
| <p>You can find the binaries on the updated <a href="/downloads.html">Downloads page</a> on the Flink project site.</p> |
| <p>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’s |
| underlying distributed system architecture |
| (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=65147077">FLIP-6</a>) |
| as well as refactorings on the Table API that prepare it for the future |
| addition of the Blink enhancements |
| (<a href="https://issues.apache.org/jira/browse/FLINK-11439">FLINK-11439</a>).</p> |
| <p>Nevertheless, this release includes some important new features and bug fixes. |
| The most interesting of those are highlighted below. Please consult the |
| <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12344274">complete changelog</a> |
| and the <a href="//nightlies.apache.org/flink/flink-docs-release-1.8/release-notes/flink-1.8.html">release notes</a> |
| for more details.</p> |
| <h2 id="new-features-and-improvements"> |
| New Features and Improvements |
| <a class="anchor" href="#new-features-and-improvements">#</a> |
| </h2> |
| <ul> |
| <li> |
| <p><strong>Finalized State Schema Evolution Story</strong>: This release completes |
| the community driven effort to provide a schema evolution story for |
| user state managed by Flink. This has been an effort that spanned 2 |
| releases, starting from 1.7.0 with the introduction of support for |
| Avro state schema evolution as well as a revamped serialization |
| compatibility abstraction.</p> |
| <p>Flink 1.8.0 finalizes this effort by extending support for schema |
| evolution to POJOs, upgrading all Flink built-in serializers to use |
| the new serialization compatibility abstractions, as well as making it |
| easier for advanced users who use custom state serializers to |
| implement the abstractions. These different aspects for a complete |
| out-of-the-box schema evolution story are explained in detail below:</p> |
| <ol> |
| <li> |
| <p>Support for POJO state schema evolution: The pool of data types |
| that support state schema evolution has been expanded to include |
| POJOs. For state types that use POJOs, you can now add or remove |
| fields from your POJO while retaining backwards |
| compatibility. For a full overview of the list of data types that |
| now support schema evolution as well as their evolution |
| specifications and limitations, please refer to the State Schema |
| Evolution documentation page.</p> |
| </li> |
| <li> |
| <p>Upgrade all Flink serializers to use new serialization |
| compatibility asbtractions: Back in 1.7.0, we introduced the new |
| serialization compatibility abstractions <code>TypeSerializerSnapshot</code> |
| and <code>TypeSerializerSchemaCompatibility</code>. Besides providing a more |
| expressible API to reflect schema compatibility between the data |
| stored in savepoints and the data registered at runtime, another |
| important aspect about the new abstraction is that it avoids the |
| need for Flink to Java-serialize the state serializer as state |
| metadata in savepoints.</p> |
| <p>In 1.8.0, all of Flink’s built-in serializers have been upgraded to |
| use the new abstractions, and therefore the serializers |
| themselves are no longer Java-serialized into savepoints. This |
| greatly improves interoperability of Flink savepoints, in terms |
| of state schema evolvability. For example, one outcome was the |
| support for POJO schema evolution, as previously mentioned |
| above. Another outcome is that all composite data types supported |
| by Flink (such as <code>Either</code>, Scala case classes, Flink Java |
| <code>Tuple</code>s, etc.) are generally evolve-able as well when they have |
| a nested evolvable type, such as a POJO. For example, the <code>MyPojo</code> |
| type in <code>ValueState<Tuple2<Integer, MyPojo>></code> or |
| <code>ListState<Either<Integer, MyPojo>></code>, which is a POJO, is allowed |
| to evolve its schema.</p> |
| <p>For users who are using custom <code>TypeSerializer</code> implementations |
| for their state serializer and are still using the outdated |
| abstractions (i.e. <code>TypeSerializerConfigSnapshot</code> and |
| <code>CompatiblityResult</code>), we highly recommend upgrading to the new |
| abstractions to be future proof. Please refer to the Custom State |
| Serialization documentation page for a detailed description on |
| the new abstractions.</p> |
| </li> |
| <li> |
| <p>Provide pre-defined snapshot implementations for common |
| serializers: For convenience, Flink 1.8.0 comes with two |
| predefined implementations for the <code>TypeSerializerSnapshot</code> that |
| make the task of implementing these new abstractions easier |
| for most implementations of <code>TypeSerializer</code>s - |
| <code>SimpleTypeSerializerSnapshot</code> and |
| <code>CompositeTypeSerializerSnapshot</code>. This section in the |
| documentation provides information on how to use these classes.</p> |
| </li> |
| </ol> |
| </li> |
| <li> |
| <p><strong>Continuous cleanup of old state based on TTL |
| (<a href="https://issues.apache.org/jira/browse/FLINK-7811">FLINK-7811</a>)</strong>: We |
| introduced TTL (time-to-live) for Keyed state in Flink 1.6 |
| (<a href="https://issues.apache.org/jira/browse/FLINK-9510">FLINK-9510</a>). This |
| feature enabled cleanup and made keyed state entries inaccessible after a |
| defined timeout. In addition state would now also be cleaned up when |
| writing a savepoint/checkpoint.</p> |
| <p>Flink 1.8 introduces continuous cleanup of old entries for both the RocksDB |
| state backend |
| (<a href="https://issues.apache.org/jira/browse/FLINK-10471">FLINK-10471</a>) and the heap |
| state backend |
| (<a href="https://issues.apache.org/jira/browse/FLINK-10473">FLINK-10473</a>). This means |
| that old entries (according to the TTL setting) are continuously cleaned up.</p> |
| </li> |
| <li> |
| <p><strong>SQL pattern detection with user-defined functions and |
| aggregations</strong>: The support of the MATCH_RECOGNIZE clause has been |
| extended by multiple features. The addition of user-defined |
| functions allows for custom logic during pattern detection |
| (<a href="https://issues.apache.org/jira/browse/FLINK-10597">FLINK-10597</a>), |
| while adding aggregations allows for more complex CEP definitions, |
| such as the following |
| (<a href="https://issues.apache.org/jira/browse/FLINK-7599">FLINK-7599</a>).</p> |
| <pre tabindex="0"><code>SELECT * |
| FROM Ticker |
| MATCH_RECOGNIZE ( |
| ORDER BY rowtime |
| MEASURES |
| AVG(A.price) AS avgPrice |
| ONE ROW PER MATCH |
| AFTER MATCH SKIP TO FIRST B |
| PATTERN (A+ B) |
| DEFINE |
| A AS AVG(A.price) < 15 |
| ) MR; |
| </code></pre></li> |
| <li> |
| <p><strong>RFC-compliant CSV format (<a href="https://issues.apache.org/jira/browse/FLINK-9964">FLINK-9964</a>)</strong>: The SQL tables can now be read and written in |
| an RFC-4180 standard compliant CSV table format. The format might also be |
| useful for general DataStream API users.</p> |
| </li> |
| <li> |
| <p><strong>New KafkaDeserializationSchema that gives direct access to ConsumerRecord |
| (<a href="https://issues.apache.org/jira/browse/FLINK-8354">FLINK-8354</a>)</strong>: For the |
| Flink <code>KafkaConsumers</code>, we introduced a new <code>KafkaDeserializationSchema</code> that |
| gives direct access to the Kafka <code>ConsumerRecord</code>. This now allows access to |
| all data that Kafka provides for a record, including the headers. This |
| subsumes the <code>KeyedSerializationSchema</code> functionality, which is deprecated but |
| still available for now.</p> |
| </li> |
| <li> |
| <p><strong>Per-shard watermarking option in FlinkKinesisConsumer |
| (<a href="https://issues.apache.org/jira/browse/FLINK-5697">FLINK-5697</a>)</strong>: The Kinesis |
| Consumer can now emit periodic watermarks that are derived from per-shard watermarks, |
| for correct event time processing with subtasks that consume multiple Kinesis shards.</p> |
| </li> |
| <li> |
| <p><strong>New consumer for DynamoDB Streams to capture table changes |
| (<a href="https://issues.apache.org/jira/browse/FLINK-4582">FLINK-4582</a>)</strong>: <code>FlinkDynamoDBStreamsConsumer</code> |
| is a variant of the Kinesis consumer that supports retrieval of CDC-like streams from DynamoDB tables.</p> |
| </li> |
| <li> |
| <p><strong>Support for global aggregates for subtask coordination |
| (<a href="https://issues.apache.org/jira/browse/FLINK-10887">FLINK-10887</a>)</strong>: |
| Designed as a solution for global source watermark tracking, <code>GlobalAggregateManager</code> |
| allows sharing of information between parallel subtasks. This feature will |
| be integrated into streaming connectors for watermark synchronization and |
| can be used for other purposes with a user defined aggregator.</p> |
| </li> |
| </ul> |
| <h2 id="important-changes"> |
| Important Changes |
| <a class="anchor" href="#important-changes">#</a> |
| </h2> |
| <ul> |
| <li> |
| <p><strong>Changes to bundling of Hadoop libraries with Flink |
| (<a href="https://issues.apache.org/jira/browse/FLINK-11266">FLINK-11266</a>)</strong>: |
| Convenience binaries that include hadoop are no longer released.</p> |
| <p>If a deployment relies on <code>flink-shaded-hadoop2</code> being included in |
| <code>flink-dist</code>, then you must manually download a pre-packaged Hadoop |
| jar from the optional components section of the <a href="/downloads.html">download |
| page</a> and copy it into the |
| <code>/lib</code> directory. Alternatively, a Flink distribution that includes |
| hadoop can be built by packaging <code>flink-dist</code> and activating the |
| <code>include-hadoop</code> maven profile.</p> |
| <p>As hadoop is no longer included in <code>flink-dist</code> by default, specifying |
| <code>-DwithoutHadoop</code> when packaging <code>flink-dist</code> no longer impacts the build.</p> |
| </li> |
| <li> |
| <p><strong>FlinkKafkaConsumer will now filter restored partitions based on topic |
| specification |
| (<a href="https://issues.apache.org/jira/browse/FLINK-10342">FLINK-10342</a>)</strong>: |
| Starting from Flink 1.8.0, the <code>FlinkKafkaConsumer</code> now always filters out |
| restored partitions that are no longer associated with a specified topic to |
| subscribe to in the restored execution. This behaviour did not exist in |
| previous versions of the <code>FlinkKafkaConsumer</code>. If you wish to retain the |
| previous behaviour, please use the |
| <code>disableFilterRestoredPartitionsWithSubscribedTopics()</code> configuration method |
| on the <code>FlinkKafkaConsumer</code>.</p> |
| <p>Consider this example: if you had a Kafka Consumer that was consuming from |
| topic <code>A</code>, you did a savepoint, then changed your Kafka consumer to instead |
| consume from topic <code>B</code>, and then restarted your job from the savepoint. |
| Before this change, your consumer would now consume from both topic <code>A</code> and |
| <code>B</code> because it was stored in state that the consumer was consuming from topic |
| <code>A</code>. With the change, your consumer would only consume from topic <code>B</code> after |
| restore because it now filters the topics that are stored in state using the |
| configured topics.</p> |
| </li> |
| <li> |
| <p><strong>Change in the Maven modules of Table API |
| (<a href="https://issues.apache.org/jira/browse/FLINK-11064">FLINK-11064</a>)</strong>: Users |
| that had a <code>flink-table</code> dependency before, need to update their |
| dependencies to <code>flink-table-planner</code> and the correct dependency of |
| <code>flink-table-api-*</code>, depending on whether Java or Scala is used: one of |
| <code>flink-table-api-java-bridge</code> or <code>flink-table-api-scala-bridge</code>.</p> |
| </li> |
| </ul> |
| <h2 id="known-issues"> |
| Known Issues |
| <a class="anchor" href="#known-issues">#</a> |
| </h2> |
| <ul> |
| <li><strong>Discarded checkpoint can cause Tasks to fail |
| (<a href="https://issues.apache.org/jira/browse/FLINK-11662">FLINK-11662</a>)</strong>: 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’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.</li> |
| </ul> |
| <h2 id="release-notes"> |
| Release Notes |
| <a class="anchor" href="#release-notes">#</a> |
| </h2> |
| <p>Please review the <a href="//nightlies.apache.org/flink/flink-docs-release-1.8/release-notes/flink-1.8.html">release |
| notes</a> |
| for a more detailed list of changes and new features if you plan to upgrade |
| your Flink setup to Flink 1.8.</p> |
| <h2 id="list-of-contributors"> |
| List of Contributors |
| <a class="anchor" href="#list-of-contributors">#</a> |
| </h2> |
| <p>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 <code>git log --pretty="%an" release-1.7.0..release-1.8.0 | sort | uniq</code> without manual deduplication):</p> |
| <p>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, Kostas Kloudas, Lakshmi, Lakshmi Gururaja Rao, Lavkesh Lahngir, Li, Shuangjiang, Mai Nakagawa, Matrix42, Matt, Maximilian Michels, Mododo, Nico Kruber, Paul Lin, Piotr Nowojski, Qi Yu, Qin, Robert, Robert Metzger, Romano Vacca, Rong Rong, Rune Skou Larsen, Seth Wiesman, Shannon Carey, Shimin Yang, Shuyi Chen, Stefan Richter, Stephan Ewen, SuXingLee, TANG Wen-hui, Tao Yang, Thomas Weise, Till Rohrmann, Timo Walther, Tom Goong, Tony Feng, Tony Wei, Tzu-Li (Gordon) Tai, Tzu-Li Chen, Ufuk Celebi, Xingcan Cui, Xpray, XuQianJin-Stars, Xue Yu, Yangze Guo, Ying Xu, Yiqun Lin, Yu Li, Yuanyang Wu, Yun Tang, ZILI CHEN, Zhanchun Zhang, Zhijiang, ZiLi Chen, acqua.csq, alex04.wang, ap, azagrebin, blueszheng, boshu Zheng, chengjie.wu, chensq, chummyhe89, eaglewatcherwb, hequn8128, ifndef-SleePy, intsmaze, jackyyin, jinhu.wjh, jparkie, jrthe42, junsheng.wu, kgorman, kkloudas, kkolman, klion26, lamber-ken, leesf, libenchao, lining, liuzhaokun, lzh3636, maqingxiang, mb-datadome, okidogi, park.yq, sunhaibotb, sunjincheng121, tison, unknown, vinoyang, wenhuitang, wind, xueyu, xuqianjin, yanghua, zentol, zhangzhanchun, zhijiang, zhuzhu.zz, zy, 仲炜, 砚田, 谢磊</p> |
| </p> |
| </article> |
| |
| |
| |
| |
| |
| |
| |
| <div class="edit-this-page"> |
| <p> |
| <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/2019-04-09-release-1.8.0.md"> |
| Edit This Page<i class="fa fa-edit fa-fw"></i> |
| </a> |
| </p> |
| </div> |
| |
| </section> |
| |
| <aside class="book-toc"> |
| |
| |
| |
| <nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3> |
| <ul> |
| <li> |
| <ul> |
| <li><a href="#new-features-and-improvements">New Features and Improvements</a></li> |
| <li><a href="#important-changes">Important Changes</a></li> |
| <li><a href="#known-issues">Known Issues</a></li> |
| <li><a href="#release-notes">Release Notes</a></li> |
| <li><a href="#list-of-contributors">List of Contributors</a></li> |
| </ul> |
| </li> |
| </ul> |
| </nav> |
| |
| |
| </aside> |
| <aside class="expand-toc hidden"> |
| <a class="toc" onclick="expandToc()" href="javascript:void(0)"> |
| <i class="fa fa-bars" aria-hidden="true"></i> |
| </a> |
| </aside> |
| |
| </main> |
| |
| <footer> |
| |
| |
| |
| <div class="separator"></div> |
| <div class="panels"> |
| <div class="wrapper"> |
| <div class="panel"> |
| <ul> |
| <li> |
| <a href="https://flink-packages.org/">flink-packages.org</a> |
| </li> |
| <li> |
| <a href="https://www.apache.org/">Apache Software Foundation</a> |
| </li> |
| <li> |
| <a href="https://www.apache.org/licenses/">License</a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/zh/"> |
| <i class="fa fa-globe" aria-hidden="true"></i> 中文版 |
| </a> |
| </li> |
| |
| |
| |
| </ul> |
| </div> |
| <div class="panel"> |
| <ul> |
| <li> |
| <a href="/what-is-flink/security">Security</a--> |
| </li> |
| <li> |
| <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a> |
| </li> |
| <li> |
| <a href="https://www.apache.org/foundation/thanks.html">Thanks</a> |
| </li> |
| </ul> |
| </div> |
| <div class="panel icons"> |
| <div> |
| <a href="/posts"> |
| <div class="icon flink-blog-icon"></div> |
| <span>Flink blog</span> |
| </a> |
| </div> |
| <div> |
| <a href="https://github.com/apache/flink"> |
| <div class="icon flink-github-icon"></div> |
| <span>Github</span> |
| </a> |
| </div> |
| <div> |
| <a href="https://twitter.com/apacheflink"> |
| <div class="icon flink-twitter-icon"></div> |
| <span>Twitter</span> |
| </a> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <hr/> |
| |
| <div class="container disclaimer"> |
| <p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> |
| </div> |
| |
| |
| |
| </footer> |
| |
| </body> |
| </html> |
| |
| |
| |
| |
| |
| |