[
https://issues.apache.org/jira/browse/KAFKA-6412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16320047#comment-16320047
]
Ted Yu commented on KAFKA-6412:
-------------------------------
I came up with the initial idea for this JIRA when sitting in hotel lobby at
Grand Canyon.
It was nice way to start 2018.
> Improve synchronization in CachingKeyValueStore methods
> -------------------------------------------------------
>
> Key: KAFKA-6412
> URL: https://issues.apache.org/jira/browse/KAFKA-6412
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Ted Yu
> Fix For: 1.1.0
>
> Attachments: 6412-jmh.v1.txt, k-6412.v1.txt
>
>
> Currently CachingKeyValueStore methods are synchronized at method level.
> It seems we can use read lock for getter and write lock for put / delete
> methods.
> For getInternal(), if the underlying thread is streamThread, the
> getInternal() may trigger eviction. This can be handled by obtaining write
> lock at the beginning of the method for streamThread.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)