You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<li><ahref="https://issues.apache.org/jira/browse/KAFKA-12823">KStream#through() in both Java and Scala</a></li>
265
-
<li><ahref="https://issues.apache.org/jira/browse/KAFKA-16339">"transformer" methods and classes in both Java and Scala</a></li>
265
+
<li>
266
+
<ahref="https://issues.apache.org/jira/browse/KAFKA-16339">"transformer" methods and classes in both Java and Scala</a>
267
+
<ul>
268
+
<li>migrating from <code>KStreams#transformValues()</code> to <code>KStreams.processValues()</code> might not be safe
269
+
due to <ahref="https://issues.apache.org/jira/browse/KAFKA-19668">KAFKA-19668</a>.
270
+
Please refer to the <ahref="/{{version}}/documentation/streams/developer-guide/dsl-api.html#transformers-removal-and-migration-to-processors">migration guide</a> for more details.
271
+
</li>
272
+
</ul>
273
+
</li>
266
274
<li><ahref="https://issues.apache.org/jira/browse/KAFKA-12824">kstream.KStream#branch in both Java and Scala</a></li>
267
275
<li><ahref="https://issues.apache.org/jira/browse/KAFKA-16332">builder methods for Time/Session/Join/SlidingWindows</a></li>
@@ -345,22 +353,22 @@ <h3><a id="streams_api_changes_400" href="#streams_api_changes_400">Streams API
345
353
</p>
346
354
347
355
<p>
348
-
You can now configure your topology with a <code>ProcessorWrapper</code>, which allows you to access and optionally wrap/replace
349
-
any processor in the topology by injecting an alternative <code>ProcessorSupplier</code> in its place. This can be used to peek
350
-
records and access the processor context even for DSL operators, for example to implement a logging or tracing framework, or to
351
-
aid in testing or debugging scenarios. You must implement the <code>ProcessorWrapper</code> interface and then pass the class
352
-
or class name into the configs via the new <code>StreamsConfig#PROCESSOR_WRAPPER_CLASS_CONFIG</code> config. NOTE: this config is
353
-
applied during the topology building phase, and therefore will not take effect unless the config is passed in when creating
354
-
the StreamsBuilder (DSL) or Topology(PAPI) objects. You MUST use the StreamsBuilder/Topology constructor overload that
355
-
accepts a TopologyConfig parameter for the <code>StreamsConfig#PROCESSOR_WRAPPER_CLASS_CONFIG</code> to be picked up.
356
-
See <ahref="https://cwiki.apache.org/confluence/x/TZCMEw">KIP-1112</a> for more details.
356
+
You can now configure your topology with a <code>ProcessorWrapper</code>, which allows you to access and optionally wrap/replace
357
+
any processor in the topology by injecting an alternative <code>ProcessorSupplier</code> in its place. This can be used to peek
358
+
records and access the processor context even for DSL operators, for example to implement a logging or tracing framework, or to
359
+
aid in testing or debugging scenarios. You must implement the <code>ProcessorWrapper</code> interface and then pass the class
360
+
or class name into the configs via the new <code>StreamsConfig#PROCESSOR_WRAPPER_CLASS_CONFIG</code> config. NOTE: this config is
361
+
applied during the topology building phase, and therefore will not take effect unless the config is passed in when creating
362
+
the StreamsBuilder (DSL) or Topology(PAPI) objects. You MUST use the StreamsBuilder/Topology constructor overload that
363
+
accepts a TopologyConfig parameter for the <code>StreamsConfig#PROCESSOR_WRAPPER_CLASS_CONFIG</code> to be picked up.
364
+
See <ahref="https://cwiki.apache.org/confluence/x/TZCMEw">KIP-1112</a> for more details.
357
365
</p>
358
366
359
367
<p>
360
368
Upgraded RocksDB dependency to version 9.7.3 (from 7.9.2). This upgrade incorporates various improvements and optimizations within RocksDB. However, it also introduces some API changes.
361
369
The <code>org.rocksdb.AccessHint</code> class, along with its associated methods, has been removed.
362
370
Several methods related to compressed block cache configuration in the <code>BlockBasedTableConfig</code> class have been removed, including <code>blockCacheCompressedNumShardBits</code>, <code>blockCacheCompressedSize</code>, and their corresponding setters. These functionalities are now consolidated under the <code>cache</code> option, and developers should configure their compressed block cache using the <code>setCache</code> method instead.
363
-
The <code>NO_FILE_CLOSES</code> field has been removed from the <code>org.rocksdb.TickerTypeenum</code> as a result the <code>number-open-files</code> metrics does not work as expected. Metric <code>number-open-files</code> returns constant -1 from now on until it will officially be removed.
371
+
The <code>NO_FILE_CLOSES</code> field has been removed from the <code>org.rocksdb.TickerTypeenum</code> as a result the <code>number-open-files</code> metrics does not work as expected. Metric <code>number-open-files</code> returns constant -1 from now on until it will officially be removed.
364
372
The <code>org.rocksdb.Options.setLogger()</code> method now accepts a <code>LoggerInterface</code> as a parameter instead of the previous <code>Logger</code>.
365
373
Some data types used in RocksDB's Java API have been modified. These changes, along with the removed class, field, and new methods, are primarily relevant to users implementing custom RocksDB configurations.
366
374
These changes are expected to be largely transparent to most Kafka Streams users. However, those employing advanced RocksDB customizations within their Streams applications, particularly through the <code>rocksdb.config.setter</code>, are advised to consult the detailed RocksDB 9.7.3 changelog to ensure a smooth transition and adapt their configurations as needed. Specifically, users leveraging the removed <code>AccessHint</code> class, the removed methods from the <code>BlockBasedTableConfig</code> class, the <code>NO_FILE_CLOSES</code> field from <code>TickerType</code>, or relying on the previous signature of <code>setLogger()</code> will need to update their implementations.
@@ -639,6 +647,11 @@ <h3><a id="streams_api_changes_330" href="#streams_api_changes_330">Streams API
The filename for rotated <code>state-change.log</code> files has been updated from <code>stage-change.log.[date]</code> to <code>state-change.log.[date]</code> in the log4j2.yaml configuration file.
131
131
See <ahref="https://issues.apache.org/jira/browse/KAFKA-19576">KAFKA-19576</a> for details.
See <ahref="https://issues.apache.org/jira/browse/KAFKA-17531">KAFKA-17531</a> for details.
414
419
</li>
415
420
<li>
416
-
The most important changes are highlighted in the <ahref="/{{version}}/documentation/streams/upgrade-guide.html#streams_api_changes_400">Kafka Streams upgrade guide</a>.
421
+
The most important changes are highlighted in the <ahref="/{{version}}/documentation/streams/upgrade-guide.html#streams_api_changes_400">Kafka Streams upgrade guide</a>.
422
+
</li>
423
+
<li>
424
+
For a full list of changes, see <ahref="https://issues.apache.org/jira/browse/KAFKA-12822">KAFKA-12822</a>.
417
425
</li>
418
426
<li>
419
-
For a full list of changes, see <ahref="https://issues.apache.org/jira/browse/KAFKA-12822">KAFKA-12822</a>.
427
+
If you are using <code>KStream#transformValues()</code> which was removed with Apache Kafka 4.0.0 release,
428
+
and you need to rewrite your program to use <code>KStreams#processValues()</code> instead,
429
+
pay close attention to the <ahref="/{{version}}/documentation/streams/developer-guide/dsl-api.html#transformers-removal-and-migration-to-processors">migration guide</a>.
0 commit comments