lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject [Lucene.Net] svn commit: r1140835 - in /incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core: CorruptionCheckerForPreLucene3.cs Lucene.Net.csproj
Date Tue, 28 Jun 2011 20:50:29 GMT
Author: digy
Date: Tue Jun 28 20:50:28 2011
New Revision: 1140835

URL: http://svn.apache.org/viewvc?rev=1140835&view=rev
Log:
[LUCENENET-429] Corrupted segment file not detected and wipes index contents.

Added:
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/CorruptionCheckerForPreLucene3.cs
Modified:
    incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Lucene.Net.csproj

Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/CorruptionCheckerForPreLucene3.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/CorruptionCheckerForPreLucene3.cs?rev=1140835&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/CorruptionCheckerForPreLucene3.cs
(added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/CorruptionCheckerForPreLucene3.cs
Tue Jun 28 20:50:28 2011
@@ -0,0 +1,50 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Lucene.Net.Index;
+using Lucene.Net.Store;
+
+namespace Lucene.Net
+{
+    
+    public class CorruptionCheckerForPreLucene3
+    {
+        ///<summary>
+        /// Added safety check on last batch of additions for &lt; 3.0 based Lucene implementations
+        /// <see cref="https://issues.apache.org/jira/browse/LUCENE-3255"/>
+        ///</summary>
+        ///<param name="dir">return true if OK false if a potentially corrupted segments
file was removed</param>
+        public static bool CheckLastCommitOk(FSDirectory dir)
+        {
+            string latestSeg = SegmentInfos.GetCurrentSegmentFileName(dir);
+            IndexInput input = dir.OpenInput(latestSeg);
+            int format = input.ReadInt();
+            input.Close();
+            if (format != SegmentInfos.FORMAT_DIAGNOSTICS)
+            {
+                dir.DeleteFile(latestSeg);
+                return false;
+            }
+            return true;
+        }
+    }
+}

Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Lucene.Net.csproj
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Lucene.Net.csproj?rev=1140835&r1=1140834&r2=1140835&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Lucene.Net.csproj (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Lucene.Net.csproj Tue Jun 28
20:50:28 2011
@@ -212,6 +212,7 @@
     <Compile Include="AssemblyInfo.cs">
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="CorruptionCheckerForPreLucene3.cs" />
     <Compile Include="Document\AbstractField.cs">
       <SubType>Code</SubType>
     </Compile>



Mime
View raw message