[
https://issues.apache.org/jira/browse/KAFKA-3740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303428#comment-15303428
]
Henry Cai commented on KAFKA-3740:
----------------------------------
Looks like you want two sets of RocksDB settings, one for K/V store, one for
range scan store. I think for most of the small RocksDB (size < 5GB), those
settings (target file size, or bloom filter) probably won't matter.
To make it really flexible, you would need to provide per store rocksdb
settings. E.g. for A join B, if A has small-size records and B has big-size
records you would want to set the targeFileSize smaller for RocksDB A and
targetFileSize bigger for RocksDB B. It seems it would have the following
overlay config structures in StreamConfig:
rocksdb.default.target_file_size_mb=16
rocksdb.default.use_bloom_filter=true
...
rocksdb.aggregation_style.target_file_size_mb=8
...
rocksdb.join_style.target_file_size_mb=32
...
rocksdb.custom1_style.target_file_size_mb=128
System understands 'default', 'aggregation_style', 'join_style' and will choose
different style accordingly based on the context.
Application can optionally associate a RocksDB with customer style e.g.
custom1_style (need some API enhancement).
This might get more complicated, I think for the initial version, as long as we
can provide rocksdb.default.property this would be a big enhancement.
> Add configs for RocksDBStores
> -----------------------------
>
> Key: KAFKA-3740
> URL: https://issues.apache.org/jira/browse/KAFKA-3740
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Reporter: Guozhang Wang
> Assignee: Henry Cai
> Labels: api, newbie
>
> Today most of the rocksDB configs are hard written inside {{RocksDBStore}},
> or the default values are directly used. We need to make them configurable
> for advanced users. For example, some default values may not work perfectly
> for some scenarios:
> https://github.com/HenryCaiHaiying/kafka/commit/ccc4e25b110cd33eea47b40a2f6bf17ba0924576
>
> One way of doing that is to introduce a "RocksDBStoreConfigs" objects similar
> to "StreamsConfig", which defines all related rocksDB options configs, that
> can be passed as key-value pairs to "StreamsConfig".
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)