You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2011/10/28 15:04:33 UTC

svn commit: r1190293 - in /lucene/dev/branches/branch_3x/lucene: ./ src/java/org/apache/lucene/index/

Author: uschindler
Date: Fri Oct 28 13:04:32 2011
New Revision: 1190293

URL: http://svn.apache.org/viewvc?rev=1190293&view=rev
Log:
LUCENE-3540: Fix error message in IndexFormatTooOldException and make use of IndexFormatTooNewException

Modified:
    lucene/dev/branches/branch_3x/lucene/CHANGES.txt
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldsReader.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentTermEnum.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/TermVectorsReader.java

Modified: lucene/dev/branches/branch_3x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/CHANGES.txt?rev=1190293&r1=1190292&r2=1190293&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/lucene/CHANGES.txt Fri Oct 28 13:04:32 2011
@@ -79,6 +79,10 @@ Bug fixes
 * LUCENE-2633: PackedInts Packed32 and Packed64 did not support internal
   structures larger than 256MB (Toke Eskildsen via Mike McCandless)
 
+* LUCENE-3540: LUCENE-3255 dropped support for pre-1.9 indexes, but the
+  error message in IndexFormatTooOldException was incorrect. (Uwe Schindler,
+  Mike McCandless)
+
 New Features
 
 * LUCENE-3448: Added FixedBitSet.and(other/DISI), andNot(other/DISI).

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldsReader.java?rev=1190293&r1=1190292&r2=1190293&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldsReader.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldsReader.java Fri Oct 28 13:04:32 2011
@@ -129,7 +129,8 @@ final class FieldsReader implements Clon
       fieldInfos = fn;
 
       cloneableFieldsStream = d.openInput(IndexFileNames.segmentFileName(segment, IndexFileNames.FIELDS_EXTENSION), readBufferSize);
-      cloneableIndexStream = d.openInput(IndexFileNames.segmentFileName(segment, IndexFileNames.FIELDS_INDEX_EXTENSION), readBufferSize);
+      final String indexStreamFN = IndexFileNames.segmentFileName(segment, IndexFileNames.FIELDS_INDEX_EXTENSION);
+      cloneableIndexStream = d.openInput(indexStreamFN, readBufferSize);
       
       // First version of fdx did not include a format
       // header, but, the first int will always be 0 in that
@@ -141,8 +142,7 @@ final class FieldsReader implements Clon
         format = firstInt;
 
       if (format > FieldsWriter.FORMAT_CURRENT)
-        throw new CorruptIndexException("Incompatible format version: " + format + " expected " 
-                                        + FieldsWriter.FORMAT_CURRENT + " or lower");
+        throw new IndexFormatTooNewException(indexStreamFN, format, 0, FieldsWriter.FORMAT_CURRENT);
 
       if (format > FieldsWriter.FORMAT)
         formatSize = 4;

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java?rev=1190293&r1=1190292&r2=1190293&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java Fri Oct 28 13:04:32 2011
@@ -25,13 +25,13 @@ public class IndexFormatTooOldException 
 
   public IndexFormatTooOldException(String filename, String version) {
     super("Format version is not supported" + (filename!=null ? (" in file '" + filename + "'") : "") +
-        ": " + version + ". This version of Lucene only supports indexes created with release 3.0 and later.");
+        ": " + version + ". This version of Lucene only supports indexes created with release 1.9 and later.");
   }
   
   public IndexFormatTooOldException(String filename, int version, int minVersion, int maxVersion) {
     super("Format version is not supported" + (filename!=null ? (" in file '" + filename + "'") : "") +
         ": " + version + " (needs to be between " + minVersion + " and " + maxVersion +
-    "). This version of Lucene only supports indexes created with release 3.0 and later.");
+    "). This version of Lucene only supports indexes created with release 1.9 and later.");
   }
 
 }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentTermEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentTermEnum.java?rev=1190293&r1=1190292&r2=1190293&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentTermEnum.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentTermEnum.java Fri Oct 28 13:04:32 2011
@@ -63,7 +63,7 @@ final class SegmentTermEnum extends Term
 
       // check that it is a format we can understand
       if (format < TermInfosWriter.FORMAT_CURRENT)
-        throw new CorruptIndexException("Unknown format version:" + format + " expected " + TermInfosWriter.FORMAT_CURRENT + " or higher");
+        throw new IndexFormatTooNewException(null, format, -1, TermInfosWriter.FORMAT_CURRENT);
 
       size = input.readLong();                    // read the size
       

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/TermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/TermVectorsReader.java?rev=1190293&r1=1190292&r2=1190293&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/TermVectorsReader.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/TermVectorsReader.java Fri Oct 28 13:04:32 2011
@@ -79,11 +79,13 @@ class TermVectorsReader implements Clone
     try {
       String idxName = IndexFileNames.segmentFileName(segment, IndexFileNames.VECTORS_INDEX_EXTENSION);
       tvx = d.openInput(idxName, readBufferSize);
-      format = checkValidFormat(tvx);
-      tvd = d.openInput(IndexFileNames.segmentFileName(segment, IndexFileNames.VECTORS_DOCUMENTS_EXTENSION), readBufferSize);
-      final int tvdFormat = checkValidFormat(tvd);
-      tvf = d.openInput(IndexFileNames.segmentFileName(segment, IndexFileNames.VECTORS_FIELDS_EXTENSION), readBufferSize);
-      final int tvfFormat = checkValidFormat(tvf);
+      format = checkValidFormat(idxName, tvx);
+      String fn = IndexFileNames.segmentFileName(segment, IndexFileNames.VECTORS_DOCUMENTS_EXTENSION);
+      tvd = d.openInput(fn, readBufferSize);
+      final int tvdFormat = checkValidFormat(fn, tvd);
+      fn = IndexFileNames.segmentFileName(segment, IndexFileNames.VECTORS_FIELDS_EXTENSION);
+      tvf = d.openInput(fn, readBufferSize);
+      final int tvfFormat = checkValidFormat(fn, tvf);
 
       assert format == tvdFormat;
       assert format == tvfFormat;
@@ -192,12 +194,11 @@ class TermVectorsReader implements Clone
     }
   }
 
-  private int checkValidFormat(IndexInput in) throws CorruptIndexException, IOException
+  private int checkValidFormat(String fn, IndexInput in) throws CorruptIndexException, IOException
   {
     int format = in.readInt();
     if (format > FORMAT_CURRENT) {
-      throw new CorruptIndexException("Incompatible format version: " + format + " expected " 
-                                      + FORMAT_CURRENT + " or less");
+      throw new IndexFormatTooNewException(fn, format, 1, FORMAT_CURRENT);
     }
     return format;
   }