You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2011/11/04 19:50:56 UTC

svn commit: r1197707 - in /lucene/dev/branches/branch_3x: ./ lucene/ lucene/backwards/src/test/ lucene/contrib/analyzers/common/ lucene/contrib/facet/src/test/org/apache/lucene/util/ lucene/contrib/misc/src/java/org/apache/lucene/store/ lucene/contrib/...

Author: mikemccand
Date: Fri Nov  4 18:50:54 2011
New Revision: 1197707

URL: http://svn.apache.org/viewvc?rev=1197707&view=rev
Log:
LUCENE-3539: try to include resource desc (file path for Dir impls based on file system) when we throw IOExc, for better transparency/debugging

Modified:
    lucene/dev/branches/branch_3x/   (props changed)
    lucene/dev/branches/branch_3x/lucene/   (props changed)
    lucene/dev/branches/branch_3x/lucene/backwards/src/test/   (props changed)
    lucene/dev/branches/branch_3x/lucene/contrib/analyzers/common/   (props changed)
    lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java
    lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java
    lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
    lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/   (props changed)
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldInfos.java
    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/FormatPostingsDocsWriter.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooNewException.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/MultiLevelSkipListReader.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/PrefixCodedTerms.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentInfos.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
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/ChecksumIndexInput.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/IndexInput.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/MMapDirectory.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/NIOFSDirectory.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMDirectory.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMInputStream.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/CodecUtil.java
    lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/index/MockIndexInput.java
    lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockIndexInputWrapper.java
    lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
    lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
    lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
    lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
    lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestHugeRamFile.java
    lucene/dev/branches/branch_3x/solr/   (props changed)
    lucene/dev/branches/branch_3x/solr/core/src/test/org/apache/solr/analysis/TestPhoneticFilterFactory.java   (props changed)

Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java Fri Nov  4 18:50:54 2011
@@ -1,13 +1,5 @@
 package org.apache.lucene.util;
 
-import java.io.IOException;
-import java.util.Random;
-
-import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.util.ThreadInterruptedException;
-
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +17,13 @@ import org.apache.lucene.util.ThreadInte
  * limitations under the License.
  */
 
+import java.io.IOException;
+import java.util.Random;
+
+import org.apache.lucene.store.IndexInput;
+import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.store.RAMDirectory;
+
 /**
  * Test utility - slow directory
  */
@@ -91,6 +90,7 @@ public class SlowRAMDirectory extends RA
     private int numRead = 0;
     
     public SlowIndexInput(IndexInput ii) {
+      super("SlowIndexInput(" + ii + ")");
       this.ii = ii;
     }
     

Modified: lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java Fri Nov  4 18:50:54 2011
@@ -238,6 +238,7 @@ public class DirectIOLinuxDirectory exte
     private int bufferPos;
 
     public DirectIOLinuxIndexInput(File path, int bufferSize) throws IOException {
+      super("DirectIOLinuxIndexInput(path=\"" + path.getPath() + "\")");
       FileDescriptor fd = NativePosixUtil.open_direct(path.toString(), true);
       fis = new FileInputStream(fd);
       channel = fis.getChannel();
@@ -252,6 +253,7 @@ public class DirectIOLinuxDirectory exte
 
     // for clone
     public DirectIOLinuxIndexInput(DirectIOLinuxIndexInput other) throws IOException {
+      super(other.toString());
       this.fis = null;
       channel = other.channel;
       this.bufferSize = other.bufferSize;
@@ -301,7 +303,7 @@ public class DirectIOLinuxDirectory exte
       try {
         return channel.size();
       } catch (IOException ioe) {
-        throw new RuntimeException(ioe);
+        throw new RuntimeException("IOException during length(): " + this, ioe);
       }
     }
 
@@ -324,9 +326,14 @@ public class DirectIOLinuxDirectory exte
       bufferPos = 0;
       assert (filePos & ALIGN_NOT_MASK) == filePos : "filePos=" + filePos + " anded=" + (filePos & ALIGN_NOT_MASK);
       //System.out.println("X refill filePos=" + filePos);
-      int n = channel.read(buffer, filePos);
+      int n;
+      try {
+        n = channel.read(buffer, filePos);
+      } catch (IOException ioe) {
+        throw new IOException(ioe.getMessage() + ": " + this, ioe);
+      }
       if (n < 0) {
-        throw new IOException("eof");
+        throw new IOException("eof: " + this);
       }
       buffer.rewind();
     }
