You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2013/01/08 04:40:37 UTC

svn commit: r1430130 [5/27] - in /lucene/dev/branches/lucene4547: ./ dev-tools/ dev-tools/eclipse/ dev-tools/idea/.idea/libraries/ dev-tools/maven/ dev-tools/maven/solr/ dev-tools/maven/solr/contrib/analysis-extras/ dev-tools/maven/solr/contrib/cluster...

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java Tue Jan  8 03:40:16 2013
@@ -133,6 +133,7 @@ public final class BloomFilteringPosting
     super(BLOOM_CODEC_NAME);
   }
   
+  @Override
   public FieldsConsumer fieldsConsumer(SegmentWriteState state)
       throws IOException {
     if (delegatePostingsFormat == null) {
@@ -144,6 +145,7 @@ public final class BloomFilteringPosting
         delegatePostingsFormat);
   }
   
+  @Override
   public FieldsProducer fieldsProducer(SegmentReadState state)
       throws IOException {
     return new BloomFilteredFieldsProducer(state);
@@ -188,14 +190,17 @@ public final class BloomFilteringPosting
       }
     }
     
+    @Override
     public Iterator<String> iterator() {
       return delegateFieldsProducer.iterator();
     }
     
+    @Override
     public void close() throws IOException {
       delegateFieldsProducer.close();
     }
     
+    @Override
     public Terms terms(String field) throws IOException {
       FuzzySet filter = bloomsByFieldName.get(field);
       if (filter == null) {
@@ -209,6 +214,7 @@ public final class BloomFilteringPosting
       }
     }
     
+    @Override
     public int size() {
       return delegateFieldsProducer.size();
     }
@@ -460,10 +466,12 @@ public final class BloomFilteringPosting
       this.bloomFilter = bloomFilter;
     }
     
+    @Override
     public PostingsConsumer startTerm(BytesRef text) throws IOException {
       return delegateTermsConsumer.startTerm(text);
     }
     
+    @Override
     public void finishTerm(BytesRef text, TermStats stats) throws IOException {
       
       // Record this term in our BloomFilter
@@ -473,11 +481,13 @@ public final class BloomFilteringPosting
       delegateTermsConsumer.finishTerm(text, stats);
     }
     
+    @Override
     public void finish(long sumTotalTermFreq, long sumDocFreq, int docCount)
         throws IOException {
       delegateTermsConsumer.finish(sumTotalTermFreq, sumDocFreq, docCount);
     }
     
+    @Override
     public Comparator<BytesRef> getComparator() throws IOException {
       return delegateTermsConsumer.getComparator();
     }

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java Tue Jan  8 03:40:16 2013
@@ -637,6 +637,7 @@ public final class DirectPostingsFormat 
         termOrd = -1;
       }
 
+      @Override
       public Comparator<BytesRef> getComparator() {
         return BytesRef.getUTF8SortedAsUnicodeComparator();
       }
@@ -1032,6 +1033,7 @@ public final class DirectPostingsFormat 
         }
       }
 
+      @Override
       public Comparator<BytesRef> getComparator() {
         return BytesRef.getUTF8SortedAsUnicodeComparator();
       }

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java Tue Jan  8 03:40:16 2013
@@ -269,9 +269,6 @@ public final class MemoryPostingsFormat 
         out.writeVLong(sumDocFreq);
         out.writeVInt(docCount);
         FST<BytesRef> fst = builder.finish();
-        if (doPackFST) {
-          fst = fst.pack(3, Math.max(10, fst.getNodeCount()/4), acceptableOverheadRatio);
-        }
         fst.save(out);
         //System.out.println("finish field=" + field.name + " fp=" + out.getFilePointer());
       }

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/pulsing/PulsingPostingsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/pulsing/PulsingPostingsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/pulsing/PulsingPostingsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/pulsing/PulsingPostingsReader.java Tue Jan  8 03:40:16 2013
@@ -609,6 +609,7 @@ public class PulsingPostingsReader exten
     private final Map<PulsingPostingsReader,DocsEnum> enums = 
       new IdentityHashMap<PulsingPostingsReader,DocsEnum>();
       
+    @Override
     public Map<PulsingPostingsReader,DocsEnum> enums() {
       return enums;
     }

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexInput.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexInput.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexInput.java Tue Jan  8 03:40:16 2013
@@ -31,6 +31,7 @@ public abstract class IntIndexInput impl
 
   public abstract Reader reader() throws IOException;
 
+  @Override
   public abstract void close() throws IOException;
 
   public abstract Index index() throws IOException;

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexOutput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexOutput.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexOutput.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/sep/IntIndexOutput.java Tue Jan  8 03:40:16 2013
@@ -56,5 +56,6 @@ public abstract class IntIndexOutput imp
    *  this and interact with the returned IndexWriter. */
   public abstract Index index() throws IOException;
 
+  @Override
   public abstract void close() throws IOException;
 }

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java Tue Jan  8 03:40:16 2013
@@ -24,13 +24,12 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.TreeMap;
-import java.util.TreeSet;
 
 import org.apache.lucene.codecs.FieldsProducer;
 import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
-import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.SegmentReadState;
 import org.apache.lucene.index.Terms;
@@ -40,6 +39,7 @@ import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.IntsRef;
 import org.apache.lucene.util.OpenBitSet;
 import org.apache.lucene.util.StringHelper;
@@ -67,10 +67,17 @@ class SimpleTextFieldsReader extends Fie
   final static BytesRef PAYLOAD      = SimpleTextFieldsWriter.PAYLOAD;
 
   public SimpleTextFieldsReader(SegmentReadState state) throws IOException {
-    in = state.directory.openInput(SimpleTextPostingsFormat.getPostingsFileName(state.segmentInfo.name, state.segmentSuffix), state.context);
-   
     fieldInfos = state.fieldInfos;
-    fields = readFields(in.clone());
+    in = state.directory.openInput(SimpleTextPostingsFormat.getPostingsFileName(state.segmentInfo.name, state.segmentSuffix), state.context);
+    boolean success = false;
+    try {
+      fields = readFields(in.clone());
+      success = true;
+    } finally {
+      if (!success) {
+        IOUtils.closeWhileHandlingException(this);
+      }
+    }
   }
   
   private TreeMap<String,Long> readFields(IndexInput in) throws IOException {

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPerDocProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPerDocProducer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPerDocProducer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPerDocProducer.java Tue Jan  8 03:40:16 2013
@@ -79,6 +79,7 @@ public class SimpleTextPerDocProducer ex
     return docValues;
   }
 
