private static bool SegmentWasUpgraded(Directory directory, SegmentInfo si)
{
// Check marker file:
string markerFileName = IndexFileNames.SegmentFileName(si.Name, "upgraded", Lucene3xSegmentInfoFormat.UPGRADED_SI_EXTENSION);
IndexInput @in = null;
try
{
@in = directory.OpenInput(markerFileName, IOContext.READONCE);
if (CodecUtil.CheckHeader(@in, SEGMENT_INFO_UPGRADE_CODEC, SEGMENT_INFO_UPGRADE_VERSION, SEGMENT_INFO_UPGRADE_VERSION) == 0)
{
return true;
}
}
catch (IOException)
{
// Ignore: if something is wrong w/ the marker file,
// we will just upgrade again
}
finally
{
if (@in != null)
{
IOUtils.CloseWhileHandlingException(@in);
}
}
return false;
}