@@ -358,7 +365,7 @@ public class DirectIOLinuxDirectory exte
       try {
         return new DirectIOLinuxIndexInput(this);
       } catch (IOException ioe) {
-        throw new RuntimeException(ioe);
+        throw new RuntimeException("IOException during clone: " + this, ioe);
       }
     }
   }

Modified: lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java Fri Nov  4 18:50:54 2011
@@ -17,8 +17,10 @@ package org.apache.lucene.store;
  * the License.
  */
 
+import java.io.EOFException;
 import java.io.File;
 import java.io.IOException;
+
 import org.apache.lucene.store.Directory; // javadoc
 import org.apache.lucene.store.NativeFSLockFactory; // javadoc
 
@@ -79,7 +81,7 @@ public class WindowsDirectory extends FS
     boolean isOpen;
     
     public WindowsIndexInput(File file, int bufferSize) throws IOException {
-      super(bufferSize);
+      super("WindowsIndexInput(path=\"" + file.getPath() + "\")", bufferSize);
       fd = WindowsDirectory.open(file.getPath());
       length = WindowsDirectory.length(fd);
       isOpen = true;
@@ -87,8 +89,16 @@ public class WindowsDirectory extends FS
     
     @Override
     protected void readInternal(byte[] b, int offset, int length) throws IOException {
-      if (WindowsDirectory.read(fd, b, offset, length, getFilePointer()) != length)
-        throw new IOException("Read past EOF");
+      int bytesRead;
+      try {
+        bytesRead = WindowsDirectory.read(fd, b, offset, length, getFilePointer());
+      } catch (IOException ioe) {
+        throw new IOException(ioe.getMessage() + ": " + this, ioe);
+      }
+
+      if (bytesRead != length) {
+        throw new EOFException("Read past EOF: " + this);
+      }
     }
 
     @Override

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java Fri Nov  4 18:50:54 2011
@@ -17,16 +17,17 @@ package org.apache.lucene.index;
  * limitations under the License.
  */
 
+import java.io.EOFException;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.HashMap;
+
+import org.apache.lucene.store.BufferedIndexInput;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.BufferedIndexInput;
 import org.apache.lucene.store.IndexOutput;
 import org.apache.lucene.store.Lock;
 
-import java.util.HashMap;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
 /**
  * Class for accessing a compound stream.
  * This class implements a directory, but is limited to only read operations.
@@ -72,7 +73,7 @@ class CompoundFileReader extends Directo
       if (firstInt < CompoundFileWriter.FORMAT_PRE_VERSION) {
         if (firstInt < CompoundFileWriter.FORMAT_CURRENT) {
           throw new CorruptIndexException("Incompatible format version: "
-              + firstInt + " expected " + CompoundFileWriter.FORMAT_CURRENT);
+              + firstInt + " expected " + CompoundFileWriter.FORMAT_CURRENT + " (resource: " + stream + ")");
         }
         // It's a post-3.1 index, read the count.
         count = stream.readVInt();
@@ -268,7 +269,7 @@ class CompoundFileReader extends Directo
     protected void readInternal(byte[] b, int offset, int len) throws IOException {
       long start = getFilePointer();
       if(start + len > length)
-        throw new IOException("read past EOF");
+        throw new EOFException("read past EOF (resource: " + base + ")");
       base.seek(fileOffset + start);
       base.readBytes(b, offset, len, false);
     }
@@ -301,7 +302,7 @@ class CompoundFileReader extends Directo
       if (numBytes > 0) {
         long start = getFilePointer();
         if (start + numBytes > length) {
-          throw new IOException("read past EOF");
+          throw new EOFException("read past EOF (resource: " + base + ")");
         }
         base.seek(fileOffset + start);
         base.copyBytes(out, numBytes);

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldInfos.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldInfos.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FieldInfos.java Fri Nov  4 18:50:54 2011
@@ -383,7 +383,7 @@ final class FieldInfos {
         if (format <= FORMAT_OMIT_POSITIONS) {
           indexOptions = IndexOptions.DOCS_AND_FREQS;
         } else {
-          throw new CorruptIndexException("Corrupt fieldinfos, OMIT_POSITIONS set but format=" + format);
+          throw new CorruptIndexException("Corrupt fieldinfos, OMIT_POSITIONS set but format=" + format + " (resource: " + input + ")");
         }
       } else {
         indexOptions = IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
@@ -400,7 +400,7 @@ final class FieldInfos {
     }
 
     if (input.getFilePointer() != input.length()) {
-      throw new CorruptIndexException("did not read all bytes from file \"" + fileName + "\": read " + input.getFilePointer() + " vs size " + input.length());
+      throw new CorruptIndexException("did not read all bytes from file \"" + fileName + "\": read " + input.getFilePointer() + " vs size " + input.length() + " (resource: " + input + ")");
     }    
   }
 

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=1197707&r1=1197706&r2=1197707&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 Nov  4 18:50:54 2011
@@ -142,7 +142,7 @@ final class FieldsReader implements Clon
         format = firstInt;
 
       if (format > FieldsWriter.FORMAT_CURRENT)
-        throw new IndexFormatTooNewException(indexStreamFN, format, 0, FieldsWriter.FORMAT_CURRENT);
+        throw new IndexFormatTooNewException(cloneableIndexStream, format, 0, FieldsWriter.FORMAT_CURRENT);
 
       if (format > FieldsWriter.FORMAT)
         formatSize = 4;

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FormatPostingsDocsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FormatPostingsDocsWriter.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FormatPostingsDocsWriter.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/FormatPostingsDocsWriter.java Fri Nov  4 18:50:54 2011
@@ -81,7 +81,7 @@ final class FormatPostingsDocsWriter ext
     final int delta = docID - lastDocID;
 
     if (docID < 0 || (df > 0 && delta <= 0))
-      throw new CorruptIndexException("docs out of order (" + docID + " <= " + lastDocID + " )");
+      throw new CorruptIndexException("docs out of order (" + docID + " <= " + lastDocID + " ) (out: " + out + ")");
 
     if ((++df % skipInterval) == 0) {
       // TODO: abstraction violation

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooNewException.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooNewException.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooNewException.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexFormatTooNewException.java Fri Nov  4 18:50:54 2011
@@ -17,15 +17,24 @@
 
 package org.apache.lucene.index;
 
+import org.apache.lucene.store.DataInput;
+
 /**
  * This exception is thrown when Lucene detects
  * an index that is newer than this Lucene version.
  */
 public class IndexFormatTooNewException extends CorruptIndexException {
 
-  public IndexFormatTooNewException(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 + ")");
+  /** @lucene.internal */
+  public IndexFormatTooNewException(String resourceDesc, int version, int minVersion, int maxVersion) {
+    super("Format version is not supported (resource: " + resourceDesc + "): "
+      + version + " (needs to be between " + minVersion + " and " + maxVersion + ")");
+    assert resourceDesc != null;
+  }
+
+  /** @lucene.internal */
+  public IndexFormatTooNewException(DataInput in, int version, int minVersion, int maxVersion) {
+    this(in.toString(), version, minVersion, maxVersion);
   }
 
 }

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=1197707&r1=1197706&r2=1197707&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 Nov  4 18:50:54 2011
@@ -17,21 +17,36 @@
 
 package org.apache.lucene.index;
 
+import org.apache.lucene.store.DataInput;
+
 /**
  * This exception is thrown when Lucene detects
  * an index that is too old for this Lucene version
  */
 public class IndexFormatTooOldException extends CorruptIndexException {
 
-  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 1.9 and later.");
+  /** @lucene.internal */
+  public IndexFormatTooOldException(String resourceDesc, String version) {
+    super("Format version is not supported (resource: " + resourceDesc + "): " +
+        version + ". This version of Lucene only supports indexes created with release 1.9 and later.");
+    assert resourceDesc != null;
   }
   
-  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 +
+  /** @lucene.internal */
+  public IndexFormatTooOldException(DataInput in, String version) {
+    this(in.toString(), version);
+  }
+
+  /** @lucene.internal */
+  public IndexFormatTooOldException(String resourceDesc, int version, int minVersion, int maxVersion) {
+    super("Format version is not supported (resource: " + resourceDesc + "): " +
+        version + " (needs to be between " + minVersion + " and " + maxVersion +
     "). This version of Lucene only supports indexes created with release 1.9 and later.");
+    assert resourceDesc != null;
   }
 
+  /** @lucene.internal */
+  public IndexFormatTooOldException(DataInput in, int version, int minVersion, int maxVersion) {
+    this(in.toString(), version, minVersion, maxVersion);
+  }
 }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MultiLevelSkipListReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MultiLevelSkipListReader.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MultiLevelSkipListReader.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MultiLevelSkipListReader.java Fri Nov  4 18:50:54 2011
@@ -239,6 +239,7 @@ abstract class MultiLevelSkipListReader 
     private int pos;
     
     SkipBuffer(IndexInput input, int length) throws IOException {
+      super("SkipBuffer on " + input);
       data = new byte[length];
       pointer = input.getFilePointer();
       input.readBytes(data, 0, length);

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/PrefixCodedTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/PrefixCodedTerms.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/PrefixCodedTerms.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/PrefixCodedTerms.java Fri Nov  4 18:50:54 2011
@@ -20,7 +20,6 @@ package org.apache.lucene.index;
 import java.io.IOException;
 import java.util.Iterator;
 
-import org.apache.lucene.index.Term;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.RAMFile;
 import org.apache.lucene.store.RAMInputStream;
@@ -57,7 +56,7 @@ class PrefixCodedTerms implements Iterab
 
     PrefixCodedTermsIterator() {
       try {
-        input = new RAMInputStream(buffer);
+        input = new RAMInputStream("PrefixCodedTermsIterator", buffer);
       } catch (IOException e) {
         throw new RuntimeException(e);
       }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentInfos.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentInfos.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/SegmentInfos.java Fri Nov  4 18:50:54 2011
@@ -272,11 +272,11 @@ public final class SegmentInfos implemen
       int format = input.readInt();
       // check that it is a format we can understand
       if (format > FORMAT_MINIMUM) {
-        throw new IndexFormatTooOldException(segmentFileName, format,
+        throw new IndexFormatTooOldException(input, format,
           FORMAT_MINIMUM, FORMAT_MAXIMUM);
       }
       if (format < FORMAT_MAXIMUM) {
-        throw new IndexFormatTooNewException(segmentFileName, format,
+        throw new IndexFormatTooNewException(input, format,
           FORMAT_MINIMUM, FORMAT_MAXIMUM);
       }
       version = input.readLong(); // read version
@@ -332,7 +332,7 @@ public final class SegmentInfos implemen
         final long checksumNow = input.getChecksum();
         final long checksumThen = input.readLong();
         if (checksumNow != checksumThen)
-          throw new CorruptIndexException("checksum mismatch in segments file");
+          throw new CorruptIndexException("checksum mismatch in segments file (resource: " + input + ")");
       }
       success = true;
     }

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=1197707&r1=1197706&r2=1197707&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 Nov  4 18:50:54 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 IndexFormatTooNewException(null, format, -1, TermInfosWriter.FORMAT_CURRENT);
+        throw new IndexFormatTooNewException(input, 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=1197707&r1=1197706&r2=1197707&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 Nov  4 18:50:54 2011
@@ -198,7 +198,7 @@ class TermVectorsReader implements Clone
   {
     int format = in.readInt();
     if (format > FORMAT_CURRENT) {
-      throw new IndexFormatTooNewException(fn, format, 1, FORMAT_CURRENT);
+      throw new IndexFormatTooNewException(in, format, 1, FORMAT_CURRENT);
     }
     return format;
   }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java Fri Nov  4 18:50:54 2011
@@ -40,10 +40,26 @@ public abstract class BufferedIndexInput
     return buffer[bufferPosition++];
   }
 
-  public BufferedIndexInput() {}
+  /** @deprecated please pass resourceDesc */
+  @Deprecated
+  public BufferedIndexInput() {
+    this("anonymous BuffereIndexInput");
+  }
 
-  /** Inits BufferedIndexInput with a specific bufferSize */
+  public BufferedIndexInput(String resourceDesc) {
+    this(resourceDesc, BUFFER_SIZE);
+  }
+
+  /** Inits BufferedIndexInput with a specific bufferSize
+   *  @deprecated please pass resourceDesc */
+  @Deprecated
   public BufferedIndexInput(int bufferSize) {
+    this("anonymous BuffereIndexInput", bufferSize);
+  }
+
+  /** Inits BufferedIndexInput with a specific bufferSize */
+  public BufferedIndexInput(String resourceDesc, int bufferSize) {
+    super(resourceDesc);
     checkBufferSize(bufferSize);
     this.bufferSize = bufferSize;
   }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/ChecksumIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/ChecksumIndexInput.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/ChecksumIndexInput.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/ChecksumIndexInput.java Fri Nov  4 18:50:54 2011
@@ -31,6 +31,7 @@ public class ChecksumIndexInput extends 
   Checksum digest;
 
   public ChecksumIndexInput(IndexInput main) {
+    super("ChecksumIndexInput(" + main + ")");
     this.main = main;
     digest = new CRC32();
   }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/IndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/IndexInput.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/IndexInput.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/IndexInput.java Fri Nov  4 18:50:54 2011
@@ -53,6 +53,24 @@ public abstract class IndexInput extends
     }
   }
 
+  private final String resourceDescription;
+
+  @Deprecated
+  /** @deprecated please pass resourceDescription */
+  protected IndexInput() {
+    this("anonymous IndexInput");
+  }
+
+  /** resourceDescription should be a non-null, opaque string
+   *  describing this resource; it's returned from
+   *  {@link #toString}. */
+  protected IndexInput(String resourceDescription) {
+    if (resourceDescription == null) {
+      throw new IllegalArgumentException("resourceDescription must not be null");
+    }
+    this.resourceDescription = resourceDescription;
+  }
+
   /** Closes the stream to further operations. */
   public abstract void close() throws IOException;
 
@@ -93,5 +111,9 @@ public abstract class IndexInput extends
       numBytes -= toCopy;
     }
   }
