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

bbejeck 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 b047948ad33 MINOR: Add docs for KIP-1035 (#22161)
b047948ad33 is described below

commit b047948ad33d182ff1220e61d00cafe79313f605
Author: Bill Bejeck <[email protected]>
AuthorDate: Fri May 1 14:56:29 2026 -0400

    MINOR: Add docs for KIP-1035 (#22161)
    
    Add documentation for the changes brought by KIP-1035
    
    Reviewers: Nick Telford <[email protected]>, Matthias J. Sax
     <[email protected]>
---
 docs/streams/upgrade-guide.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/streams/upgrade-guide.md b/docs/streams/upgrade-guide.md
index 6e7213bfeaf..da69b5c8af8 100644
--- a/docs/streams/upgrade-guide.md
+++ b/docs/streams/upgrade-guide.md
@@ -57,6 +57,8 @@ Downgrading from 3.0.x or newer version to 2.8.x or older 
version needs special
 
 Downgrading from 4.0.x or newer version to older than 4.0.0 needs special 
attention: Since 4.0.0 release, Kafka Streams upgraded RocksDB from version 
7.9.2 to 9.7.3. This upgrade introduces a RocksDB file format version change 
from version 5 to version 6 (introduced in RocksDB 8.6). While the newer 
RocksDB version (9.7.3) can read state stores written in the old format 
(version 5), the older RocksDB versions cannot read state stores written in the 
new format (version 6). This means that  [...]
 
+Downgrading from 4.3.x or newer version to 4.2.x or older version needs 
special attention: Since 4.3.0 release, Kafka Streams persists state store 
changelog offsets inside each state store rather than in a per-task 
`.checkpoint` file (see 
[KIP-1035](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1035%3A+StateStore+managed+changelog+offsets)).
 For built-in RocksDB stores, offsets are written into a dedicated `offsets` 
column family inside each RocksDB instance. Older Kafka Streams  [...]
+
 Kafka Streams does not support running multiple instances of the same 
application as different processes on the same physical state directory. 
Starting in 2.8.0 (as well as 2.7.1 and 2.6.2), this restriction will be 
enforced. If you wish to run more than one instance of Kafka Streams, you must 
configure them with different values for `state.dir`. 
 
 Starting in Kafka Streams 2.6.x, a new processing mode is available, named EOS 
version 2. This can be configured by setting `"processing.guarantee"` to 
`"exactly_once_v2"` for application versions 3.0+, or setting it to 
`"exactly_once_beta"` for versions between 2.6 and 2.8. To use this new 
feature, your brokers must be on version 2.5.x or newer. If you want to upgrade 
your EOS application from an older version and enable this feature in version 
3.0+, you first need to upgrade your appli [...]
@@ -71,6 +73,8 @@ The streams thread metrics `commit-ratio`, `process-ratio`, 
`punctuate-ratio`, a
 
 Kafka Streams now allows to purge local state directories and checkpoint files 
during application startup if they have not been modified for a certain period 
of time. This can be configured via the new `state.cleanup.dir.max.age.ms` 
config. More details can be found in 
[KIP-1259](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1259%3A+Add+configuration+to+wipe+Kafka+Streams+local+state+on+startup)
 
+Kafka Streams now persists state store changelog offsets inside each state 
store rather than in a single per-task `.checkpoint` file 
([KIP-1035](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1035%3A+StateStore+managed+changelog+offsets)).
 This is an internal infrastructure change and is transparent to most users — 
existing per-task `.checkpoint` files are migrated automatically on first 
startup, and no application or operator action is required. EOS crash behavior 
is unchanged in [...]
+
 ### Deprecation of streams-scala module (KIP-1244)
 
 The `kafka-streams-scala` module (`org.apache.kafka.streams.scala` package) is 
deprecated in 4.3.0 and will be removed in 5.0.

Reply via email to