You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2017/03/07 23:33:38 UTC
[jira] [Resolved] (KAFKA-4851) SessionStore.fetch(key) is a
performance bottleneck
[ https://issues.apache.org/jira/browse/KAFKA-4851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang resolved KAFKA-4851.
----------------------------------
Resolution: Fixed
Fix Version/s: 0.10.2.1
Issue resolved by pull request 2645
[https://github.com/apache/kafka/pull/2645]
> SessionStore.fetch(key) is a performance bottleneck
> ---------------------------------------------------
>
> Key: KAFKA-4851
> URL: https://issues.apache.org/jira/browse/KAFKA-4851
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Affects Versions: 0.10.2.0
> Reporter: Damian Guy
> Assignee: Damian Guy
> Fix For: 0.11.0.0, 0.10.2.1
>
>
> When flushing the {{CachingSessionStore}} we need to search for the previous value for a session. This involves searching each open RocksDB segment. The code ends up doing a call {{Segments.segments(0, Long.MAX_VALUE)}} this results in approximately 3 million gets on a {{ConcurrentHashMap}} of which all but 3 of them will be hits.
> Change this code to restrict the segmentIds to search just to the available set.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)