There are a lot of articles across the internet about the usage of the Kafka Streams, but almost nothing about how it's done internally.
- Does it use any features inside Kafka outside the standard set (let's call "standard" the librdkafka implementation)?
- If it saves the state inside RocksDB (or any custom StateStore), how it guarantees that the state saving and the commit are in one transaction?
- The same question in the case when the state is saved in the compacted log (the commit and the log updated should be in one transaction).
Thank you.