[ 
https://issues.apache.org/jira/browse/KAFKA-9450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17018750#comment-17018750
 ] 

Matthias J. Sax commented on KAFKA-9450:
----------------------------------------

[~vvcephei] Your comment seem to be an orthogonal concern (that I actually 
don't share – when we call RocksDB#flush(), it seems to be safe to assume that 
RocksDB persisted the data – why do you doubt that RocksDB does not guarantee 
this; and if is did not persist it, it would be a RocksDB bug IHMO that should 
just get fixed.).

Nevertheless, this ticket is about decoupling of changelog flushing and local 
disk flushing – in contrast your comment is about two aspect of local disk 
flushing, ie, the data itself and the metadata (ie, checkpoint).

> Decouple inner state flushing from committing with EOS
> ------------------------------------------------------
>
>                 Key: KAFKA-9450
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9450
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Sophie Blee-Goldman
>            Priority: Major
>
> When EOS is turned on, the commit interval is set quite low (100ms) and all 
> the store layers are flushed during a commit. This is necessary for 
> forwarding records in the cache to the changelog, but unfortunately also 
> forces rocksdb to flush the current memtable before it's full. The result is 
> a large number of small writes to disk, losing the benefits of batching, and 
> a large number of very small L0 files that are likely to slow compaction.
> Since we have to delete the stores to recreate from scratch anyways during an 
> unclean shutdown with EOS, we may as well skip flushing the innermost 
> StateStore during a commit and only do so during a graceful shutdown, before 
> a rebalance, etc. This is currently blocked on a refactoring of the state 
> store layers to allow decoupling the flush of the caching layer from the 
> actual state store.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to