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)