jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tommaso Teofili (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OAK-5212) Avoid updating the index nodestate if no change is done in index
Date Mon, 05 Dec 2016 10:52:58 GMT

    [ https://issues.apache.org/jira/browse/OAK-5212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15721943#comment-15721943
] 

Tommaso Teofili edited comment on OAK-5212 at 12/5/16 10:52 AM:
----------------------------------------------------------------

I wonder if we could simply use {{IndexWriter#hasDeletions || IndexWriter#hasUncommittedChanges}} rather
than having to look into the index generations, or is that needed because of some other IndexWriter
instance possibly writing on the same {{OakDirectory}}?


was (Author: teofili):
I wonder if we could simply use {{IndexWriter#hasPendingChanges || IndexWriter#hasUncommittedChanges}} rather
than having to look into the index generations, or is that needed because of some other IndexWriter
instance possibly writing on the same {{OakDirectory}}?

> Avoid updating the index nodestate if no change is done in index
> ----------------------------------------------------------------
>
>                 Key: OAK-5212
>                 URL: https://issues.apache.org/jira/browse/OAK-5212
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: lucene
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>            Priority: Minor
>              Labels: performance
>             Fix For: 1.6
>
>         Attachments: OAK-5212-v1.patch
>
>
> As noted in OAK-5211 directory listing was getting modified (due to reorder) even if
no change happens in index. 
> Another place where we update state post index close is at ":status" node where we store
{{lastUpdated}} and {{indexedNodes}} post index close. In normal cases LuceneIndexEditor avoids
initializing the IndexWriter if there is no change. However it can happen that when any node
gets deleted the editor performs a delete operation. It can happen that tree being deleted
is not indexed but still editor would do this as it cannot determine that easily. And in doing
that IndexWriter would be initialized.
> Currently IndexWriter being initialized is considered same as index updated. Due to this
index status nodes gets unnecessarily updated even if there is no change in index which causes
the IndexTracker to reopen the index even when it has not changed. 
> We should make this more explicit and find a way to determine if index has been updated
or not



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message