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 "Thomas Mueller (Jira)" <ji...@apache.org> on 2023/01/06 08:58:00 UTC

[jira] [Commented] (OAK-10055) Auto refreshing IndexTracker every hour causes online reindexing to fail

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

Thomas Mueller commented on OAK-10055:
--------------------------------------

The best course of action seems to be to change the default to basically forever, e.g. 100 years. That way, 

* The default is to support online reindex, but then with the segment store Oak needs to be restarted after a segment store GC run.
* Those that want to avoid SNFE can change this setting, but then they must not use online reindex.


> Auto refreshing IndexTracker every hour causes online reindexing to fail
> ------------------------------------------------------------------------
>
>                 Key: OAK-10055
>                 URL: https://issues.apache.org/jira/browse/OAK-10055
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>    Affects Versions: 1.22.9
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>            Priority: Major
>              Labels: lucene
>
> Auto refreshing the index tracker every one hour https://github.com/apache/jackrabbit-oak/commit/37a6d47b27cd7393812fa34c23b5dc68170daef3 , which was done to fix potential SNFE issue seems to be causing online reindexing for those indexes that take more than an hour to reindex to fail.
> In addition to reindexing, it looks like there is another scenario whenever a default 1h auto-refreshing IndexTracker results in an error, even thought it doesn't seem to be as severe:
> {noformat}
> Caused by: java.io.FileNotFoundException: _b.dvd
> 	at org.apache.lucene.store.FSDirectory.fileLength(FSDirectory.java:261)
> 	at org.apache.lucene.store.NRTCachingDirectory.fileLength(NRTCachingDirectory.java:178)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.directory.DirectoryUtils.dirSize(DirectoryUtils.java:61)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex$NRTReader.getIndexSize(NRTIndex.java:382)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexMBeanImpl.getIndexSize(LuceneIndexMBeanImpl.java:840)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexMBeanImpl.access$400(LuceneIndexMBeanImpl.java:98)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexMBeanImpl$IndexStats.<init>(LuceneIndexMBeanImpl.java:746)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexMBeanImpl.getIndexStats(LuceneIndexMBeanImpl.java:131)
> 	at sun.reflect.GeneratedMethodAccessor522.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
> 	at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
> 	at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
> 	at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
> 	at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
> 	... 13 common frames omitted 
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)