Trejkaz created LUCENE-6658:
-------------------------------

             Summary: IndexUpgrader doesn't upgrade an index if it has zero 
segments
                 Key: LUCENE-6658
                 URL: https://issues.apache.org/jira/browse/LUCENE-6658
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/index
    Affects Versions: 5.2.1, 4.10.4
            Reporter: Trejkaz


IndexUpgrader uses merges to do its job. Therefore, if you use it to upgrade an 
index with no segments, it will do nothing - it won't even update the version 
numbers in the segments file, meaning that later versions of Lucene will fail 
to open the index, despite the fact that you "upgraded" it.

The suggested workaround when this was raised on the mailing list in January 
seems to be to use filesystem magic to look at the files, figure out whether 
there are any segments, and write a new empty index if there are none.

This sounds easy, but there are probably traps. For instance, there might be 
files in the directory which don't really belong to the index. Earlier versions 
of Lucene used to have a FilenameFilter which was usable to distinguish one 
from the other, but that seems to have disappeared, making it less obvious how 
to do this.

This issue is presumed to exist in 3.x as well, I just haven't encountered it 
yet because the only empty indices I have hit have been later versions.




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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to