+  @Override
   protected DocValues loadDocValues(int docCount, Directory dir, String id,
       DocValues.Type type, IOContext context) throws IOException {
     return new SimpleTextDocValues(dir, context, type, id, docCount, comp, segmentSuffix);

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java Tue Jan  8 03:40:16 2013
@@ -87,7 +87,7 @@ public class Test10KPulsings extends Luc
     for (int i = 0; i < 10050; i++) {
       String expected = df.format(i);
       assertEquals(expected, te.next().utf8ToString());
-      de = _TestUtil.docs(random(), te, null, de, 0);
+      de = _TestUtil.docs(random(), te, null, de, DocsEnum.FLAG_NONE);
       assertTrue(de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
       assertEquals(DocIdSetIterator.NO_MORE_DOCS, de.nextDoc());
     }
@@ -145,7 +145,7 @@ public class Test10KPulsings extends Luc
     for (int i = 0; i < 10050; i++) {
       String expected = df.format(i);
       assertEquals(expected, te.next().utf8ToString());
-      de = _TestUtil.docs(random(), te, null, de, 0);
+      de = _TestUtil.docs(random(), te, null, de, DocsEnum.FLAG_NONE);
       assertTrue(de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
       assertEquals(DocIdSetIterator.NO_MORE_DOCS, de.nextDoc());
     }

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java Tue Jan  8 03:40:16 2013
@@ -60,7 +60,7 @@ public class TestPulsingReuse extends Lu
     Map<DocsEnum,Boolean> allEnums = new IdentityHashMap<DocsEnum,Boolean>();
     TermsEnum te = segment.terms("foo").iterator(null);
     while (te.next() != null) {
-      reuse = te.docs(null, reuse, 0);
+      reuse = te.docs(null, reuse, DocsEnum.FLAG_NONE);
       allEnums.put(reuse, true);
     }
     
@@ -101,7 +101,7 @@ public class TestPulsingReuse extends Lu
     Map<DocsEnum,Boolean> allEnums = new IdentityHashMap<DocsEnum,Boolean>();
     TermsEnum te = segment.terms("foo").iterator(null);
     while (te.next() != null) {
-      reuse = te.docs(null, reuse, 0);
+      reuse = te.docs(null, reuse, DocsEnum.FLAG_NONE);
       allEnums.put(reuse, true);
     }
     

Modified: lucene/dev/branches/lucene4547/lucene/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/common-build.xml?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/common-build.xml (original)
+++ lucene/dev/branches/lucene4547/lucene/common-build.xml Tue Jan  8 03:40:16 2013
@@ -106,14 +106,14 @@
   </condition>
   <property name="tests.heapsize" value="512M"/>
   
-  <condition property="tests.clover.args" value="-XX:ReservedCodeCacheSize=128m">
+  <condition property="tests.clover.args" value="-XX:ReservedCodeCacheSize=128m -XX:MaxPermSize=192m">
     <isset property="run.clover"/>
   </condition>
   <property name="tests.clover.args" value=""/>
 
   <property name="tests.heapdump.args" value=""/>
 
-  <property name="tests.tempDir" location="${build.dir}/test"/>
+  <property name="tests.workDir" location="${build.dir}/test"/>
 
   <property name="tests.cachefile" location="${common.dir}/tools/junit4/cached-timehints.txt" />
   <property name="tests.cachefilehistory" value="20" />
@@ -177,7 +177,6 @@
   <property name="build.dir" location="build"/>
   <!-- Needed in case a module needs the original build, also for compile-tools to be called from a module -->
   <property name="common.build.dir" location="${common.dir}/build"/>
-  <property name="tests.lockdir" location="${common.build.dir}"/>
   <property name="dist.dir" location="${common.dir}/dist"/>
   <property name="maven.dist.dir" location="${dist.dir}/maven"/>
   <makeurl file="${maven.dist.dir}" property="m2.repository.url" validate="false"/>
@@ -475,6 +474,10 @@
       <artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-7"/>
       <parent-poms/>
       <artifact:pom id="maven.project" file="@{pom.xml}"/>
+      <artifact:install file="@{jar.file}">
+        <artifact-attachments/>
+        <pom refid="maven.project"/>
+      </artifact:install>
       <artifact:deploy file="@{jar.file}">
         <artifact-attachments/>
         <remoteRepository id="${m2.repository.id}" url="${m2.repository.url}">
@@ -757,7 +760,7 @@
     <attribute name="junit.output.dir" default="${junit.output.dir}"/>
     <attribute name="junit.classpath" default="junit.classpath"/>
     <attribute name="testsDir" default="${build.dir}/classes/test"/>
-    <attribute name="tempDir" default="${tests.tempDir}"/>
+    <attribute name="workDir" default="${tests.workDir}"/>
     <attribute name="threadNum" default="1"/>
     <attribute name="tests.nightly" default="${tests.nightly}"/>
     <attribute name="tests.weekly" default="${tests.weekly}"/>
@@ -814,9 +817,12 @@
             -->
         </junit4:pickfromlist>
         
+        <!-- junit4 does not create this directory. TODO: is this a bug / inconsistency with dir="..."? -->
+        <mkdir dir="@{workDir}/temp" />
+        
         <junit4:junit4
-            dir="@{tempDir}"
-            tempdir="@{tempDir}"
+            dir="@{workDir}"
+            tempdir="@{workDir}/temp"
             maxmemory="${tests.heapsize}" 
             
             parallelism="@{threadNum}"
@@ -854,8 +860,6 @@
             <sysproperty key="tests.verbose" value="${tests.verbose}"/>
             <!-- even more debugging -->
             <sysproperty key="tests.infostream" value="${tests.infostream}"/>
-            <!-- directory for formatter lock -->
-            <sysproperty key="tests.lockdir" value="${tests.lockdir}"/>
             <!-- set the codec tests should run with -->
             <sysproperty key="tests.codec" value="${tests.codec}"/>
             <!-- set the postingsformat tests should run with -->
@@ -892,10 +896,10 @@
             <sysproperty key="java.io.tmpdir" value="." />
 
             <!-- Restrict access to certain Java features and install security manager: -->
-            <sysproperty key="tests.sandbox.dir" value="${build.dir}" />
-            <sysproperty key="clover.db.dir" value="${clover.db.dir}" />
+            <sysproperty key="junit4.tempDir" file="@{workDir}/temp" />
+            <sysproperty key="clover.db.dir" file="${clover.db.dir}" />
             <sysproperty key="java.security.manager" value="org.apache.lucene.util.TestSecurityManager" />
-            <sysproperty key="java.security.policy" value="${common.dir}/tools/junit4/tests.policy" />
+            <sysproperty key="java.security.policy" file="${common.dir}/tools/junit4/tests.policy" />
 
             <sysproperty key="lucene.version" value="${dev.version}"/>
 
@@ -912,6 +916,7 @@
                 <propertyref prefix="tests.failfast" />
                 <propertyref prefix="tests.badapples" />
                 <propertyref prefix="tests.timeoutSuite" />
+                <propertyref prefix="tests.jettyConnector" />
             </syspropertyset>
 
             <!-- Pass randomized settings to the forked JVM. -->
@@ -1344,10 +1349,11 @@ ${tests-output}/junit4-*.suites     - pe
       </m2-deploy>
     </sequential>
   </target>
-
-  <target name="-validate-maven-dependencies">
+  
+  <target name="-validate-maven-dependencies.init">
+    <!-- find the correct pom.xml path and assigns it to property pom.xml -->
     <property name="top.level.dir" location="${common.dir}/.."/>
-    <pathconvert property="pom.xml">
+    <pathconvert property="maven.pom.xml">
       <mapper>
         <chainedmapper>
           <globmapper from="${top.level.dir}*" to="${filtered.pom.templates.dir}*"/>
@@ -1356,9 +1362,23 @@ ${tests-output}/junit4-*.suites     - pe
       </mapper>
       <path location="${ant.file}"/>
     </pathconvert>
-    <m2-validate-dependencies pom.xml="${pom.xml}" licenseDirectory="${license.dir}">
+    
+    <!-- convert ${version} to be a glob pattern, so snapshot versions are allowed: -->
+    <loadresource property="maven.version.glob">
+      <propertyresource name="version"/>
+      <filterchain>
+        <tokenfilter>
+          <filetokenizer/>
+          <replacestring from="-SNAPSHOT" to="-*"/>
+        </tokenfilter>
+      </filterchain>
+    </loadresource>
+  </target>
+  
+  <target name="-validate-maven-dependencies" depends="-validate-maven-dependencies.init">
+    <m2-validate-dependencies pom.xml="${maven.pom.xml}" licenseDirectory="${license.dir}">
       <excludes>
-        <rsel:name name="**/lucene-*.jar" handledirsep="true"/>
+        <rsel:name name="**/lucene-*-${maven.version.glob}.jar" handledirsep="true"/>
       </excludes>
     </m2-validate-dependencies>
   </target>
@@ -2039,7 +2059,7 @@ The following arguments can be provided 
 
         <junit4:pickseed property="pitest.seed" />
 
-        <property name="pitest.sysprops" value="-Dlucene.version=${dev.version},-Dtest.seed=${pitest.seed},-Djava.security.manager,-Djava.security.policy=${common.dir}/tools/junit4/tests.policy,-Djava.io.tmpdir=${tests.tempDir},-Dtests.sandbox.dir=${build.dir}" />
+        <property name="pitest.sysprops" value="-Dlucene.version=${dev.version},-Dtest.seed=${pitest.seed},-Djava.security.manager=org.apache.lucene.util.TestSecurityManager,-Djava.security.policy=${common.dir}/tools/junit4/tests.policy,-Djava.io.tmpdir=${tests.workDir},-Djunit4.childvm.cwd=${tests.workDir},-Djunit4.tempDir=${tests.workDir}" />
 
         <pitest
             classPath="pitest.classpath"

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java Tue Jan  8 03:40:16 2013
@@ -186,6 +186,7 @@ public abstract class Analyzer implement
   }
 
   /** Frees persistent resources used by this Analyzer */
+  @Override
   public void close() {
     reuseStrategy.close();
   }
@@ -334,6 +335,7 @@ public abstract class Analyzer implement
     /**
      * Closes the ReuseStrategy, freeing any resources
      */
+    @Override
     public void close() {
       if (storedValue != null) {
         storedValue.close();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/NumericTokenStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/NumericTokenStream.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/NumericTokenStream.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/NumericTokenStream.java Tue Jan  8 03:40:16 2013
@@ -153,10 +153,12 @@ public final class NumericTokenStream ex
      */
     public NumericTermAttributeImpl() {}
 
+    @Override
     public BytesRef getBytesRef() {
       return bytes;
     }
     
+    @Override
     public int fillBytesRef() {
       try {
         assert valueSize == 64 || valueSize == 32;
@@ -170,15 +172,21 @@ public final class NumericTokenStream ex
       }
     }
 
+    @Override
     public int getShift() { return shift; }
+    @Override
     public void setShift(int shift) { this.shift = shift; }
+    @Override
     public int incShift() {
       return (shift += precisionStep);
     }
 
+    @Override
     public long getRawValue() { return value  & ~((1L << shift) - 1L); }
+    @Override
     public int getValueSize() { return valueSize; }
 
+    @Override
     public void init(long value, int valueSize, int precisionStep, int shift) {
       this.value = value;
       this.valueSize = valueSize;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Token.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Token.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Token.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/Token.java Tue Jan  8 03:40:16 2013
@@ -242,6 +242,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see PositionIncrementAttribute
    */
+  @Override
   public void setPositionIncrement(int positionIncrement) {
     if (positionIncrement < 0)
       throw new IllegalArgumentException
@@ -253,6 +254,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see PositionIncrementAttribute
    */
+  @Override
   public int getPositionIncrement() {
     return positionIncrement;
   }
@@ -279,6 +281,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see OffsetAttribute
    */
+  @Override
   public final int startOffset() {
     return startOffset;
   }
@@ -287,6 +290,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see OffsetAttribute
    */
+  @Override
   public final int endOffset() {
     return endOffset;
   }
@@ -295,6 +299,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see OffsetAttribute
    */
+  @Override
   public void setOffset(int startOffset, int endOffset) {
     checkOffsets(startOffset, endOffset);
     this.startOffset = startOffset;
@@ -305,6 +310,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see TypeAttribute
    */
+  @Override
   public final String type() {
     return type;
   }
@@ -313,6 +319,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see TypeAttribute
    */
+  @Override
   public final void setType(String type) {
     this.type = type;
   }
@@ -321,6 +328,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see FlagsAttribute
    */
+  @Override
   public int getFlags() {
     return flags;
   }
@@ -329,6 +337,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see FlagsAttribute
    */
+  @Override
   public void setFlags(int flags) {
     this.flags = flags;
   }
@@ -337,6 +346,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see PayloadAttribute
    */
+  @Override
   public BytesRef getPayload() {
     return this.payload;
   }
@@ -345,6 +355,7 @@ public class Token extends CharTermAttri
    * {@inheritDoc}
    * @see PayloadAttribute
    */
+  @Override
   public void setPayload(BytesRef payload) {
     this.payload = payload;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java Tue Jan  8 03:40:16 2013
@@ -176,6 +176,7 @@ public abstract class TokenStream extend
   public void reset() throws IOException {}
   
   /** Releases resources associated with this stream. */
+  @Override
   public void close() throws IOException {}
   
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java Tue Jan  8 03:40:16 2013
@@ -68,8 +68,11 @@ public interface CharTermAttribute exten
   public CharTermAttribute setEmpty();
   
   // the following methods are redefined to get rid of IOException declaration:
+  @Override
   public CharTermAttribute append(CharSequence csq);
+  @Override
   public CharTermAttribute append(CharSequence csq, int start, int end);
+  @Override
   public CharTermAttribute append(char c);
 
   /** Appends the specified {@code String} to this character sequence. 

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -36,16 +36,19 @@ public class CharTermAttributeImpl exten
   /** Initialize this attribute with empty term text */
   public CharTermAttributeImpl() {}
 
+  @Override
   public final void copyBuffer(char[] buffer, int offset, int length) {
     growTermBuffer(length);
     System.arraycopy(buffer, offset, termBuffer, 0, length);
     termLength = length;
   }
 
+  @Override
   public final char[] buffer() {
     return termBuffer;
   }
   
+  @Override
   public final char[] resizeBuffer(int newSize) {
     if(termBuffer.length < newSize){
       // Not big enough; create a new array with slight
@@ -65,6 +68,7 @@ public class CharTermAttributeImpl exten
     }
   }
 
+  @Override
   public final CharTermAttribute setLength(int length) {
     if (length > termBuffer.length)
       throw new IllegalArgumentException("length " + length + " exceeds the size of the termBuffer (" + termBuffer.length + ")");
@@ -72,6 +76,7 @@ public class CharTermAttributeImpl exten
     return this;
   }
   
+  @Override
   public final CharTermAttribute setEmpty() {
     termLength = 0;
     return this;
@@ -81,26 +86,31 @@ public class CharTermAttributeImpl exten
   private BytesRef bytes = new BytesRef(MIN_BUFFER_SIZE);
 
   // not until java 6 @Override
+  @Override
   public int fillBytesRef() {
     return UnicodeUtil.UTF16toUTF8WithHash(termBuffer, 0, termLength, bytes);
   }
 
   // not until java 6 @Override
+  @Override
   public BytesRef getBytesRef() {
     return bytes;
   }
   
   // *** CharSequence interface ***
+  @Override
   public final int length() {
     return termLength;
   }
   
+  @Override
   public final char charAt(int index) {
     if (index >= termLength)
       throw new IndexOutOfBoundsException();
     return termBuffer[index];
   }
   
+  @Override
   public final CharSequence subSequence(final int start, final int end) {
     if (start > termLength || end > termLength)
       throw new IndexOutOfBoundsException();
@@ -109,12 +119,14 @@ public class CharTermAttributeImpl exten
   
   // *** Appendable interface ***
 
+  @Override
   public final CharTermAttribute append(CharSequence csq) {
     if (csq == null) // needed for Appendable compliance
       return appendNull();
     return append(csq, 0, csq.length());
   }
   
+  @Override
   public final CharTermAttribute append(CharSequence csq, int start, int end) {
     if (csq == null) // needed for Appendable compliance
       csq = "null";
@@ -151,6 +163,7 @@ public class CharTermAttributeImpl exten
     }
   }
   
+  @Override
   public final CharTermAttribute append(char c) {
     resizeBuffer(termLength + 1)[termLength++] = c;
     return this;
@@ -158,6 +171,7 @@ public class CharTermAttributeImpl exten
   
   // *** For performance some convenience methods in addition to CSQ's ***
   
+  @Override
   public final CharTermAttribute append(String s) {
     if (s == null) // needed for Appendable compliance
       return appendNull();
@@ -167,6 +181,7 @@ public class CharTermAttributeImpl exten
     return this;
   }
   
+  @Override
   public final CharTermAttribute append(StringBuilder s) {
     if (s == null) // needed for Appendable compliance
       return appendNull();
@@ -176,6 +191,7 @@ public class CharTermAttributeImpl exten
     return this;
   }
   
+  @Override
   public final CharTermAttribute append(CharTermAttribute ta) {
     if (ta == null) // needed for Appendable compliance
       return appendNull();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -26,10 +26,12 @@ public class FlagsAttributeImpl extends 
   /** Initialize this attribute with no bits set */
   public FlagsAttributeImpl() {}
   
+  @Override
   public int getFlags() {
     return flags;
   }
 
+  @Override
   public void setFlags(int flags) {
     this.flags = flags;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -53,10 +53,12 @@ public final class KeywordAttributeImpl 
     return keyword == other.keyword;
   }
 
+  @Override
   public boolean isKeyword() {
     return keyword;
   }
 
+  @Override
   public void setKeyword(boolean isKeyword) {
     keyword = isKeyword;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -27,10 +27,12 @@ public class OffsetAttributeImpl extends
   /** Initialize this attribute with startOffset and endOffset of 0. */
   public OffsetAttributeImpl() {}
 
+  @Override
   public int startOffset() {
     return startOffset;
   }
 
+  @Override
   public void setOffset(int startOffset, int endOffset) {
 
     // TODO: we could assert that this is set-once, ie,
@@ -48,6 +50,7 @@ public class OffsetAttributeImpl extends
     this.endOffset = endOffset;
   }
   
+  @Override
   public int endOffset() {
     return endOffset;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -36,10 +36,12 @@ public class PayloadAttributeImpl extend
     this.payload = payload;
   }
   
+  @Override
   public BytesRef getPayload() {
     return this.payload;
   }
 
+  @Override
   public void setPayload(BytesRef payload) {
     this.payload = payload;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -26,6 +26,7 @@ public class PositionIncrementAttributeI
   /** Initialize this attribute with position increment of 1 */
   public PositionIncrementAttributeImpl() {}
 
+  @Override
   public void setPositionIncrement(int positionIncrement) {
     if (positionIncrement < 0) {
       throw new IllegalArgumentException
@@ -34,6 +35,7 @@ public class PositionIncrementAttributeI
     this.positionIncrement = positionIncrement;
   }
 
+  @Override
   public int getPositionIncrement() {
     return positionIncrement;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -26,6 +26,7 @@ public class PositionLengthAttributeImpl
   /** Initializes this attribute with position length of 1. */
   public PositionLengthAttributeImpl() {}
   
+  @Override
   public void setPositionLength(int positionLength) {
     if (positionLength < 1) {
       throw new IllegalArgumentException
@@ -34,6 +35,7 @@ public class PositionLengthAttributeImpl
     this.positionLength = positionLength;
   }
 
+  @Override
   public int getPositionLength() {
     return positionLength;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java Tue Jan  8 03:40:16 2013
@@ -33,10 +33,12 @@ public class TypeAttributeImpl extends A
     this.type = type;
   }
   
+  @Override
   public String type() {
     return type;
   }
 
+  @Override
   public void setType(String type) {
     this.type = type;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java Tue Jan  8 03:40:16 2013
@@ -118,6 +118,7 @@ public abstract class DocValuesArraySour
       return values;
     }
     
+    @Override
     public double getFloat(int docID) {
       return getInt(docID);
     }
@@ -140,6 +141,7 @@ public abstract class DocValuesArraySour
       return new ByteValues((byte[]) array);
     }
 
+    @Override
     public void toBytes(long value, BytesRef bytesRef) {
       if (bytesRef.bytes.length == 0) {
         bytesRef.bytes = new byte[1];
@@ -183,6 +185,7 @@ public abstract class DocValuesArraySour
       return values;
     }
     
+    @Override
     public double getFloat(int docID) {
       return getInt(docID);
     }
@@ -199,6 +202,7 @@ public abstract class DocValuesArraySour
       return new ShortValues(input, numDocs);
     }
 
+    @Override
     public void toBytes(long value, BytesRef bytesRef) {
       copyShort(bytesRef, (short) (0xFFFFL & value));
     }
@@ -243,6 +247,7 @@ public abstract class DocValuesArraySour
       return values;
     }
     
+    @Override
     public double getFloat(int docID) {
       return getInt(docID);
     }
@@ -259,6 +264,7 @@ public abstract class DocValuesArraySour
       return new IntValues(input, numDocs);
     }
 
+    @Override
     public void toBytes(long value, BytesRef bytesRef) {
       copyInt(bytesRef, (int) (0xFFFFFFFF & value));
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java Tue Jan  8 03:40:16 2013
@@ -54,6 +54,7 @@ public abstract class FieldsConsumer imp
   public abstract TermsConsumer addField(FieldInfo field) throws IOException;
   
   /** Called when we are done adding everything. */
+  @Override
   public abstract void close() throws IOException;
 
   /** Called during merging to merge all {@link Fields} from

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java Tue Jan  8 03:40:16 2013
@@ -66,6 +66,7 @@ public abstract class PostingsReaderBase
   public abstract DocsAndPositionsEnum docsAndPositions(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsAndPositionsEnum reuse,
                                                         int flags) throws IOException;
 
+  @Override
   public abstract void close() throws IOException;
 
   /** Reads data for all terms in the next block; this

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java Tue Jan  8 03:40:16 2013
@@ -38,5 +38,6 @@ public abstract class StoredFieldsReader
   /** Visit the stored fields for document <code>n</code> */
   public abstract void visitDocument(int n, StoredFieldVisitor visitor) throws IOException;
 
+  @Override
   public abstract StoredFieldsReader clone();
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java Tue Jan  8 03:40:16 2013
@@ -118,5 +118,6 @@ public abstract class StoredFieldsWriter
     }
   }
 
+  @Override
   public abstract void close() throws IOException;
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java Tue Jan  8 03:40:16 2013
@@ -44,5 +44,6 @@ public abstract class TermVectorsReader 
 
   /** Create a clone that one caller at a time may use to
    *  read term vectors. */
+  @Override
   public abstract TermVectorsReader clone();
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java Tue Jan  8 03:40:16 2013
@@ -285,5 +285,6 @@ public abstract class TermVectorsWriter 
    *  before feeding to this API. */
   public abstract Comparator<BytesRef> getComparator() throws IOException;
 
+  @Override
   public abstract void close() throws IOException;
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java Tue Jan  8 03:40:16 2013
@@ -23,6 +23,7 @@ import java.util.Comparator;
 import org.apache.lucene.index.FieldInfo; // javadocs
 import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.MergeState;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.index.MultiDocsEnum;
@@ -103,7 +104,7 @@ public abstract class TermsConsumer {
       while((term = termsEnum.next()) != null) {
         // We can pass null for liveDocs, because the
         // mapping enum will skip the non-live docs:
-        docsEnumIn = (MultiDocsEnum) termsEnum.docs(null, docsEnumIn, 0);
+        docsEnumIn = (MultiDocsEnum) termsEnum.docs(null, docsEnumIn, DocsEnum.FLAG_NONE);
         if (docsEnumIn != null) {
           docsEnum.reset(docsEnumIn);
           final PostingsConsumer postingsConsumer = startTerm(term);

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java Tue Jan  8 03:40:16 2013
@@ -48,16 +48,30 @@ import org.apache.lucene.store.IOContext
 public class CompressingStoredFieldsFormat extends StoredFieldsFormat {
 
   private final String formatName;
+  private final String segmentSuffix;
   private final CompressionMode compressionMode;
   private final int chunkSize;
 
   /**
+   * Create a new {@link CompressingStoredFieldsFormat} with an empty segment 
+   * suffix.
+   * 
+   * @see CompressingStoredFieldsFormat#CompressingStoredFieldsFormat(String, String, CompressionMode, int)
+   */
+  public CompressingStoredFieldsFormat(String formatName, CompressionMode compressionMode, int chunkSize) {
+    this(formatName, "", compressionMode, chunkSize);
+  }
+  
+  /**
    * Create a new {@link CompressingStoredFieldsFormat}.
    * <p>
    * <code>formatName</code> is the name of the format. This name will be used
    * in the file formats to perform
    * {@link CodecUtil#checkHeader(org.apache.lucene.store.DataInput, String, int, int) codec header checks}.
    * <p>
+   * <code>segmentSuffix</code> is the segment suffix. This suffix is added to 
+   * the result file name only if it's not the empty string.
+   * <p>
    * The <code>compressionMode</code> parameter allows you to choose between
    * compression algorithms that have various compression and decompression
    * speeds so that you can pick the one that best fits your indexing and
@@ -81,25 +95,29 @@ public class CompressingStoredFieldsForm
    * @param chunkSize the minimum number of bytes of a single chunk of stored documents
    * @see CompressionMode
    */
-  public CompressingStoredFieldsFormat(String formatName, CompressionMode compressionMode, int chunkSize) {
+  public CompressingStoredFieldsFormat(String formatName, String segmentSuffix, 
+                                       CompressionMode compressionMode, int chunkSize) {
     this.formatName = formatName;
+    this.segmentSuffix = segmentSuffix;
     this.compressionMode = compressionMode;
     if (chunkSize < 1) {
       throw new IllegalArgumentException("chunkSize must be >= 1");
     }
     this.chunkSize = chunkSize;
+    
   }
 
   @Override
   public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si,
       FieldInfos fn, IOContext context) throws IOException {
-    return new CompressingStoredFieldsReader(directory, si, "", fn, context, formatName, compressionMode);
+    return new CompressingStoredFieldsReader(directory, si, segmentSuffix, fn, 
+        context, formatName, compressionMode);
   }
 
   @Override
   public StoredFieldsWriter fieldsWriter(Directory directory, SegmentInfo si,
       IOContext context) throws IOException {
-    return new CompressingStoredFieldsWriter(directory, si, "", context,
+    return new CompressingStoredFieldsWriter(directory, si, segmentSuffix, context,
         formatName, compressionMode, chunkSize);
   }
 

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java Tue Jan  8 03:40:16 2013
@@ -70,6 +70,7 @@ public final class CompressingStoredFiel
 
   private final Directory directory;
   private final String segment;
+  private final String segmentSuffix;
   private CompressingStoredFieldsIndexWriter indexWriter;
   private IndexOutput fieldsStream;
 
@@ -89,6 +90,7 @@ public final class CompressingStoredFiel
     assert directory != null;
     this.directory = directory;
     this.segment = si.name;
+    this.segmentSuffix = segmentSuffix;
     this.compressionMode = compressionMode;
     this.compressor = compressionMode.newCompressor();
     this.chunkSize = chunkSize;
@@ -287,8 +289,8 @@ public final class CompressingStoredFiel
   public void abort() {
     IOUtils.closeWhileHandlingException(this);
     IOUtils.deleteFilesIgnoringExceptions(directory,
-        IndexFileNames.segmentFileName(segment, "", FIELDS_EXTENSION),
-        IndexFileNames.segmentFileName(segment, "", FIELDS_INDEX_EXTENSION));
+        IndexFileNames.segmentFileName(segment, segmentSuffix, FIELDS_EXTENSION),
+        IndexFileNames.segmentFileName(segment, segmentSuffix, FIELDS_INDEX_EXTENSION));
   }
 
   @Override

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/BitVector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/BitVector.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/BitVector.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/BitVector.java Tue Jan  8 03:40:16 2013
@@ -26,6 +26,7 @@ import org.apache.lucene.store.Directory
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.MutableBits;
 
 /** Optimized implementation of a vector of bits.  This is more-or-less like
@@ -109,6 +110,7 @@ final class BitVector implements Cloneab
   }
 
   /** Sets the value of <code>bit</code> to zero. */
+  @Override
   public final void clear(int bit) {
     if (bit >= size) {
       throw new ArrayIndexOutOfBoundsException(bit);
@@ -138,6 +140,7 @@ final class BitVector implements Cloneab
 
   /** Returns <code>true</code> if <code>bit</code> is one and
     <code>false</code> if it is zero. */
+  @Override
   public final boolean get(int bit) {
     assert bit >= 0 && bit < size: "bit " + bit + " is out of bounds 0.." + (size-1);
     return (bits[bit >> 3] & (1 << (bit & 7))) != 0;
@@ -236,7 +239,7 @@ final class BitVector implements Cloneab
       }
       assert verifyCount();
     } finally {
-      output.close();
+      IOUtils.close(output);
     }
   }
 

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java Tue Jan  8 03:40:16 2013
@@ -124,6 +124,7 @@ public final class Lucene40StoredFieldsR
    *
    * @throws IOException If an I/O error occurs
    */
+  @Override
   public final void close() throws IOException {
     if (!closed) {
       IOUtils.close(fieldsStream, indexStream);

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java Tue Jan  8 03:40:16 2013
@@ -113,11 +113,13 @@ public final class Lucene40StoredFieldsW
   // and adds a new entry for this document into the index
   // stream.  This assumes the buffer was already written
   // in the correct fields format.
+  @Override
   public void startDocument(int numStoredFields) throws IOException {
     indexStream.writeLong(fieldsStream.getFilePointer());
     fieldsStream.writeVInt(numStoredFields);
   }
 
+  @Override
   public void close() throws IOException {
     try {
       IOUtils.close(fieldsStream, indexStream);
@@ -126,6 +128,7 @@ public final class Lucene40StoredFieldsW
     }
   }
 
+  @Override
   public void abort() {
     try {
       close();
@@ -135,6 +138,7 @@ public final class Lucene40StoredFieldsW
         IndexFileNames.segmentFileName(segment, "", FIELDS_INDEX_EXTENSION));
   }
 
+  @Override
   public void writeField(FieldInfo info, StorableField field) throws IOException {
     fieldsStream.writeVInt(info.number);
     int bits = 0;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/Bytes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/Bytes.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/Bytes.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/Bytes.java Tue Jan  8 03:40:16 2013
@@ -469,6 +469,7 @@ public final class Bytes {
       }
     }
     
+    @Override
     public int getValueSize() {
       return size;
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/DirectSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/DirectSource.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/DirectSource.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/DirectSource.java Tue Jan  8 03:40:16 2013
@@ -130,6 +130,7 @@ abstract class DirectSource extends Sour
       throw new UnsupportedOperationException("ints are not supported");
     }
 
+    @Override
     double toDouble(IndexInput input) throws IOException {
       return Float.intBitsToFloat(input.readInt());
     }
@@ -141,6 +142,7 @@ abstract class DirectSource extends Sour
       throw new UnsupportedOperationException("ints are not supported");
     }
 
+    @Override
     double toDouble(IndexInput input) throws IOException {
       return Double.longBitsToDouble(input.readLong());
     }
@@ -153,6 +155,7 @@ abstract class DirectSource extends Sour
       return input.readLong();
     }
 
+    @Override
     double toDouble(IndexInput input) {
       throw new UnsupportedOperationException("doubles are not supported");
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsReader.java Tue Jan  8 03:40:16 2013
@@ -122,7 +122,7 @@ public final class Lucene41PostingsReade
   /**
    * Read values that have been written using variable-length encoding instead of bit-packing.
    */
-  private static void readVIntBlock(IndexInput docIn, int[] docBuffer,
+  static void readVIntBlock(IndexInput docIn, int[] docBuffer,
       int[] freqBuffer, int num, boolean indexHasFreq) throws IOException {
     if (indexHasFreq) {
       for(int i=0;i<num;i++) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/package.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/package.html?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/package.html (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene41/package.html Tue Jan  8 03:40:16 2013
@@ -147,7 +147,7 @@ its numbering.</p>
    This contains the set of field names used in the index.
 </li>
 <li>
-{@link org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsFormat Stored Field values}. 
+{@link org.apache.lucene.codecs.lucene41.Lucene41StoredFieldsFormat Stored Field values}. 
 This contains, for each document, a list of attribute-value pairs, where the attributes 
 are field names. These are used to store auxiliary information about the document, such as 
 its title, url, or an identifier to access a database. The set of stored fields are what is 
@@ -254,12 +254,12 @@ systems that frequently run out of file 
 <td>Stores information about the fields</td>
 </tr>
 <tr>
-<td>{@link org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsFormat Field Index}</td>
+<td>{@link org.apache.lucene.codecs.lucene41.Lucene41StoredFieldsFormat Field Index}</td>
 <td>.fdx</td>
 <td>Contains pointers to field data</td>
 </tr>
 <tr>
-<td>{@link org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsFormat Field Data}</td>
+<td>{@link org.apache.lucene.codecs.lucene41.Lucene41StoredFieldsFormat Field Data}</td>
 <td>.fdt</td>
 <td>The stored fields for documents</td>
 </tr>

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java Tue Jan  8 03:40:16 2013
@@ -39,12 +39,15 @@ public class DocumentStoredFieldVisitor 
   private final StoredDocument doc = new StoredDocument();
   private final Set<String> fieldsToAdd;
 
-  /** Load only fields named in the provided <code>Set&lt;String&gt;</code>. */
+  /** 
+   * Load only fields named in the provided <code>Set&lt;String&gt;</code>. 
+   * @param fieldsToAdd Set of fields to load, or <code>null</code> (all fields).
+   */
   public DocumentStoredFieldVisitor(Set<String> fieldsToAdd) {
     this.fieldsToAdd = fieldsToAdd;
   }
 
-  /** Load only fields named in the provided <code>Set&lt;String&gt;</code>. */
+  /** Load only fields named in the provided fields. */
   public DocumentStoredFieldVisitor(String... fields) {
     fieldsToAdd = new HashSet<String>(fields.length);
     for(String field : fields) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/Field.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/Field.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/Field.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/Field.java Tue Jan  8 03:40:16 2013
@@ -266,6 +266,7 @@ public class Field implements IndexableF
    * binary value is used. Exactly one of stringValue(), readerValue(), and
    * getBinaryValue() must be set.
    */
+  @Override
   public String stringValue() {
     if (fieldsData instanceof String || fieldsData instanceof Number) {
       return fieldsData.toString();
@@ -279,6 +280,7 @@ public class Field implements IndexableF
    * binary value is used. Exactly one of stringValue(), readerValue(), and
    * getBinaryValue() must be set.
    */
+  @Override
   public Reader readerValue() {
     return fieldsData instanceof Reader ? (Reader) fieldsData : null;
   }
@@ -345,7 +347,7 @@ public class Field implements IndexableF
       throw new IllegalArgumentException("cannot change value type from " + fieldsData.getClass().getSimpleName() + " to BytesRef");
     }
     if (type.indexed()) {
-      throw new IllegalArgumentException("cannot set a Reader value on an indexed field");
+      throw new IllegalArgumentException("cannot set a BytesRef value on an indexed field");
     }
     fieldsData = value;
   }
@@ -431,6 +433,7 @@ public class Field implements IndexableF
     this.tokenStream = tokenStream;
   }
   
+  @Override
   public String name() {
     return name;
   }
@@ -441,6 +444,7 @@ public class Field implements IndexableF
    * The default value is <code>1.0f</code> (no boost).
    * @see #setBoost(float)
    */
+  @Override
   public float boost() {
     return boost;
   }
@@ -460,6 +464,7 @@ public class Field implements IndexableF
     this.boost = boost;
   }
 
+  @Override
   public Number numericValue() {
     if (fieldsData instanceof Number) {
       return (Number) fieldsData;
@@ -468,6 +473,7 @@ public class Field implements IndexableF
     }
   }
 
+  @Override
   public BytesRef binaryValue() {
     if (fieldsData instanceof BytesRef) {
       return (BytesRef) fieldsData;
@@ -494,10 +500,12 @@ public class Field implements IndexableF
   }
   
   /** Returns the {@link FieldType} for this field. */
+  @Override
   public FieldType fieldType() {
     return type;
   }
 
+  @Override
   public TokenStream tokenStream(Analyzer analyzer) throws IOException {
     if (!fieldType().indexed()) {
       return null;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/FieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/FieldType.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/FieldType.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/document/FieldType.java Tue Jan  8 03:40:16 2013
@@ -102,6 +102,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>.
    * @see #setIndexed(boolean)
    */
+  @Override
   public boolean indexed() {
     return this.indexed;
   }
@@ -124,6 +125,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>.
    * @see #setStored(boolean)
    */
+  @Override
   public boolean stored() {
     return this.stored;
   }
@@ -146,6 +148,7 @@ public class FieldType implements Indexa
    * The default is <code>true</code>.
    * @see #setTokenized(boolean)
    */
+  @Override
   public boolean tokenized() {
     return this.tokenized;
   }
@@ -169,6 +172,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>. 
    * @see #setStoreTermVectors(boolean)
    */
+  @Override
   public boolean storeTermVectors() {
     return this.storeTermVectors;
   }
@@ -192,6 +196,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>.
    * @see #setStoreTermVectorOffsets(boolean)
    */
+  @Override
   public boolean storeTermVectorOffsets() {
     return this.storeTermVectorOffsets;
   }
@@ -215,6 +220,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>.
    * @see #setStoreTermVectorPositions(boolean)
    */
+  @Override
   public boolean storeTermVectorPositions() {
     return this.storeTermVectorPositions;
   }
@@ -238,6 +244,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>.
    * @see #setStoreTermVectorPayloads(boolean) 
    */
+  @Override
   public boolean storeTermVectorPayloads() {
     return this.storeTermVectorPayloads;
   }
@@ -261,6 +268,7 @@ public class FieldType implements Indexa
    * The default is <code>false</code>.
    * @see #setOmitNorms(boolean)
    */
+  @Override
   public boolean omitNorms() {
     return this.omitNorms;
   }
@@ -283,6 +291,7 @@ public class FieldType implements Indexa
    * The default is {@link IndexOptions#DOCS_AND_FREQS_AND_POSITIONS}.
    * @see #setIndexOptions(org.apache.lucene.index.FieldInfo.IndexOptions)
    */
+  @Override
   public IndexOptions indexOptions() {
     return this.indexOptions;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java Tue Jan  8 03:40:16 2013
@@ -90,6 +90,7 @@ public abstract class AtomicReader exten
    * field does not exists.  This method does not take into
    * account deleted documents that have not yet been merged
    * away. */
+  @Override
   public final long totalTermFreq(Term term) throws IOException {
     final Fields fields = fields();
     if (fields == null) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java Tue Jan  8 03:40:16 2013
@@ -37,6 +37,7 @@ final class BitsSlice implements Bits {
     assert length >= 0: "length=" + length;
   }
     
+  @Override
   public boolean get(int doc) {
     if (doc >= length) {
       throw new RuntimeException("doc " + doc + " is out of bounds 0 .. " + (length-1));
@@ -45,6 +46,7 @@ final class BitsSlice implements Bits {
     return parent.get(doc+start);
   }
 
+  @Override
   public int length() {
     return length;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java Tue Jan  8 03:40:16 2013
@@ -168,6 +168,8 @@ class BufferedDeletesStream {
       infoStream.message("BD", "applyDeletes: infos=" + infos + " packetCount=" + deletes.size());
     }
 
+    final long gen = nextGen++;
+
     List<SegmentInfoPerCommit> infos2 = new ArrayList<SegmentInfoPerCommit>();
     infos2.addAll(infos);
     Collections.sort(infos2, sortSegInfoByDelGen);
@@ -255,7 +257,7 @@ class BufferedDeletesStream {
          */
         delIDX--;
         infosIDX--;
-        info.setBufferedDeletesGen(nextGen);
+        info.setBufferedDeletesGen(gen);
 
       } else {
         //System.out.println("  gt");
@@ -290,7 +292,7 @@ class BufferedDeletesStream {
             infoStream.message("BD", "seg=" + info + " segGen=" + segGen + " coalesced deletes=[" + (coalescedDeletes == null ? "null" : coalescedDeletes) + "] newDelCount=" + delCount + (segAllDeletes ? " 100% deleted" : ""));
           }
         }
-        info.setBufferedDeletesGen(nextGen);
+        info.setBufferedDeletesGen(gen);
 
         infosIDX--;
       }
@@ -302,7 +304,7 @@ class BufferedDeletesStream {
     }
     // assert infos != segmentInfos || !any() : "infos=" + infos + " segmentInfos=" + segmentInfos + " any=" + any;
 
-    return new ApplyDeletesResult(anyNewDeletes, nextGen++, allDeleted);
+    return new ApplyDeletesResult(anyNewDeletes, gen, allDeleted);
   }
 
   synchronized long getNextGen() {
@@ -397,7 +399,7 @@ class BufferedDeletesStream {
 
       if (termsEnum.seekExact(term.bytes(), false)) {
         // we don't need term frequencies for this
-        DocsEnum docsEnum = termsEnum.docs(rld.getLiveDocs(), docs, 0);
+        DocsEnum docsEnum = termsEnum.docs(rld.getLiveDocs(), docs, DocsEnum.FLAG_NONE);
         //System.out.println("BDS: got docsEnum=" + docsEnum);
 
         if (docsEnum != null) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java Tue Jan  8 03:40:16 2013
@@ -909,7 +909,7 @@ public class CheckIndex {
               totalTermFreq += docsNoDel.freq();
             }
           } else {
-            final DocsEnum docsNoDel = termsEnum.docs(null, docs, 0);
+            final DocsEnum docsNoDel = termsEnum.docs(null, docs, DocsEnum.FLAG_NONE);
             docCount = 0;
             totalTermFreq = -1;
             while(docsNoDel.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
@@ -995,7 +995,7 @@ public class CheckIndex {
         } else {
           for(int idx=0;idx<7;idx++) {
             final int skipDocID = (int) (((idx+1)*(long) maxDoc)/8);
-            docs = termsEnum.docs(liveDocs, docs, 0);
+            docs = termsEnum.docs(liveDocs, docs, DocsEnum.FLAG_NONE);
             final int docID = docs.advance(skipDocID);
             if (docID == DocIdSetIterator.NO_MORE_DOCS) {
               break;
@@ -1061,7 +1061,7 @@ public class CheckIndex {
           }
           
           int expectedDocFreq = termsEnum.docFreq();
-          DocsEnum d = termsEnum.docs(null, null, 0);
+          DocsEnum d = termsEnum.docs(null, null, DocsEnum.FLAG_NONE);
           int docFreq = 0;
           while (d.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
             docFreq++;
@@ -1102,7 +1102,7 @@ public class CheckIndex {
                 throw new RuntimeException("seek to existing term " + seekTerms[i] + " failed");
               }
               
-              docs = termsEnum.docs(liveDocs, docs, 0);
+              docs = termsEnum.docs(liveDocs, docs, DocsEnum.FLAG_NONE);
               if (docs == null) {
                 throw new RuntimeException("null DocsEnum from to existing term " + seekTerms[i]);
               }
@@ -1120,7 +1120,7 @@ public class CheckIndex {
               }
               
               totDocFreq += termsEnum.docFreq();
-              docs = termsEnum.docs(null, docs, 0);
+              docs = termsEnum.docs(null, docs, DocsEnum.FLAG_NONE);
               if (docs == null) {
                 throw new RuntimeException("null DocsEnum from to existing term " + seekTerms[i]);
               }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java Tue Jan  8 03:40:16 2013
@@ -55,14 +55,15 @@ public class ConcurrentMergeScheduler ex
   // forcefully pause the larger ones, letting the smaller
   // ones run, up until maxMergeCount merges at which point
   // we forcefully pause incoming threads (that presumably
-  // are the ones causing so much merging).  We dynamically
-  // default this from 1 to 3, depending on how many cores
-  // you have:
-  private int maxThreadCount = Math.max(1, Math.min(3, Runtime.getRuntime().availableProcessors()/2));
+  // are the ones causing so much merging).  We default to 1
+  // here: tests on spinning-magnet drives showed slower
+  // indexing perf if more than one merge thread runs at
+  // once (though on an SSD it was faster):
+  private int maxThreadCount = 1;
 
   // Max number of merges we accept before forcefully
   // throttling the incoming threads
-  private int maxMergeCount = maxThreadCount+2;
+  private int maxMergeCount = 2;
 
   /** {@link Directory} that holds the index. */
   protected Directory dir;
@@ -144,6 +145,7 @@ public class ConcurrentMergeScheduler ex
 
   /** Sorts {@link MergeThread}s; larger merges come first. */
   protected static final Comparator<MergeThread> compareByMergeDocCount = new Comparator<MergeThread>() {
+    @Override
     public int compare(MergeThread t1, MergeThread t2) {
       final MergePolicy.OneMerge m1 = t1.getCurrentMerge();
       final MergePolicy.OneMerge m2 = t2.getCurrentMerge();
@@ -478,6 +480,14 @@ public class ConcurrentMergeScheduler ex
           // Subsequent times through the loop we do any new
           // merge that writer says is necessary:
           merge = tWriter.getNextMerge();
+
+          // Notify here in case any threads were stalled;
+          // they will notice that the pending merge has
+          // been pulled and possibly resume:
+          synchronized(ConcurrentMergeScheduler.this) {
+            ConcurrentMergeScheduler.this.notifyAll();
+          }
+
           if (merge != null) {
             updateMergeThreads();
             if (verbose()) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java Tue Jan  8 03:40:16 2013
@@ -330,6 +330,7 @@ final class DocFieldProcessor extends Do
   }
 
   private static final Comparator<DocFieldProcessorPerField> fieldsComp = new Comparator<DocFieldProcessorPerField>() {
+    @Override
     public int compare(DocFieldProcessorPerField o1, DocFieldProcessorPerField o2) {
       return o1.fieldInfo.name.compareTo(o2.fieldInfo.name);
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocInverterPerField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocInverterPerField.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocInverterPerField.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocInverterPerField.java Tue Jan  8 03:40:16 2013
@@ -106,75 +106,72 @@ final class DocInverterPerField extends 
           OffsetAttribute offsetAttribute = fieldState.attributeSource.addAttribute(OffsetAttribute.class);
           PositionIncrementAttribute posIncrAttribute = fieldState.attributeSource.addAttribute(PositionIncrementAttribute.class);
 
-          consumer.start(field);
+          if (hasMoreTokens) {
+            consumer.start(field);
 
-          for (;;) {
-
-            // If we hit an exception in stream.next below
-            // (which is fairly common, eg if analyzer
-            // chokes on a given document), then it's
-            // non-aborting and (above) this one document
-            // will be marked as deleted, but still
-            // consume a docID
-
-            if (!hasMoreTokens) break;
-
-            final int posIncr = posIncrAttribute.getPositionIncrement();
-            if (posIncr < 0) {
-              throw new IllegalArgumentException("position increment must be >=0 (got " + posIncr + ")");
-            }
-            if (fieldState.position == 0 && posIncr == 0) {
-              throw new IllegalArgumentException("first position increment must be > 0 (got 0)");
-            }
-            int position = fieldState.position + posIncr;
-            if (position > 0) {
-              // NOTE: confusing: this "mirrors" the
-              // position++ we do below
-              position--;
-            } else if (position < 0) {
-              throw new IllegalArgumentException("position overflow for field '" + field.name() + "'");
-            }
-            
-            // position is legal, we can safely place it in fieldState now.
-            // not sure if anything will use fieldState after non-aborting exc...
-            fieldState.position = position;
-
-            if (posIncr == 0)
-              fieldState.numOverlap++;
-            
-            if (checkOffsets) {
-              int startOffset = fieldState.offset + offsetAttribute.startOffset();
-              int endOffset = fieldState.offset + offsetAttribute.endOffset();
-              if (startOffset < 0 || endOffset < startOffset) {
-                throw new IllegalArgumentException("startOffset must be non-negative, and endOffset must be >= startOffset, "
-                    + "startOffset=" + startOffset + ",endOffset=" + endOffset);
+            do {
+              // If we hit an exception in stream.next below
+              // (which is fairly common, eg if analyzer
+              // chokes on a given document), then it's
+              // non-aborting and (above) this one document
+              // will be marked as deleted, but still
+              // consume a docID
+
+              final int posIncr = posIncrAttribute.getPositionIncrement();
+              if (posIncr < 0) {
+                throw new IllegalArgumentException("position increment must be >=0 (got " + posIncr + ")");
               }
-              if (startOffset < lastStartOffset) {
-                throw new IllegalArgumentException("offsets must not go backwards startOffset=" 
-                     + startOffset + " is < lastStartOffset=" + lastStartOffset);
+              if (fieldState.position == 0 && posIncr == 0) {
+                throw new IllegalArgumentException("first position increment must be > 0 (got 0)");
               }
-              lastStartOffset = startOffset;
-            }
-
-            boolean success = false;
-            try {
-              // If we hit an exception in here, we abort
-              // all buffered documents since the last
-              // flush, on the likelihood that the
-              // internal state of the consumer is now
-              // corrupt and should not be flushed to a
-              // new segment:
-              consumer.add();
-              success = true;
-            } finally {
-              if (!success) {
-                docState.docWriter.setAborting();
+              int position = fieldState.position + posIncr;
+              if (position > 0) {
+                // NOTE: confusing: this "mirrors" the
+                // position++ we do below
+                position--;
+              } else if (position < 0) {
+                throw new IllegalArgumentException("position overflow for field '" + field.name() + "'");
+              }
+              
+              // position is legal, we can safely place it in fieldState now.
+              // not sure if anything will use fieldState after non-aborting exc...
+              fieldState.position = position;
+
+              if (posIncr == 0)
+                fieldState.numOverlap++;
+              
+              if (checkOffsets) {
+                int startOffset = fieldState.offset + offsetAttribute.startOffset();
+                int endOffset = fieldState.offset + offsetAttribute.endOffset();
+                if (startOffset < 0 || endOffset < startOffset) {
+                  throw new IllegalArgumentException("startOffset must be non-negative, and endOffset must be >= startOffset, "
+                      + "startOffset=" + startOffset + ",endOffset=" + endOffset);
+                }
+                if (startOffset < lastStartOffset) {
+                  throw new IllegalArgumentException("offsets must not go backwards startOffset=" 
+                       + startOffset + " is < lastStartOffset=" + lastStartOffset);
+                }
+                lastStartOffset = startOffset;
               }
-            }
-            fieldState.length++;
-            fieldState.position++;
 
-            hasMoreTokens = stream.incrementToken();
+              boolean success = false;
+              try {
+                // If we hit an exception in here, we abort
+                // all buffered documents since the last
+                // flush, on the likelihood that the
+                // internal state of the consumer is now
+                // corrupt and should not be flushed to a
+                // new segment:
+                consumer.add();
+                success = true;
+              } finally {
+                if (!success) {
+                  docState.docWriter.setAborting();
+                }
+              }
+              fieldState.length++;
+              fieldState.position++;
+            } while (stream.incrementToken());
           }
           // trigger streams to perform end-of-stream operations
           stream.end();