Hi Jack,

Your understanding seems correct. The data is only considered durable if
changelog is enabled. In particular the Host Affinity feature, which tries
to maximize the reuse of on-disk state, only applies for change-logged
stores. So with changelog disabled, you shouldn't expect state to be
restored from disk.

The one additional thing that I'd point out is that the decision mostly
depends on the size of your data. If your data is too large to fit in
memory, then the RocksDB KVStore which flushes periodically to disk is
still the best option because it usually requires significantly less
memory. If however your data can fit entirely in memory, then the InMemory
KVStore should provide the best performance, as it avoids marshalling to
native memory and flushing to disk.

-Jake

On Tue, Aug 2, 2016 at 11:51 AM, Jack Huang <jackhu...@mz.com> wrote:

> Hi all,
>
> Is there any reason to use RocksDB without associating it to changelog in
> Kafka? My understanding is that even though Rocks persists data to disk,
> when container fails the partition might be restarted on a different
> machine, where there is no persisted data on disk. In that case, wouldn't
> it make sense to use a in-memory store (e.g. java.util.Map) instead since
> Rocks effectively does not provide persistence under Samza's architecture?
>
> Thanks,
> Jack
>

Reply via email to