Hi Tom, That is right that currently for in-memory state store the directory is not actually used, i.e. the directory will be created but no data will be written. But the "state.dir" is not a required config in the sense that if user do not specify a value, it will default to "/tmp/kafka-streams". The rationale is that, as you noted we may want to checkpoint some data persistently even for in-memory state stores (e.g. KAFKA-3184), and not enforcing it to be a required config will creates some directory overhead but not too bad from a user experience.
Guozhang On Tue, Feb 23, 2016 at 1:12 AM, Tom Dearman <[email protected]> wrote: > Our use case for kafka-streams only needs to use the in memory state store > but the current code on trunk still requires a valid ’state.dir’ that the > client can write too. A lock file per partition and an offset file is > created but the offset file always contains zero values for offsets since > all the state is described by the state topic. I have a patch that removes > this dependency but was wondering whether there might be a reason to keep > the ability to write out the offset in some future improvement to the in > memory state store (e.g. kaka-3184)? > > Thanks. -- -- Guozhang
