kafka-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From guozh...@apache.org
Subject [kafka] branch trunk updated: MINOR: Streams Update for KIP-330 / KIP-356 (#5794)
Date Fri, 12 Oct 2018 21:48:37 GMT
This is an automated email from the ASF dual-hosted git repository.

guozhang pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 6a3382c  MINOR: Streams Update for KIP-330 / KIP-356 (#5794)
6a3382c is described below

commit 6a3382c9d397619a7f27766fd28aff41d85ed4ff
Author: Guozhang Wang <wangguoz@gmail.com>
AuthorDate: Fri Oct 12 14:48:28 2018 -0700

    MINOR: Streams Update for KIP-330 / KIP-356 (#5794)
    
    Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>
---
 docs/js/templateData.js         |  6 ++--
 docs/streams/upgrade-guide.html | 65 +++++++++++++++++++++--------------------
 2 files changed, 37 insertions(+), 34 deletions(-)

diff --git a/docs/js/templateData.js b/docs/js/templateData.js
index 2bf62ac..eae0b30 100644
--- a/docs/js/templateData.js
+++ b/docs/js/templateData.js
@@ -17,8 +17,8 @@ limitations under the License.
 
 // Define variables for doc templates
 var context={
-    "version": "20",
-    "dotVersion": "2.0",
-    "fullDotVersion": "2.0.0",
+    "version": "21",
+    "dotVersion": "2.1",
+    "fullDotVersion": "2.1.0",
     "scalaVersion": "2.11"
 };
diff --git a/docs/streams/upgrade-guide.html b/docs/streams/upgrade-guide.html
index 4bece4a..ddf6e4a 100644
--- a/docs/streams/upgrade-guide.html
+++ b/docs/streams/upgrade-guide.html
@@ -34,23 +34,22 @@
     </div>
 
     <p>
-        Upgrading from any older version to 2.0.0 is possible: (1) you need to make sure
to update you code and config accordingly, because there are some minor non-compatible API
changes since older
-        releases (the code changes are expected to be minimal, please see below for the details),
-        (2) upgrading to 2.0.0 in the online mode requires two rolling bounces.
-        For (2), in the first rolling bounce phase users need to set config <code>upgrade.from="older
version"</code> (possible values are <code>"0.10.0", "0.10.1", "0.10.2", "0.11.0",
"1.0", and "1.1"</code>)
+        Upgrading from any older version to {{fullDotVersion}} is possible: (1) if you are
upgrading from 2.0.x to {{fullDotVersion}} then a single rolling bounce is needed to swap
in the new jar,
+        (2) if you are upgrading from older versions than 2.0.x in the online mode, you would
need two rolling bounces where
+        the first rolling bounce phase you need to set config <code>upgrade.from="older
version"</code> (possible values are <code>"0.10.0", "0.10.1", "0.10.2", "0.11.0",
"1.0", and "1.1"</code>)
         (cf. <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-268%3A+Simplify+Kafka+Streams+Rebalance+Metadata+Upgrade">KIP-268</a>):
     </p>
     <ul>
-        <li> prepare your application instances for a rolling bounce and make sure
that config <code>upgrade.from</code> is set to the version from which it is being
upgrade to new version 2.0.0</li>
+        <li> prepare your application instances for a rolling bounce and make sure
that config <code>upgrade.from</code> is set to the version from which it is being
upgrade.</li>
         <li> bounce each instance of your application once </li>
-        <li> prepare your newly deployed 2.0.0 application instances for a second round
of rolling bounces; make sure to remove the value for config <code>upgrade.mode</code>
</li>
+        <li> prepare your newly deployed {{fullDotVersion}} application instances for
a second round of rolling bounces; make sure to remove the value for config <code>upgrade.mode</code>
</li>
         <li> bounce each instance of your application once more to complete the upgrade
</li>
     </ul>
-    <p> As an alternative, an offline upgrade is also possible. Upgrading from any
versions as old as 0.10.0.x to 2.0.0 in offline mode require the following steps: </p>
+    <p> As an alternative, an offline upgrade is also possible. Upgrading from any
versions as old as 0.10.0.x to {{fullDotVersion}} in offline mode require the following steps:
</p>
     <ul>
         <li> stop all old (e.g., 0.10.0.x) application instances </li>
         <li> update your code and swap old code and jar file with new code and new
jar file </li>
-        <li> restart all new (2.0.0) application instances </li>
+        <li> restart all new ({{fullDotVersion}}) application instances </li>
     </ul>
 
     <p>
@@ -65,32 +64,10 @@
         accidentally: we still reuse the source topic as the changelog topic for restoring,
but will also create a separate changelog topic to append the update records from source topic
to. In the 2.0 release, we have fixed this issue and now users
         can choose whether or not to reuse the source topic based on the <code>StreamsConfig#TOPOLOGY_OPTIMIZATION</code>:
if you are upgrading from the old <code>KStreamBuilder</code> class and hence
you need to change your code to use
         the new <code>StreamsBuilder</code>, you should set this config value
to <code>StreamsConfig#OPTIMIZE</code> to continue reusing the source topic; if
you are upgrading from 1.0 or 1.1 where you are already using <code>StreamsBuilder</code>
and hence have already
-        created a separate changelog topic, you should set this config value to <code>StreamsConfig#NO_OPTIMIZATION</code>
when upgrading to 2.0.0 in order to use that changelog topic for restoring the state store.
+        created a separate changelog topic, you should set this config value to <code>StreamsConfig#NO_OPTIMIZATION</code>
when upgrading to {{fullDotVersion}} in order to use that changelog topic for restoring the
state store.
         More details about the new config <code>StreamsConfig#TOPOLOGY_OPTIMIZATION</code>
can be found in <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-295%3A+Add+Streams+Configuration+Allowing+for+Optional+Topology+Optimization">KIP-295</a>.
     </p>
 
-    <p>
-        In 2.0.0 we have added a few new APIs on the <code>ReadOnlyWindowStore</code>
interface (for details please read <a href="#streams_api_changes_200">Streams API changes</a>
below).
-        If you have customized window store implementations that extends the <code>ReadOnlyWindowStore</code>
interface you need to make code changes.
-    </p>
-
-    <p>
-        In addition, if you using Java 8 method references in your Kafka Streams code you
might need to update your code to resolve method ambiguities.
-        Hot-swapping the jar-file only might not work for this case.
-        See below a complete list of <a href="#streams_api_changes_200">2.0.0</a>
-        API and semantic changes that allow you to advance your application and/or simplify
your code base.
-    </p>
-
-    <p>
-        We moved <code>Consumed</code> interface from <code>org.apache.kafka.streams</code>
to <code>org.apache.kafka.streams.kstream</code>
-        as it was mistakenly placed in the previous release. If your code has already used
it there is a simple one-liner change needed in your import statement.
-    </p>
-
-    <p>
-        We have also removed some public APIs that are deprecated prior to 1.0.x in 2.0.0.
-        See below for a detailed list of removed APIs.
-    </p>
-
     <h3><a id="streams_api_changes_210" href="#streams_api_changes_210">Streams
API changes in 2.1.0</a></h3>
     <p>
         We updated <code>TopologyDescription</code> API to allow for better runtime
checking.
@@ -109,11 +86,37 @@
     </p>
 
     <p>
+        We've added the missing <code>SessionBytesStoreSupplier#retentionPeriod()</code>
to be consistent with the <code>WindowBytesStoreSupplier</code> which allows users
to get the specified retention period for session-windowed stores.
+        We've also added the missing <code>StoreBuilder#withCachingDisabled()</code>
to allow users to turn off caching for their customized stores.
+    </p>
+
+    <p>
         We added a new serde for UUIDs (<code>Serdes.UUIDSerde</code>) that you
can use via <code>Serdes.UUID()</code> (cf. <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-206%3A+Add+support+for+UUID+serialization+and+deserialization">KIP-206</a>).
     </p>
 
     <h3><a id="streams_api_changes_200" href="#streams_api_changes_200">Streams
API changes in 2.0.0</a></h3>
     <p>
+        In 2.0.0 we have added a few new APIs on the <code>ReadOnlyWindowStore</code>
interface (for details please read <a href="#streams_api_changes_200">Streams API changes</a>
below).
+        If you have customized window store implementations that extends the <code>ReadOnlyWindowStore</code>
interface you need to make code changes.
+    </p>
+
+    <p>
+        In addition, if you using Java 8 method references in your Kafka Streams code you
might need to update your code to resolve method ambiguities.
+        Hot-swapping the jar-file only might not work for this case.
+        See below a complete list of <a href="#streams_api_changes_200">2.0.0</a>
+        API and semantic changes that allow you to advance your application and/or simplify
your code base.
+    </p>
+
+    <p>
+        We moved <code>Consumed</code> interface from <code>org.apache.kafka.streams</code>
to <code>org.apache.kafka.streams.kstream</code>
+        as it was mistakenly placed in the previous release. If your code has already used
it there is a simple one-liner change needed in your import statement.
+    </p>
+
+    <p>
+        We have also removed some public APIs that are deprecated prior to 1.0.x in 2.0.0.
+        See below for a detailed list of removed APIs.
+    </p>
+    <p>
         We have removed the <code>skippedDueToDeserializationError-rate</code>
and <code>skippedDueToDeserializationError-total</code> metrics.
         Deserialization errors, and all other causes of record skipping, are now accounted
for in the pre-existing metrics
         <code>skipped-records-rate</code> and <code>skipped-records-total</code>.
When a record is skipped, the event is


Mime
View raw message