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)

Reply via email to