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

clolov 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 3c965e4e0be KAFKA-20096: Add documentation about the incompatibility 
of RocksDB file format (#21397)
3c965e4e0be is described below

commit 3c965e4e0bedefc14e2868b2a67622ead7bb6305
Author: Arpit Goyal <[email protected]>
AuthorDate: Tue Feb 10 01:13:54 2026 +0530

    KAFKA-20096: Add documentation about the incompatibility of RocksDB file 
format (#21397)
    
    Document the limitation we have in RocksDB upgrade due to file format
    version change.
    
    Reviewers: Matthias J. Sax <[email protected]>
---
 docs/streams/upgrade-guide.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/streams/upgrade-guide.md b/docs/streams/upgrade-guide.md
index 6e5ccdd2325..46e579d72a5 100644
--- a/docs/streams/upgrade-guide.md
+++ b/docs/streams/upgrade-guide.md
@@ -53,7 +53,9 @@ Starting in version 4.0.0, Kafka Streams will only be 
compatible when running ag
 
 Downgrading from 3.5.x or newer version to 3.4.x or older version needs 
special attention: Since 3.5.0 release, Kafka Streams uses a new serialization 
format for repartition topics. This means that older versions of Kafka Streams 
would not be able to recognize the bytes written by newer versions, and hence 
it is harder to downgrade Kafka Streams with version 3.5.0 or newer to older 
versions in-flight. For more details, please refer to 
[KIP-904](https://cwiki.apache.org/confluence/x/P5VbD [...]
 
-Downgrading from 3.0.x or newer version to 2.8.x or older version needs 
special attention: Since 3.0.0 release, Kafka Streams uses a newer RocksDB 
version whose on-disk format changed. This means that old versioned RocksDB 
would not be able to recognize the bytes written by that newer versioned 
RocksDB, and hence it is harder to downgrade Kafka Streams with version 3.0.0 
or newer to older versions in-flight. Users need to wipe out the local RocksDB 
state stores written by the new version [...]
+Downgrading from 3.0.x or newer version to 2.8.x or older version needs 
special attention: Since 3.0.0 release, Kafka Streams uses a newer RocksDB 
version whose on-disk format changed. This means that old versioned RocksDB 
would not be able to recognize the bytes written by that newer versioned 
RocksDB, and hence it is harder to downgrade Kafka Streams with version 3.0.0 
or newer to older versions in-flight. Users need to first delete the local 
RocksDB state stores written by the new ver [...]
+
+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  [...]
 
 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`. 
 

Reply via email to