[
https://issues.apache.org/jira/browse/OAK-4124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15195103#comment-15195103
]
Michael Marth commented on OAK-4124:
------------------------------------
For this case:
{quote}
2. high load -> consumer slower than producers -> queue is full -> put()s done
synchronously, to avoid flushing the queue and losing cache values
{quote}
why don't we just drop the entries? Persistent cache is "best effort" anyway.
> Persistent cache: consider using callstack blocking
> ---------------------------------------------------
>
> Key: OAK-4124
> URL: https://issues.apache.org/jira/browse/OAK-4124
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: cache
> Reporter: Tomek Rękawek
> Labels: performance
> Fix For: 1.6
>
> Attachments: OAK-4124.patch
>
>
> In the current implementation of the asynchronous add operation in
> persistence cache, data are added to a queue and if the queue is full, the
> oldest entries are removed (see OAK-2761).
> It may deteriorate the system performance in some cases (OAK-4123). Let's
> consider a different approach, in which we block the caller thread in case
> the queue is full.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)