[ https://issues.apache.org/jira/browse/OAK-3504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chetan Mehrotra resolved OAK-3504. ---------------------------------- Resolution: Fixed Fixed * trunk - 1708105 * 1.0 - 1708108 * 1.2 - 1708110 > 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@/usr/cq/repository/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/2 > > lockFactory=NativeFSLockFactory@/usr/cq/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)