-  
+
+  @Override
+  public String toString() {
+    return resourceDescription;
+  }
 }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/MMapDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/MMapDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/MMapDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/MMapDirectory.java Fri Nov  4 18:50:54 2011
@@ -213,7 +213,7 @@ public class MMapDirectory extends FSDir
     File f = new File(getDirectory(), name);
     RandomAccessFile raf = new RandomAccessFile(f, "r");
     try {
-      return new MMapIndexInput(raf, chunkSizePower);
+      return new MMapIndexInput("MMapIndexInput(path=\"" + f + "\")", raf, chunkSizePower);
     } finally {
       raf.close();
     }
@@ -235,7 +235,8 @@ public class MMapDirectory extends FSDir
   
     private boolean isClone = false;
     
-    MMapIndexInput(RandomAccessFile raf, int chunkSizePower) throws IOException {
+    MMapIndexInput(String resourceDescription, RandomAccessFile raf, int chunkSizePower) throws IOException {
+      super(resourceDescription);
       this.length = raf.length();
       this.chunkSizePower = chunkSizePower;
       this.chunkSize = 1L << chunkSizePower;
@@ -274,8 +275,9 @@ public class MMapDirectory extends FSDir
       } catch (BufferUnderflowException e) {
         do {
           curBufIndex++;
-          if (curBufIndex >= buffers.length)
-            throw new IOException("read past EOF");
+          if (curBufIndex >= buffers.length) {
+            throw new IOException("read past EOF: " + this);
+          }
           curBuf = buffers[curBufIndex];
           curBuf.position(0);
         } while (!curBuf.hasRemaining());
@@ -294,8 +296,9 @@ public class MMapDirectory extends FSDir
           len -= curAvail;
           offset += curAvail;
           curBufIndex++;
-          if (curBufIndex >= buffers.length)
-            throw new IOException("read past EOF");
+          if (curBufIndex >= buffers.length) {
+            throw new IOException("read past EOF: " + this);
+          }
           curBuf = buffers[curBufIndex];
           curBuf.position(0);
           curAvail = curBuf.remaining();
@@ -338,13 +341,15 @@ public class MMapDirectory extends FSDir
         this.curBufIndex = bi;
         this.curBuf = b;
       } catch (ArrayIndexOutOfBoundsException aioobe) {
-        if (pos < 0L)
-          throw new IllegalArgumentException("Seeking to negative position");
+        if (pos < 0L) {
+          throw new IllegalArgumentException("Seeking to negative position: " + this);
+        }
         throw new IOException("seek past EOF");
       } catch (IllegalArgumentException iae) {
-        if (pos < 0L)
-          throw new IllegalArgumentException("Seeking to negative position");
-        throw new IOException("seek past EOF");
+        if (pos < 0L) {
+          throw new IllegalArgumentException("Seeking to negative position: " + this);
+        }
+        throw new IOException("seek past EOF: " + this);
       }
     }
   
