[ 
https://issues.apache.org/jira/browse/JCR-1820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-1820.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.6.0

Committed patch in revision: 706649

> Ensure queries are not blocked during large updates
> ---------------------------------------------------
>
>                 Key: JCR-1820
>                 URL: https://issues.apache.org/jira/browse/JCR-1820
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Marcel Reutegger
>            Priority: Minor
>             Fix For: 1.6.0
>
>         Attachments: JCR-1820.patch
>
>
> The index currently guarantees that long running queries do not block 
> updates. In addition a query *may* run during an update, but there is not 
> guarantee because it depends on the availability of an index reader being 
> available when the update starts. The index reader is invalidated at the end 
> of the update, which will force the creation of a new index reader when the 
> next query is executed.
> Consider the following scenario:
> 1) update index -> transaction id T1
> 2) potential index reader is invalidated
> 3) execute query -> creates index reader R1, which includes changes up to T1
> 4) update index -> transaction id T2
> 5) index reader R1 is invalidated
> 6) update index (large transaction) -> transaction id T3
> 7) while previous update is running execute query -> thread is blocked 
> because no reader is available
> The improvement should detect the large transaction and prepare an index 
> reader for potential queries during the update. That is, 6) should be split 
> into:
> 6a) detect large transaction and prepare index reader R2, which includes 
> changes up to T2
> 6b) update index -> transaction id T3
> While the update is running a query will use index reader R2.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to