You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2015/11/04 16:50:27 UTC
[jira] [Created] (OAK-3587) SegmentNodeStore should ensure that
checkpoint is issued in case of frequent writes by taking an exclusive lock
Chetan Mehrotra created OAK-3587:
------------------------------------
Summary: SegmentNodeStore should ensure that checkpoint is issued in case of frequent writes by taking an exclusive lock
Key: OAK-3587
URL: https://issues.apache.org/jira/browse/OAK-3587
Project: Jackrabbit Oak
Issue Type: Improvement
Components: segmentmk
Reporter: Chetan Mehrotra
Fix For: 1.3.10, 1.2.8, 1.0.24
AsyncIndexUpdate proceeds with an indexing cycle only if the NodeStore issues a checkpoint. A NodeStore implementation can issue a checkpoint but for it to be valid the caller must fetch NodeState for that checkpoint. If a non null NodeState is found it indicates that checkpoint is valid.
With SegmentNodeStore its possible under high write conditions that checkpoint issues is not valid as it only attempts an optimistic lock. This can cause unbounded delays in acquiring a valid checkpoint and thus cause delay in AsyncIndexUpdate cycle and that causes effect on queries which rely on such async indexes.
Instead of doing an optimistic lock it should attempt to acquire an exclusive lock. See [1] for some more details on checkpoint behaviour
[1] http://markmail.org/thread/c7zo3zju7e2hakg4
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)