[jira] [Commented] (KAFKA-4851) SessionStore.fetch(key) is a performance bottleneck

2017-03-07 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on KAFKA-4851:
---

Github user asfgit closed the pull request at:

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
>
>
> 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)


[jira] [Commented] (KAFKA-4851) SessionStore.fetch(key) is a performance bottleneck

2017-03-06 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on KAFKA-4851:
---

GitHub user dguy opened a pull request:

https://github.com/apache/kafka/pull/2645

KAFKA-4851: only search available segments during Segments.segments(from, 
to)

restrict the locating of segments in {{Segments#segments(..)}} to only the 
segments that are currently available, i.e., rather than searching the hashmap 
for many segments that don't exist.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/dguy/kafka session-windows-testing

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/kafka/pull/2645.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #2645


commit fca1a2277fbb7020c42e4e028e8ec03bed3a8335
Author: Damian Guy 
Date:   2017-03-06T17:03:27Z

only search available segments




> 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
>
>
> 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)