@@ -355,8 +360,9 @@ public class MMapDirectory extends FSDir
   
     @Override
     public Object clone() {
-      if (buffers == null)
-        throw new AlreadyClosedException("MMapIndexInput already closed");
+      if (buffers == null) {
+        throw new AlreadyClosedException("MMapIndexInput already closed: " + this);
+      }
       final MMapIndexInput clone = (MMapIndexInput)super.clone();
       clone.isClone = true;
       clone.buffers = new ByteBuffer[buffers.length];
@@ -368,7 +374,7 @@ public class MMapDirectory extends FSDir
       try {
         clone.seek(getFilePointer());
       } catch(IOException ioe) {
-        throw new RuntimeException("Should never happen", ioe);
+        throw new RuntimeException("Should never happen: " + this, ioe);
       }
       return clone;
     }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/NIOFSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/NIOFSDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/NIOFSDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/NIOFSDirectory.java Fri Nov  4 18:50:54 2011
@@ -17,6 +17,7 @@ package org.apache.lucene.store;
  * the License.
  */
 
+import java.io.EOFException;
 import java.io.File;
 import java.io.IOException;
 import java.nio.ByteBuffer;
@@ -88,7 +89,7 @@ public class NIOFSDirectory extends FSDi
     final FileChannel channel;
 
     public NIOFSIndexInput(File path, int bufferSize, int chunkSize) throws IOException {
-      super(path, bufferSize, chunkSize);
+      super("NIOFSIndexInput(path=\"" + path + "\")", path, bufferSize, chunkSize);
       channel = file.getChannel();
     }
 
