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/10/12 14:31:05 UTC
[jira] [Created] (OAK-3504) CopyOnRead directory should not
schedule a copy task for non existent file
Chetan Mehrotra created OAK-3504:
------------------------------------
Summary: CopyOnRead directory should not schedule a copy task for non existent file
Key: OAK-3504
URL: https://issues.apache.org/jira/browse/OAK-3504
Project: Jackrabbit Oak
Issue Type: Improvement
Components: lucene
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
Priority: Minor
Fix For: 1.3.9, 1.0.23, 1.2.8
CopyOnWriteDirectory currently schedules a copy task for file which does exist. This eventually results in FileNotFoundException and that gets logged as warning. In normal usage this should not happen at the first place i.e. look up of non existent file. However in case of corruption it is seen that Lucene tries to lookup segment files with increasing generation number and they flood the log with such exception.
In such a case no scheduling of file copy should be done and instead lookup call should be directly delegated to remote directory
{noformat}
28.09.2015 12:11:08.745 *WARN* [oak-lucene-0] org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier Error occurred while copying file [segments_25y] from OakDirectory@5970597 lockFactory=org.apache.lucene.store.NoLockFactory@51b451b4 to NIOFSDirectory@/usd/as67709a/data/v04.cqa.a/repository/_cqa/repository/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/2 lockFactory=NativeFSLockFactory@/usd/as67709a/data/v04.cqa.a/repository/_cqa/repository/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/2
java.io.FileNotFoundException: segments_25y
at org.apache.jackrabbit.oak.plugins.index.lucene.OakDirectory.openInput(OakDirectory.java:133)
at org.apache.lucene.store.Directory.copy(Directory.java:185)
at org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier$CopyOnReadDirectory$1.run(IndexCopier.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:767)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)