@@ -160,7 +161,7 @@ public class NIOFSDirectory extends FSDi
           bb.limit(limit);
           int i = channel.read(bb, pos);
           if (i == -1) {
-            throw new IOException("read past EOF");
+            throw new EOFException("read past EOF (resource: " + this + ")");
           }
           pos += i;
           readOffset += i;
@@ -175,6 +176,8 @@ public class NIOFSDirectory extends FSDi
               + "with a value smaller than the current chunk size (" + chunkSize + ")");
         outOfMemoryError.initCause(e);
         throw outOfMemoryError;
+      } catch (IOException ioe) {
+        throw new IOException(ioe.getMessage() + ": " + this, ioe);
       }
     }
   }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMDirectory.java Fri Nov  4 18:50:54 2011
@@ -214,7 +214,7 @@ public class RAMDirectory extends Direct
     if (file == null) {
       throw new FileNotFoundException(name);
     }
-    return new RAMInputStream(file);
+    return new RAMInputStream(name, file);
   }
 
   /** Closes the store to future operations, releasing associated memory. */

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMInputStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMInputStream.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMInputStream.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/RAMInputStream.java Fri Nov  4 18:50:54 2011
@@ -18,6 +18,7 @@ package org.apache.lucene.store;
  */
 
 import java.io.IOException;
+import java.io.EOFException;
 
 /** A memory-resident {@link IndexInput} implementation. 
  *  
@@ -35,11 +36,18 @@ public class RAMInputStream extends Inde
   private long bufferStart;
   private int bufferLength;
 
+  /** Please pass String name */
+  @Deprecated
   public RAMInputStream(RAMFile f) throws IOException {
+    this("anonymous", f);
+  }
+
+  public RAMInputStream(String name, RAMFile f) throws IOException {
+    super("RAMInputStream(name=" + name + ")");
     file = f;
     length = file.length;
     if (length/BUFFER_SIZE >= Integer.MAX_VALUE) {
-      throw new IOException("Too large RAMFile! "+length); 
+      throw new IOException("RAMInputStream too large length=" + length + ": " + name); 
     }
 
     // make sure that we switch to the
@@ -88,9 +96,9 @@ public class RAMInputStream extends Inde
     bufferStart = (long) BUFFER_SIZE * (long) currentBufferIndex;
     if (currentBufferIndex >= file.numBuffers()) {
       // end of file reached, no more buffers left
-      if (enforceEOF)
-        throw new IOException("Read past EOF");
-      else {
+      if (enforceEOF) {
+        throw new EOFException("Read past EOF: " + this);
+      } else {
         // Force EOF if a read takes place at this position
         currentBufferIndex--;
         bufferPosition = BUFFER_SIZE;

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java Fri Nov  4 18:50:54 2011
@@ -53,7 +53,8 @@ public class SimpleFSDirectory extends F
   @Override
   public IndexInput openInput(String name, int bufferSize) throws IOException {
     ensureOpen();
-    return new SimpleFSIndexInput(new File(directory, name), bufferSize, getReadChunkSize());
+    final File path = new File(directory, name);
+    return new SimpleFSIndexInput("SimpleFSIndexInput(path=\"" + path.getPath() + "\")", path, bufferSize, getReadChunkSize());
   }
 
   protected static class SimpleFSIndexInput extends BufferedIndexInput {
@@ -84,9 +85,15 @@ public class SimpleFSDirectory extends F
     boolean isClone;
     //  LUCENE-1566 - maximum read length on a 32bit JVM to prevent incorrect OOM 
     protected final int chunkSize;
-    
+
+    /** @deprecated please pass resourceDesc */
+    @Deprecated
     public SimpleFSIndexInput(File path, int bufferSize, int chunkSize) throws IOException {
-      super(bufferSize);
+      this("anonymous SimpleFSIndexInput", path, bufferSize, chunkSize);
+    }
+
+    public SimpleFSIndexInput(String resourceDesc, File path, int bufferSize, int chunkSize) throws IOException {
+      super(resourceDesc, bufferSize);
       file = new Descriptor(path, "r");
       this.chunkSize = chunkSize;
     }
@@ -128,6 +135,8 @@ public class SimpleFSDirectory extends F
               + "with a value smaller than the current chunk size (" + chunkSize + ")");
           outOfMemoryError.initCause(e);
           throw outOfMemoryError;
+        } catch (IOException ioe) {
+          throw new IOException(ioe.getMessage() + ": " + this, ioe);
         }
       }
     }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/CodecUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/CodecUtil.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/CodecUtil.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/CodecUtil.java Fri Nov  4 18:50:54 2011
@@ -18,13 +18,13 @@ package org.apache.lucene.util;
  */
 
 
-import org.apache.lucene.store.DataInput;
-import org.apache.lucene.store.DataOutput;
+import java.io.IOException;
+
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexFormatTooNewException;
 import org.apache.lucene.index.IndexFormatTooOldException;
-
-import java.io.IOException;
+import org.apache.lucene.store.DataInput;
+import org.apache.lucene.store.DataOutput;
 
 /**
  * @lucene.experimental
@@ -58,20 +58,20 @@ public final class CodecUtil {
     // Safety to guard against reading a bogus string:
     final int actualHeader = in.readInt();
     if (actualHeader != CODEC_MAGIC) {
-      throw new CorruptIndexException("codec header mismatch: actual header=" + actualHeader + " vs expected header=" + CODEC_MAGIC);
+      throw new CorruptIndexException("codec header mismatch: actual header=" + actualHeader + " vs expected header=" + CODEC_MAGIC + " (resource: " + in + ")");
     }
 
     final String actualCodec = in.readString();
     if (!actualCodec.equals(codec)) {
-      throw new CorruptIndexException("codec mismatch: actual codec=" + actualCodec + " vs expected codec=" + codec);
+      throw new CorruptIndexException("codec mismatch: actual codec=" + actualCodec + " vs expected codec=" + codec + " (resource: " + in + ")");
     }
 
     final int actualVersion = in.readInt();
     if (actualVersion < minVersion) {
-      throw new IndexFormatTooOldException(null, actualVersion, minVersion, maxVersion);
+      throw new IndexFormatTooOldException(in, actualVersion, minVersion, maxVersion);
     }
     if (actualVersion > maxVersion) {
-      throw new IndexFormatTooNewException(null, actualVersion, minVersion, maxVersion);
+      throw new IndexFormatTooNewException(in, actualVersion, minVersion, maxVersion);
     }
 
     return actualVersion;

Modified: lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/index/MockIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/index/MockIndexInput.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/index/MockIndexInput.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/index/MockIndexInput.java Fri Nov  4 18:50:54 2011
@@ -25,6 +25,7 @@ public class MockIndexInput extends Buff
     private long length;
 
     public MockIndexInput(byte[] bytes) {
+        super("MockIndexInput", BufferedIndexInput.BUFFER_SIZE);
         buffer = bytes;
         length = bytes.length;
     }

Modified: lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockIndexInputWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockIndexInputWrapper.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockIndexInputWrapper.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockIndexInputWrapper.java Fri Nov  4 18:50:54 2011
@@ -34,6 +34,7 @@ public class MockIndexInputWrapper exten
 
   /** Construct an empty output buffer. */
   public MockIndexInputWrapper(MockDirectoryWrapper dir, String name, IndexInput delegate) {
+    super("MockIndexInputWrapper(name=" + name + " delegate=" + delegate + ")");
     this.name = name;
     this.dir = dir;
     this.delegate = delegate;

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java Fri Nov  4 18:50:54 2011
@@ -451,6 +451,7 @@ public class TestFieldsReader extends Lu
     static boolean doFail;
     int count;
     private FaultyIndexInput(IndexInput delegate) {
+      super("FaultyIndexInput(" + delegate + ")", BufferedIndexInput.BUFFER_SIZE);
       this.delegate = delegate;
     }
     private void simOutage() throws IOException {

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Fri Nov  4 18:50:54 2011
@@ -166,6 +166,7 @@ public class TestLazyProxSkipping extend
           
           
           SeeksCountingStream(IndexInput input) {
+              super("SeekCountingStream(" + input + ")");
               this.input = input;
           }      
                 

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java Fri Nov  4 18:50:54 2011
@@ -129,6 +129,7 @@ public class TestMultiLevelSkipList exte
     private IndexInput input;
 
     CountingStream(IndexInput input) {
+      super("CountingStream(" + input + ")");
       this.input = input;
     }
 

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java Fri Nov  4 18:50:54 2011
@@ -91,7 +91,7 @@ public class TestBufferedIndexInput exte
     writeBytes(tmpInputFile, TEST_FILE_LENGTH);
 
     // run test with chunk size of 10 bytes
-    runReadBytesAndClose(new SimpleFSIndexInput(tmpInputFile,
+    runReadBytesAndClose(new SimpleFSIndexInput("SimpleFSIndexInput(path=\"" + tmpInputFile + "\")", tmpInputFile,
                                                 inputBufferSize, 10), inputBufferSize, random);
 
     // run test with chunk size of 10 bytes
@@ -210,6 +210,7 @@ public class TestBufferedIndexInput exte
       private long pos;
       private long len;
       public MyBufferedIndexInput(long len){
+        super("MyBufferedIndexInput(len=" + len + ")", BufferedIndexInput.BUFFER_SIZE);
         this.len = len;
         this.pos = 0;
       }

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestHugeRamFile.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestHugeRamFile.java?rev=1197707&r1=1197706&r2=1197707&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestHugeRamFile.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/store/TestHugeRamFile.java Fri Nov  4 18:50:54 2011
@@ -85,7 +85,7 @@ public class TestHugeRamFile extends Luc
     }
     out.close();
     // input part
-    RAMInputStream in = new RAMInputStream(f);
+    RAMInputStream in = new RAMInputStream("testcase", f);
     assertEquals("input length must match",n,in.length());
     //System.out.println("input length = "+in.length()+" % 1024 = "+in.length()%1024);
     for (int j=0; j<L; j++) {