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 [6/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/core/src/java/org/apache/lucene/index/DocTermOrds.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocTermOrds.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocTermOrds.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocTermOrds.java Tue Jan 8 03:40:16 2013
@@ -363,7 +363,7 @@ public class DocTermOrds {
final int df = te.docFreq();
if (df <= maxTermDocFreq) {
- docsEnum = te.docs(liveDocs, docsEnum, 0);
+ docsEnum = te.docs(liveDocs, docsEnum, DocsEnum.FLAG_NONE);
// dF, but takes deletions into account
int actualDF = 0;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocValues.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocValues.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocValues.java Tue Jan 8 03:40:16 2013
@@ -163,6 +163,7 @@ public abstract class DocValues implemen
* by the creator of this {@link DocValues} instance. API users should not
* close {@link DocValues} instances.
*/
+ @Override
public void close() throws IOException {
cache.close(this);
}
@@ -833,6 +834,7 @@ public abstract class DocValues implemen
public DirectSourceCache() {
}
+ @Override
public synchronized Source load(DocValues values) throws IOException {
if (ref == null) {
ref = values.loadSource();
@@ -840,6 +842,7 @@ public abstract class DocValues implemen
return ref;
}
+ @Override
public synchronized void invalidate(DocValues values) {
ref = null;
directSourceCache.close();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsAndPositionsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsAndPositionsEnum.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsAndPositionsEnum.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsAndPositionsEnum.java Tue Jan 8 03:40:16 2013
@@ -24,6 +24,7 @@ import org.apache.lucene.util.BytesRef;
/** Also iterates through positions. */
public abstract class DocsAndPositionsEnum extends DocsEnum {
+
/** Flag to pass to {@link TermsEnum#docsAndPositions(Bits,DocsAndPositionsEnum,int)}
* if you require offsets in the returned enum. */
public static final int FLAG_OFFSETS = 0x1;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsEnum.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsEnum.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocsEnum.java Tue Jan 8 03:40:16 2013
@@ -19,6 +19,7 @@ package org.apache.lucene.index;
import java.io.IOException;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.Bits; // javadocs
@@ -27,6 +28,14 @@ import org.apache.lucene.util.Bits; // j
* NOTE: you must first call {@link #nextDoc} before using
* any of the per-doc methods. */
public abstract class DocsEnum extends DocIdSetIterator {
+
+ /**
+ * Flag to pass to {@link TermsEnum#docs(Bits,DocsEnum,int)} if you don't
+ * require term frequencies in the returned enum. When passed to
+ * {@link TermsEnum#docsAndPositions(Bits,DocsAndPositionsEnum,int)} means
+ * that no offsets and payloads will be returned.
+ */
+ public static final int FLAG_NONE = 0x0;
/** Flag to pass to {@link TermsEnum#docs(Bits,DocsEnum,int)}
* if you require term frequencies in the returned enum. */
@@ -39,10 +48,16 @@ public abstract class DocsEnum extends D
protected DocsEnum() {
}
- /** Returns term frequency in the current document. Do
- * not call this before {@link #nextDoc} is first called,
- * nor after {@link #nextDoc} returns NO_MORE_DOCS.
- **/
+ /**
+ * Returns term frequency in the current document, or 1 if the field was
+ * indexed with {@link IndexOptions#DOCS_ONLY}. Do not call this before
+ * {@link #nextDoc} is first called, nor after {@link #nextDoc} returns
+ * {@link DocIdSetIterator#NO_MORE_DOCS}.
+ *
+ * <p>
+ * <b>NOTE:</b> if the {@link DocsEnum} was obtain with {@link #FLAG_NONE},
+ * the result of this method is undefined.
+ */
public abstract int freq() throws IOException;
/** Returns the related attributes. */
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java Tue Jan 8 03:40:16 2013
@@ -384,14 +384,17 @@ final class DocumentsWriterFlushControl
return new Iterator<ThreadState>() {
int i = 0;
+ @Override
public boolean hasNext() {
return i < upto;
}
+ @Override
public ThreadState next() {
return perThreadPool.getThreadState(i++);
}
+ @Override
public void remove() {
throw new UnsupportedOperationException("remove() not supported.");
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java Tue Jan 8 03:40:16 2013
@@ -178,6 +178,7 @@ class DocumentsWriterFlushQueue {
protected GlobalDeletesTicket(FrozenBufferedDeletes frozenDeletes) {
super(frozenDeletes);
}
+ @Override
protected void publish(DocumentsWriter writer) throws IOException {
assert !published : "ticket was already publised - can not publish twice";
published = true;
@@ -185,6 +186,7 @@ class DocumentsWriterFlushQueue {
writer.finishFlush(null, frozenDeletes);
}
+ @Override
protected boolean canPublish() {
return true;
}
@@ -198,6 +200,7 @@ class DocumentsWriterFlushQueue {
super(frozenDeletes);
}
+ @Override
protected void publish(DocumentsWriter writer) throws IOException {
assert !published : "ticket was already publised - can not publish twice";
published = true;
@@ -214,6 +217,7 @@ class DocumentsWriterFlushQueue {
failed = true;
}
+ @Override
protected boolean canPublish() {
return segment != null || failed;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java Tue Jan 8 03:40:16 2013
@@ -302,7 +302,9 @@ class DocumentsWriterPerThread {
infoStream.message("DWPT", Thread.currentThread().getName() + " update delTerm=" + delTerm + " docID=" + docState.docID + " seg=" + segmentInfo.name);
}
int docCount = 0;
+ boolean allDocsIndexed = false;
try {
+
for(IndexDocument doc : docs) {
docState.doc = doc;
docState.docID = numDocsInRAM;
@@ -315,20 +317,7 @@ class DocumentsWriterPerThread {
} finally {
if (!success) {
// An exc is being thrown...
-
if (!aborting) {
- // One of the documents hit a non-aborting
- // exception (eg something happened during
- // analysis). We now go and mark any docs
- // from this batch that we had already indexed
- // as deleted:
- int docID = docState.docID;
- final int endDocID = docID - docCount;
- while (docID > endDocID) {
- deleteDocID(docID);
- docID--;
- }
-
// Incr here because finishDocument will not
// be called (because an exc is being thrown):
numDocsInRAM++;
@@ -349,6 +338,7 @@ class DocumentsWriterPerThread {
finishDocument(null);
}
+ allDocsIndexed = true;
// Apply delTerm only after all indexing has
// succeeded, but apply it only to docs prior to when
@@ -360,6 +350,16 @@ class DocumentsWriterPerThread {
}
} finally {
+ if (!allDocsIndexed && !aborting) {
+ // the iterator threw an exception that is not aborting
+ // go and mark all docs from this block as deleted
+ int docID = numDocsInRAM-1;
+ final int endDocID = docID - docCount;
+ while (docID > endDocID) {
+ deleteDocID(docID);
+ docID--;
+ }
+ }
docState.clear();
}
@@ -643,6 +643,7 @@ class DocumentsWriterPerThread {
}
/* Allocate another int[] from the shared pool */
+ @Override
public int[] getIntBlock() {
int[] b = new int[IntBlockPool.INT_BLOCK_SIZE];
bytesUsed.addAndGet(IntBlockPool.INT_BLOCK_SIZE
@@ -650,6 +651,7 @@ class DocumentsWriterPerThread {
return b;
}
+ @Override
public void recycleIntBlocks(int[][] blocks, int offset, int length) {
bytesUsed.addAndGet(-(length * (IntBlockPool.INT_BLOCK_SIZE * RamUsageEstimator.NUM_BYTES_INT)));
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java Tue Jan 8 03:40:16 2013
@@ -131,6 +131,7 @@ public class FieldInfos implements Itera
* ordered by ascending field number
*/
// TODO: what happens if in fact a different order is used?
+ @Override
public Iterator<FieldInfo> iterator() {
return values.iterator();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Fields.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Fields.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Fields.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Fields.java Tue Jan 8 03:40:16 2013
@@ -32,6 +32,7 @@ public abstract class Fields implements
/** Returns an iterator that will step through all fields
* names. This will not return null. */
+ @Override
public abstract Iterator<String> iterator();
/** Get the {@link Terms} for this field. This will return
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java Tue Jan 8 03:40:16 2013
@@ -78,6 +78,7 @@ final class FreqProxTermsWriterPerField
@Override
void skippingLongTerm() {}
+ @Override
public int compareTo(FreqProxTermsWriterPerField other) {
return fieldInfo.name.compareTo(other.fieldInfo.name);
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java Tue Jan 8 03:40:16 2013
@@ -111,6 +111,7 @@ public abstract class IndexCommit implem
* String -> String. */
public abstract Map<String,String> getUserData() throws IOException;
+ @Override
public int compareTo(IndexCommit commit) {
if (getDirectory() != commit.getDirectory()) {
throw new UnsupportedOperationException("cannot compare IndexCommits from different Directory instances");
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java Tue Jan 8 03:40:16 2013
@@ -17,6 +17,7 @@ package org.apache.lucene.index;
* limitations under the License.
*/
+import java.io.Closeable;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
@@ -69,7 +70,7 @@ import org.apache.lucene.util.InfoStream
* directly with no retry logic.
*/
-final class IndexFileDeleter {
+final class IndexFileDeleter implements Closeable {
/* Files that we tried to delete but failed (likely
* because they are open and we are running on Windows),
@@ -435,8 +436,9 @@ final class IndexFileDeleter {
assert locked();
assert Thread.holdsLock(writer);
-
+ long t0 = 0;
if (infoStream.isEnabled("IFD")) {
+ t0 = System.nanoTime();
infoStream.message("IFD", "now checkpoint \"" + writer.segString(writer.toLiveInfos(segmentInfos)) + "\" [" + segmentInfos.size() + " segments " + "; isCommit = " + isCommit + "]");
}
@@ -466,6 +468,10 @@ final class IndexFileDeleter {
// Save files so we can decr on next checkpoint/commit:
lastFiles.add(segmentInfos.files(directory, false));
}
+ if (infoStream.isEnabled("IFD")) {
+ long t1 = System.nanoTime();
+ infoStream.message("IFD", ((t1-t0)/1000000) + " msec to checkpoint");
+ }
}
void incRef(SegmentInfos segmentInfos, boolean isCommit) throws IOException {
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexReader.java Tue Jan 8 03:40:16 2013
@@ -370,6 +370,7 @@ public abstract class IndexReader implem
* No other methods should be called after this has been called.
* @throws IOException if there is a low-level IO error
*/
+ @Override
public final synchronized void close() throws IOException {
if (!closed) {
decRef();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Tue Jan 8 03:40:16 2013
@@ -336,7 +336,7 @@ public class IndexWriter implements Clos
// obtained during this flush are pooled, the first time
// this method is called:
poolReaders = true;
- final DirectoryReader r;
+ DirectoryReader r = null;
doBeforeFlush();
boolean anySegmentFlushed = false;
/*
@@ -346,46 +346,54 @@ public class IndexWriter implements Clos
* We release the two stage full flush after we are done opening the
* directory reader!
*/
- synchronized (fullFlushLock) {
- boolean success = false;
- try {
- anySegmentFlushed = docWriter.flushAllThreads();
- if (!anySegmentFlushed) {
- // prevent double increment since docWriter#doFlush increments the flushcount
- // if we flushed anything.
- flushCount.incrementAndGet();
- }
- success = true;
- // Prevent segmentInfos from changing while opening the
- // reader; in theory we could do similar retry logic,
- // just like we do when loading segments_N
- synchronized(this) {
- maybeApplyDeletes(applyAllDeletes);
- r = StandardDirectoryReader.open(this, segmentInfos, applyAllDeletes);
- if (infoStream.isEnabled("IW")) {
- infoStream.message("IW", "return reader version=" + r.getVersion() + " reader=" + r);
+ boolean success2 = false;
+ try {
+ synchronized (fullFlushLock) {
+ boolean success = false;
+ try {
+ anySegmentFlushed = docWriter.flushAllThreads();
+ if (!anySegmentFlushed) {
+ // prevent double increment since docWriter#doFlush increments the flushcount
+ // if we flushed anything.
+ flushCount.incrementAndGet();
}
- }
- } catch (OutOfMemoryError oom) {
- handleOOM(oom, "getReader");
- // never reached but javac disagrees:
- return null;
- } finally {
- if (!success) {
- if (infoStream.isEnabled("IW")) {
- infoStream.message("IW", "hit exception during NRT reader");
+ success = true;
+ // Prevent segmentInfos from changing while opening the
+ // reader; in theory we could do similar retry logic,
+ // just like we do when loading segments_N
+ synchronized(this) {
+ maybeApplyDeletes(applyAllDeletes);
+ r = StandardDirectoryReader.open(this, segmentInfos, applyAllDeletes);
+ if (infoStream.isEnabled("IW")) {
+ infoStream.message("IW", "return reader version=" + r.getVersion() + " reader=" + r);
+ }
}
+ } catch (OutOfMemoryError oom) {
+ handleOOM(oom, "getReader");
+ // never reached but javac disagrees:
+ return null;
+ } finally {
+ if (!success) {
+ if (infoStream.isEnabled("IW")) {
+ infoStream.message("IW", "hit exception during NRT reader");
+ }
+ }
+ // Done: finish the full flush!
+ docWriter.finishFullFlush(success);
+ doAfterFlush();
}
- // Done: finish the full flush!
- docWriter.finishFullFlush(success);
- doAfterFlush();
}
- }
- if (anySegmentFlushed) {
- maybeMerge(MergeTrigger.FULL_FLUSH, UNBOUNDED_MAX_MERGE_SEGMENTS);
- }
- if (infoStream.isEnabled("IW")) {
- infoStream.message("IW", "getReader took " + (System.currentTimeMillis() - tStart) + " msec");
+ if (anySegmentFlushed) {
+ maybeMerge(MergeTrigger.FULL_FLUSH, UNBOUNDED_MAX_MERGE_SEGMENTS);
+ }
+ if (infoStream.isEnabled("IW")) {
+ infoStream.message("IW", "getReader took " + (System.currentTimeMillis() - tStart) + " msec");
+ }
+ success2 = true;
+ } finally {
+ if (!success2) {
+ IOUtils.closeWhileHandlingException(r);
+ }
}
return r;
}
@@ -445,15 +453,23 @@ public class IndexWriter implements Clos
/** Remove all our references to readers, and commits
* any pending changes. */
synchronized void dropAll(boolean doSave) throws IOException {
+ Throwable priorE = null;
final Iterator<Map.Entry<SegmentInfoPerCommit,ReadersAndLiveDocs>> it = readerMap.entrySet().iterator();
while(it.hasNext()) {
final ReadersAndLiveDocs rld = it.next().getValue();
- if (doSave && rld.writeLiveDocs(directory)) {
- // Make sure we only write del docs for a live segment:
- assert infoIsLive(rld.info);
- // Must checkpoint w/ deleter, because we just
- // created created new _X_N.del file.
- deleter.checkpoint(segmentInfos, false);
+
+ try {
+ if (doSave && rld.writeLiveDocs(directory)) {
+ // Make sure we only write del docs for a live segment:
+ assert infoIsLive(rld.info);
+ // Must checkpoint w/ deleter, because we just
+ // created created new _X_N.del file.
+ deleter.checkpoint(segmentInfos, false);
+ }
+ } catch (Throwable t) {
+ if (priorE != null) {
+ priorE = t;
+ }
}
// Important to remove as-we-go, not with .clear()
@@ -466,9 +482,18 @@ public class IndexWriter implements Clos
// actually close the SRs; this happens when a
// near real-time reader is kept open after the
// IndexWriter instance is closed:
- rld.dropReaders();
+ try {
+ rld.dropReaders();
+ } catch (Throwable t) {
+ if (priorE != null) {
+ priorE = t;
+ }
+ }
}
assert readerMap.size() == 0;
+ if (priorE != null) {
+ throw new RuntimeException(priorE);
+ }
}
/**
@@ -812,6 +837,7 @@ public class IndexWriter implements Clos
*
* @throws IOException if there is a low-level IO error
*/
+ @Override
public void close() throws IOException {
close(true);
}
@@ -1905,6 +1931,7 @@ public class IndexWriter implements Clos
* call to {@link #prepareCommit}.
* @throws IOException if there is a low-level IO error
*/
+ @Override
public void rollback() throws IOException {
ensureOpen();
@@ -2570,6 +2597,7 @@ public class IndexWriter implements Clos
* you should immediately close the writer. See <a
* href="#OOME">above</a> for details.</p>
*/
+ @Override
public final void prepareCommit() throws IOException {
ensureOpen();
prepareCommitInternal();
@@ -2727,6 +2755,7 @@ public class IndexWriter implements Clos
*
* @see #prepareCommit
*/
+ @Override
public final void commit() throws IOException {
ensureOpen();
commitInternal();
@@ -3046,13 +3075,6 @@ public class IndexWriter implements Clos
}
}
- // If new deletes were applied while we were merging
- // (which happens if eg commit() or getReader() is
- // called during our merge), then it better be the case
- // that the delGen has increased for all our merged
- // segments:
- assert mergedDeletes == null || minGen > merge.info.getBufferedDeletesGen();
-
merge.info.setBufferedDeletesGen(minGen);
return mergedDeletes;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java Tue Jan 8 03:40:16 2013
@@ -35,6 +35,7 @@ public final class KeepOnlyLastCommitDel
/**
* Deletes all commits except the most recent one.
*/
+ @Override
public void onInit(List<? extends IndexCommit> commits) {
// Note that commits.size() should normally be 1:
onCommit(commits);
@@ -43,6 +44,7 @@ public final class KeepOnlyLastCommitDel
/**
* Deletes all commits except the most recent one.
*/
+ @Override
public void onCommit(List<? extends IndexCommit> commits) {
// Note that commits.size() should normally be 2 (if not
// called by onInit above):
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java Tue Jan 8 03:40:16 2013
@@ -543,6 +543,7 @@ public abstract class LogMergePolicy ext
}
// Sorts largest to smallest
+ @Override
public int compareTo(SegmentInfoAndLevel other) {
if (level < other.level) {
return 1;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java Tue Jan 8 03:40:16 2013
@@ -379,6 +379,7 @@ public abstract class MergePolicy implem
/**
* Release all resources for the policy.
*/
+ @Override
public abstract void close();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java Tue Jan 8 03:40:16 2013
@@ -38,5 +38,6 @@ public abstract class MergeScheduler imp
public abstract void merge(IndexWriter writer) throws IOException;
/** Close this MergeScheduler. */
+ @Override
public abstract void close() throws IOException;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiBits.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiBits.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiBits.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiBits.java Tue Jan 8 03:40:16 2013
@@ -48,6 +48,7 @@ final class MultiBits implements Bits {
return true;
}
+ @Override
public boolean get(int doc) {
final int reader = ReaderUtil.subIndex(doc, starts);
assert reader != -1;
@@ -109,6 +110,7 @@ final class MultiBits implements Bits {
return subResult;
}
+ @Override
public int length() {
return starts[starts.length-1];
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java Tue Jan 8 03:40:16 2013
@@ -49,10 +49,12 @@ class MultiDocValues extends DocValues {
private static DocValuesPuller DEFAULT_PULLER = new DocValuesPuller();
private static final DocValuesPuller NORMS_PULLER = new DocValuesPuller() {
+ @Override
public DocValues pull(AtomicReader reader, String field) throws IOException {
return reader.normValues(field);
}
+ @Override
public boolean stopLoadingOnNull(AtomicReader reader, String field) {
// for norms we drop all norms if one leaf reader has no norms and the field is present
FieldInfos fieldInfos = reader.getFieldInfos();
@@ -265,6 +267,7 @@ class MultiDocValues extends DocValues {
this.direct = direct;
}
+ @Override
public long getInt(int docID) {
final int doc = ensureSource(docID);
return current.getInt(doc);
@@ -295,11 +298,13 @@ class MultiDocValues extends DocValues {
}
}
+ @Override
public double getFloat(int docID) {
final int doc = ensureSource(docID);
return current.getFloat(doc);
}
+ @Override
public BytesRef getBytes(int docID, BytesRef bytesRef) {
final int doc = ensureSource(docID);
return current.getBytes(doc, bytesRef);
@@ -359,6 +364,7 @@ class MultiDocValues extends DocValues {
return docBases;
}
+ @Override
public boolean hasArray() {
boolean oneRealSource = false;
for (DocValuesSlice slice : slices) {
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java Tue Jan 8 03:40:16 2013
@@ -479,7 +479,7 @@ public final class MultiTermsEnum extend
subDocsAndPositions[upto].slice = entry.subSlice;
upto++;
} else {
- if (entry.terms.docs(b, null, 0) != null) {
+ if (entry.terms.docs(b, null, DocsEnum.FLAG_NONE) != null) {
// At least one of our subs does not store
// offsets or positions -- we can't correctly
// produce a MultiDocsAndPositions enum
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java Tue Jan 8 03:40:16 2013
@@ -33,8 +33,10 @@ public final class NoDeletionPolicy impl
// keep private to avoid instantiation
}
+ @Override
public void onCommit(List<? extends IndexCommit> commits) {}
+ @Override
public void onInit(List<? extends IndexCommit> commits) {}
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java Tue Jan 8 03:40:16 2013
@@ -43,6 +43,7 @@ class PrefixCodedTerms implements Iterab
}
/** @return iterator over the bytes */
+ @Override
public Iterator<Term> iterator() {
return new PrefixCodedTermsIterator();
}
@@ -61,10 +62,12 @@ class PrefixCodedTerms implements Iterab
}
}
+ @Override
public boolean hasNext() {
return input.getFilePointer() < input.length();
}
+ @Override
public Term next() {
assert hasNext();
try {
@@ -85,6 +88,7 @@ class PrefixCodedTerms implements Iterab
}
}
+ @Override
public void remove() {
throw new UnsupportedOperationException();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ReadersAndLiveDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ReadersAndLiveDocs.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ReadersAndLiveDocs.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/ReadersAndLiveDocs.java Tue Jan 8 03:40:16 2013
@@ -23,6 +23,7 @@ import java.util.concurrent.atomic.Atomi
import org.apache.lucene.codecs.LiveDocsFormat;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
+import org.apache.lucene.store.TrackingDirectoryWrapper;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.MutableBits;
@@ -182,16 +183,28 @@ class ReadersAndLiveDocs {
// NOTE: removes callers ref
public synchronized void dropReaders() throws IOException {
- if (reader != null) {
- //System.out.println(" pool.drop info=" + info + " rc=" + reader.getRefCount());
- reader.decRef();
- reader = null;
- }
- if (mergeReader != null) {
- //System.out.println(" pool.drop info=" + info + " merge rc=" + mergeReader.getRefCount());
- mergeReader.decRef();
- mergeReader = null;
+ // TODO: can we somehow use IOUtils here...? problem is
+ // we are calling .decRef not .close)...
+ try {
+ if (reader != null) {
+ //System.out.println(" pool.drop info=" + info + " rc=" + reader.getRefCount());
+ try {
+ reader.decRef();
+ } finally {
+ reader = null;
+ }
+ }
+ } finally {
+ if (mergeReader != null) {
+ //System.out.println(" pool.drop info=" + info + " merge rc=" + mergeReader.getRefCount());
+ try {
+ mergeReader.decRef();
+ } finally {
+ mergeReader = null;
+ }
+ }
}
+
decRef();
}
@@ -272,13 +285,37 @@ class ReadersAndLiveDocs {
// We have new deletes
assert liveDocs.length() == info.info.getDocCount();
+ // Do this so we can delete any created files on
+ // exception; this saves all codecs from having to do
+ // it:
+ TrackingDirectoryWrapper trackingDir = new TrackingDirectoryWrapper(dir);
+
// We can write directly to the actual name (vs to a
// .tmp & renaming it) because the file is not live
// until segments file is written:
- info.info.getCodec().liveDocsFormat().writeLiveDocs((MutableBits)liveDocs, dir, info, pendingDeleteCount, IOContext.DEFAULT);
+ boolean success = false;
+ try {
+ info.info.getCodec().liveDocsFormat().writeLiveDocs((MutableBits)liveDocs, trackingDir, info, pendingDeleteCount, IOContext.DEFAULT);
+ success = true;
+ } finally {
+ if (!success) {
+ // Advance only the nextWriteDelGen so that a 2nd
+ // attempt to write will write to a new file
+ info.advanceNextWriteDelGen();
+
+ // Delete any partially created file(s):
+ for(String fileName : trackingDir.getCreatedFiles()) {
+ try {
+ dir.deleteFile(fileName);
+ } catch (Throwable t) {
+ // Ignore so we throw only the first exc
+ }
+ }
+ }
+ }
// If we hit an exc in the line above (eg disk full)
- // then info remains pointing to the previous
+ // then info's delGen remains pointing to the previous
// (successfully written) del docs:
info.advanceDelGen();
info.setDelCount(info.getDelCount() + pendingDeleteCount);
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfoPerCommit.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfoPerCommit.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfoPerCommit.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfoPerCommit.java Tue Jan 8 03:40:16 2013
@@ -40,6 +40,10 @@ public class SegmentInfoPerCommit {
// are no deletes yet):
private long delGen;
+ // Normally 1+delGen, unless an exception was hit on last
+ // attempt to write:
+ private long nextWriteDelGen;
+
private volatile long sizeInBytes = -1;
/** Sole constructor.
@@ -52,17 +56,27 @@ public class SegmentInfoPerCommit {
this.info = info;
this.delCount = delCount;
this.delGen = delGen;
- }
-
- void advanceDelGen() {
if (delGen == -1) {
- delGen = 1;
+ nextWriteDelGen = 1;
} else {
- delGen++;
+ nextWriteDelGen = delGen+1;
}
+ }
+
+ /** Called when we succeed in writing deletes */
+ void advanceDelGen() {
+ delGen = nextWriteDelGen;
+ nextWriteDelGen = delGen+1;
sizeInBytes = -1;
}
+ /** Called if there was an exception while writing
+ * deletes, so that we don't try to write to the same
+ * file more than once. */
+ void advanceNextWriteDelGen() {
+ nextWriteDelGen++;
+ }
+
/** Returns total size in bytes of all files for this
* segment. */
public long sizeInBytes() throws IOException {
@@ -126,11 +140,7 @@ public class SegmentInfoPerCommit {
* of the live docs file.
*/
public long getNextDelGen() {
- if (delGen == -1) {
- return 1;
- } else {
- return delGen + 1;
- }
+ return nextWriteDelGen;
}
/**
@@ -169,6 +179,12 @@ public class SegmentInfoPerCommit {
@Override
public SegmentInfoPerCommit clone() {
- return new SegmentInfoPerCommit(info, delCount, delGen);
+ SegmentInfoPerCommit other = new SegmentInfoPerCommit(info, delCount, delGen);
+ // Not clear that we need to carry over nextWriteDelGen
+ // (i.e. do we ever clone after a failed write and
+ // before the next successful write?), but just do it to
+ // be safe:
+ other.nextWriteDelGen = nextWriteDelGen;
+ return other;
}
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java Tue Jan 8 03:40:16 2013
@@ -868,9 +868,6 @@ public final class SegmentInfos implemen
// Ignore; this file is only used in a retry
// fallback on init.
}
- if (t instanceof ThreadInterruptedException) {
- throw (ThreadInterruptedException) t;
- }
}
}
@@ -991,6 +988,7 @@ public final class SegmentInfos implemen
/** Returns an <b>unmodifiable</b> {@link Iterator} of contained segments in order. */
// @Override (comment out until Java 6)
+ @Override
public Iterator<SegmentInfoPerCommit> iterator() {
return asList().iterator();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java Tue Jan 8 03:40:16 2013
@@ -99,17 +99,47 @@ final class SegmentMerger {
mergeState.segmentInfo.setDocCount(setDocMaps());
mergeDocValuesAndNormsFieldInfos();
setMatchingSegmentReaders();
+ long t0 = 0;
+ if (mergeState.infoStream.isEnabled("SM")) {
+ t0 = System.nanoTime();
+ }
int numMerged = mergeFields();
+ if (mergeState.infoStream.isEnabled("SM")) {
+ long t1 = System.nanoTime();
+ mergeState.infoStream.message("SM", ((t1-t0)/1000000) + " msec to merge stored fields [" + numMerged + " docs]");
+ }
assert numMerged == mergeState.segmentInfo.getDocCount();
final SegmentWriteState segmentWriteState = new SegmentWriteState(mergeState.infoStream, directory, mergeState.segmentInfo,
mergeState.fieldInfos, termIndexInterval, null, context);
+ if (mergeState.infoStream.isEnabled("SM")) {
+ t0 = System.nanoTime();
+ }
mergeTerms(segmentWriteState);
+ if (mergeState.infoStream.isEnabled("SM")) {
+ long t1 = System.nanoTime();
+ mergeState.infoStream.message("SM", ((t1-t0)/1000000) + " msec to merge postings [" + numMerged + " docs]");
+ }
+
+ if (mergeState.infoStream.isEnabled("SM")) {
+ t0 = System.nanoTime();
+ }
mergePerDoc(segmentWriteState);
+ if (mergeState.infoStream.isEnabled("SM")) {
+ long t1 = System.nanoTime();
+ mergeState.infoStream.message("SM", ((t1-t0)/1000000) + " msec to merge doc values [" + numMerged + " docs]");
+ }
if (mergeState.fieldInfos.hasNorms()) {
+ if (mergeState.infoStream.isEnabled("SM")) {
+ t0 = System.nanoTime();
+ }
mergeNorms(segmentWriteState);
mergeSimpleNorms(segmentWriteState);
+ if (mergeState.infoStream.isEnabled("SM")) {
+ long t1 = System.nanoTime();
+ mergeState.infoStream.message("SM", ((t1-t0)/1000000) + " msec to merge norms [" + numMerged + " docs]");
+ }
}
// Merge simple doc values:
@@ -119,7 +149,14 @@ final class SegmentMerger {
}
if (mergeState.fieldInfos.hasVectors()) {
+ if (mergeState.infoStream.isEnabled("SM")) {
+ t0 = System.nanoTime();
+ }
numMerged = mergeVectors();
+ if (mergeState.infoStream.isEnabled("SM")) {
+ long t1 = System.nanoTime();
+ mergeState.infoStream.message("SM", ((t1-t0)/1000000) + " msec to merge vectors [" + numMerged + " docs]");
+ }
assert numMerged == mergeState.segmentInfo.getDocCount();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java Tue Jan 8 03:40:16 2013
@@ -261,12 +261,14 @@ public class SnapshotDeletionPolicy impl
return idToSnapshot.containsKey(id);
}
+ @Override
public synchronized void onCommit(List<? extends IndexCommit> commits)
throws IOException {
primary.onCommit(wrapCommits(commits));
lastCommit = commits.get(commits.size() - 1);
}
+ @Override
public synchronized void onInit(List<? extends IndexCommit> commits)
throws IOException {
primary.onInit(wrapCommits(commits));
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Term.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Term.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Term.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/Term.java Tue Jan 8 03:40:16 2013
@@ -110,6 +110,7 @@ public final class Term implements Compa
argument, and a positive integer if this term belongs after the argument.
The ordering of terms is first by field, then by text.*/
+ @Override
public final int compareTo(Term other) {
if (field.equals(other.field)) {
return bytes.compareTo(other.bytes);
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java Tue Jan 8 03:40:16 2013
@@ -269,6 +269,7 @@ public class TieredMergePolicy extends M
}
private class SegmentByteSizeDescending implements Comparator<SegmentInfoPerCommit> {
+ @Override
public int compare(SegmentInfoPerCommit o1, SegmentInfoPerCommit o2) {
try {
final long sz1 = size(o1);
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java Tue Jan 8 03:40:16 2013
@@ -158,6 +158,7 @@ public class BooleanQuery extends Query
* make it possible to do:
* <pre class="prettyprint">for (BooleanClause clause : booleanQuery) {}</pre>
*/
+ @Override
public final Iterator<BooleanClause> iterator() { return clauses().iterator(); }
/**
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java Tue Jan 8 03:40:16 2013
@@ -25,10 +25,12 @@ import org.apache.lucene.util.AttributeI
public final class BoostAttributeImpl extends AttributeImpl implements BoostAttribute {
private float boost = 1.0f;
+ @Override
public void setBoost(float boost) {
this.boost = boost;
}
+ @Override
public float getBoost() {
return boost;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java Tue Jan 8 03:40:16 2013
@@ -54,6 +54,7 @@ class ConjunctionScorer extends Scorer {
// Also we use mergeSort here to be stable (so order of Scoreres that
// match on first document keeps preserved):
ArrayUtil.mergeSort(scorers, new Comparator<Scorer>() { // sort the array
+ @Override
public int compare(Scorer o1, Scorer o2) {
return o1.docID() - o2.docID();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java Tue Jan 8 03:40:16 2013
@@ -40,6 +40,7 @@ class ConjunctionTermScorer extends Scor
// Sort the array the first time to allow the least frequent DocsEnum to
// lead the matching.
ArrayUtil.mergeSort(docsAndFreqs, new Comparator<DocsAndFreqs>() {
+ @Override
public int compare(DocsAndFreqs o1, DocsAndFreqs o2) {
return o1.docFreq - o2.docFreq;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java Tue Jan 8 03:40:16 2013
@@ -85,6 +85,7 @@ public class DisjunctionMaxQuery extends
}
/** @return An {@code Iterator<Query>} over the disjuncts */
+ @Override
public Iterator<Query> iterator() {
return disjuncts.iterator();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCache.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCache.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCache.java Tue Jan 8 03:40:16 2013
@@ -147,6 +147,7 @@ public interface FieldCache {
/** The default parser for byte values, which are encoded by {@link Byte#toString(byte)} */
public static final ByteParser DEFAULT_BYTE_PARSER = new ByteParser() {
+ @Override
public byte parseByte(BytesRef term) {
// TODO: would be far better to directly parse from
// UTF8 bytes... but really users should use
@@ -162,6 +163,7 @@ public interface FieldCache {
/** The default parser for short values, which are encoded by {@link Short#toString(short)} */
public static final ShortParser DEFAULT_SHORT_PARSER = new ShortParser() {
+ @Override
public short parseShort(BytesRef term) {
// TODO: would be far better to directly parse from
// UTF8 bytes... but really users should use
@@ -177,6 +179,7 @@ public interface FieldCache {
/** The default parser for int values, which are encoded by {@link Integer#toString(int)} */
public static final IntParser DEFAULT_INT_PARSER = new IntParser() {
+ @Override
public int parseInt(BytesRef term) {
// TODO: would be far better to directly parse from
// UTF8 bytes... but really users should use
@@ -192,6 +195,7 @@ public interface FieldCache {
/** The default parser for float values, which are encoded by {@link Float#toString(float)} */
public static final FloatParser DEFAULT_FLOAT_PARSER = new FloatParser() {
+ @Override
public float parseFloat(BytesRef term) {
// TODO: would be far better to directly parse from
// UTF8 bytes... but really users should use
@@ -207,6 +211,7 @@ public interface FieldCache {
/** The default parser for long values, which are encoded by {@link Long#toString(long)} */
public static final LongParser DEFAULT_LONG_PARSER = new LongParser() {
+ @Override
public long parseLong(BytesRef term) {
// TODO: would be far better to directly parse from
// UTF8 bytes... but really users should use
@@ -222,6 +227,7 @@ public interface FieldCache {
/** The default parser for double values, which are encoded by {@link Double#toString(double)} */
public static final DoubleParser DEFAULT_DOUBLE_PARSER = new DoubleParser() {
+ @Override
public double parseDouble(BytesRef term) {
// TODO: would be far better to directly parse from
// UTF8 bytes... but really users should use
@@ -240,6 +246,7 @@ public interface FieldCache {
* via {@link IntField}/{@link NumericTokenStream}.
*/
public static final IntParser NUMERIC_UTILS_INT_PARSER=new IntParser(){
+ @Override
public int parseInt(BytesRef term) {
if (NumericUtils.getPrefixCodedIntShift(term) > 0)
throw new StopFillCacheException();
@@ -256,6 +263,7 @@ public interface FieldCache {
* via {@link FloatField}/{@link NumericTokenStream}.
*/
public static final FloatParser NUMERIC_UTILS_FLOAT_PARSER=new FloatParser(){
+ @Override
public float parseFloat(BytesRef term) {
if (NumericUtils.getPrefixCodedIntShift(term) > 0)
throw new StopFillCacheException();
@@ -272,6 +280,7 @@ public interface FieldCache {
* via {@link LongField}/{@link NumericTokenStream}.
*/
public static final LongParser NUMERIC_UTILS_LONG_PARSER = new LongParser(){
+ @Override
public long parseLong(BytesRef term) {
if (NumericUtils.getPrefixCodedLongShift(term) > 0)
throw new StopFillCacheException();
@@ -288,6 +297,7 @@ public interface FieldCache {
* via {@link DoubleField}/{@link NumericTokenStream}.
*/
public static final DoubleParser NUMERIC_UTILS_DOUBLE_PARSER = new DoubleParser(){
+ @Override
public double parseDouble(BytesRef term) {
if (NumericUtils.getPrefixCodedLongShift(term) > 0)
throw new StopFillCacheException();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheDocIdSet.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheDocIdSet.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheDocIdSet.java Tue Jan 8 03:40:16 2013
@@ -57,18 +57,22 @@ public abstract class FieldCacheDocIdSet
@Override
public final Bits bits() {
return (acceptDocs == null) ? new Bits() {
+ @Override
public boolean get(int docid) {
return matchDoc(docid);
}
+ @Override
public int length() {
return maxDoc;
}
} : new Bits() {
+ @Override
public boolean get(int docid) {
return matchDoc(docid) && acceptDocs.get(docid);
}
+ @Override
public int length() {
return maxDoc;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java Tue Jan 8 03:40:16 2013
@@ -318,7 +318,7 @@ class FieldCacheImpl implements FieldCac
} catch (StopFillCacheException stop) {
break;
}
- docs = termsEnum.docs(null, docs, 0);
+ docs = termsEnum.docs(null, docs, DocsEnum.FLAG_NONE);
while (true) {
final int docID = docs.nextDoc();
if (docID == DocIdSetIterator.NO_MORE_DOCS) {
@@ -647,7 +647,7 @@ class FieldCacheImpl implements FieldCac
res = new FixedBitSet(maxDoc);
}
- docs = termsEnum.docs(null, docs, 0);
+ docs = termsEnum.docs(null, docs, DocsEnum.FLAG_NONE);
// TODO: use bulk API
while (true) {
final int docID = docs.nextDoc();
@@ -1215,7 +1215,7 @@ class FieldCacheImpl implements FieldCac
termOrdToBytesOffset = termOrdToBytesOffset.resize(ArrayUtil.oversize(1+termOrd, 1));
}
termOrdToBytesOffset.set(termOrd, bytes.copyUsingLengthPrefix(term));
- docs = termsEnum.docs(null, docs, 0);
+ docs = termsEnum.docs(null, docs, DocsEnum.FLAG_NONE);
while (true) {
final int docID = docs.nextDoc();
if (docID == DocIdSetIterator.NO_MORE_DOCS) {
@@ -1343,7 +1343,7 @@ class FieldCacheImpl implements FieldCac
break;
}
final long pointer = bytes.copyUsingLengthPrefix(term);
- docs = termsEnum.docs(null, docs, 0);
+ docs = termsEnum.docs(null, docs, DocsEnum.FLAG_NONE);
while (true) {
final int docID = docs.nextDoc();
if (docID == DocIdSetIterator.NO_MORE_DOCS) {
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java Tue Jan 8 03:40:16 2013
@@ -60,10 +60,12 @@ public abstract class FilteredDocIdSet e
public Bits bits() throws IOException {
final Bits bits = _innerSet.bits();
return (bits == null) ? null : new Bits() {
+ @Override
public boolean get(int docid) {
return bits.get(docid) && FilteredDocIdSet.this.match(docid);
}
+ @Override
public int length() {
return bits.length();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java Tue Jan 8 03:40:16 2013
@@ -412,6 +412,7 @@ public class FuzzyTermsEnum extends Term
public static final class LevenshteinAutomataAttributeImpl extends AttributeImpl implements LevenshteinAutomataAttribute {
private final List<CompiledAutomaton> automata = new ArrayList<CompiledAutomaton>();
+ @Override
public List<CompiledAutomaton> automata() {
return automata;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java Tue Jan 8 03:40:16 2013
@@ -181,18 +181,27 @@ public class IndexSearcher {
return reader;
}
- /** Sugar for <code>.getIndexReader().document(docID)</code> */
+ /**
+ * Sugar for <code>.getIndexReader().document(docID)</code>
+ * @see IndexReader#document(int)
+ */
public StoredDocument doc(int docID) throws IOException {
return reader.document(docID);
}
- /** Sugar for <code>.getIndexReader().document(docID, fieldVisitor)</code> */
+ /**
+ * Sugar for <code>.getIndexReader().document(docID, fieldVisitor)</code>
+ * @see IndexReader#document(int, StoredFieldVisitor)
+ */
public void doc(int docID, StoredFieldVisitor fieldVisitor) throws IOException {
reader.document(docID, fieldVisitor);
}
- /** Sugar for <code>.getIndexReader().document(docID, fieldsToLoad)</code> */
- public final StoredDocument document(int docID, Set<String> fieldsToLoad) throws IOException {
+ /**
+ * Sugar for <code>.getIndexReader().document(docID, fieldsToLoad)</code>
+ * @see IndexReader#document(int, Set)
+ */
+ public StoredDocument doc(int docID, Set<String> fieldsToLoad) throws IOException {
return reader.document(docID, fieldsToLoad);
}
@@ -688,6 +697,7 @@ public class IndexSearcher {
this.slice = slice;
}
+ @Override
public TopDocs call() throws IOException {
final TopDocs docs = searcher.search(Arrays.asList(slice.leaves), weight, after, nDocs);
final ScoreDoc[] scoreDocs = docs.scoreDocs;
@@ -775,6 +785,7 @@ public class IndexSearcher {
private final FakeScorer fakeScorer = new FakeScorer();
+ @Override
public TopFieldDocs call() throws IOException {
assert slice.leaves.length == 1;
final TopFieldDocs docs = searcher.search(Arrays.asList(slice.leaves),
@@ -817,6 +828,7 @@ public class IndexSearcher {
this.service = new ExecutorCompletionService<T>(executor);
}
+ @Override
public boolean hasNext() {
return numTasks > 0;
}
@@ -826,6 +838,7 @@ public class IndexSearcher {
++numTasks;
}
+ @Override
public T next() {
if(!this.hasNext())
throw new NoSuchElementException("next() is called but hasNext() returned false");
@@ -840,10 +853,12 @@ public class IndexSearcher {
}
}
+ @Override
public void remove() {
throw new UnsupportedOperationException();
}
+ @Override
public Iterator<T> iterator() {
// use the shortcut here - this is only used in a private context
return this;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java Tue Jan 8 03:40:16 2013
@@ -27,18 +27,22 @@ public final class MaxNonCompetitiveBoos
private float maxNonCompetitiveBoost = Float.NEGATIVE_INFINITY;
private BytesRef competitiveTerm = null;
+ @Override
public void setMaxNonCompetitiveBoost(final float maxNonCompetitiveBoost) {
this.maxNonCompetitiveBoost = maxNonCompetitiveBoost;
}
+ @Override
public float getMaxNonCompetitiveBoost() {
return maxNonCompetitiveBoost;
}
+ @Override
public void setCompetitiveTerm(final BytesRef competitiveTerm) {
this.competitiveTerm = competitiveTerm;
}
+ @Override
public BytesRef getCompetitiveTerm() {
return competitiveTerm;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java Tue Jan 8 03:40:16 2013
@@ -23,6 +23,7 @@ import java.util.*;
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.AtomicReader;
+import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReaderContext;
import org.apache.lucene.index.Term;
@@ -224,11 +225,11 @@ public class MultiPhraseQuery extends Qu
return null;
}
termsEnum.seekExact(term.bytes(), termState);
- postingsEnum = termsEnum.docsAndPositions(liveDocs, null, 0);
+ postingsEnum = termsEnum.docsAndPositions(liveDocs, null, DocsEnum.FLAG_NONE);
if (postingsEnum == null) {
// term does exist, but has no positions
- assert termsEnum.docs(liveDocs, null, 0) != null: "termstate found but no term exists in reader";
+ assert termsEnum.docs(liveDocs, null, DocsEnum.FLAG_NONE) != null: "termstate found but no term exists in reader";
throw new IllegalStateException("field \"" + term.field() + "\" was indexed without position data; cannot run PhraseQuery (term=" + term.text() + ")");
}
@@ -482,7 +483,7 @@ class UnionDocsAndPositionsEnum extends
continue;
}
termsEnum.seekExact(term.bytes(), termState);
- DocsAndPositionsEnum postings = termsEnum.docsAndPositions(liveDocs, null, 0);
+ DocsAndPositionsEnum postings = termsEnum.docsAndPositions(liveDocs, null, DocsEnum.FLAG_NONE);
if (postings == null) {
// term does exist, but has no positions
throw new IllegalStateException("field \"" + term.field() + "\" was indexed without position data; cannot run PhraseQuery (term=" + term.text() + ")");
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java Tue Jan 8 03:40:16 2013
@@ -106,7 +106,7 @@ public class MultiTermQueryWrapperFilter
do {
// System.out.println(" iter termCount=" + termCount + " term=" +
// enumerator.term().toBytesString());
- docsEnum = termsEnum.docs(acceptDocs, docsEnum, 0);
+ docsEnum = termsEnum.docs(acceptDocs, docsEnum, DocsEnum.FLAG_NONE);
int docid;
while ((docid = docsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
bitSet.set(docid);
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/NRTManagerReopenThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/NRTManagerReopenThread.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/NRTManagerReopenThread.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/NRTManagerReopenThread.java Tue Jan 8 03:40:16 2013
@@ -113,6 +113,7 @@ public class NRTManagerReopenThread exte
manager.addWaitingListener(this);
}
+ @Override
public synchronized void close() {
//System.out.println("NRT: set finish");
manager.removeWaitingListener(this);
@@ -125,6 +126,7 @@ public class NRTManagerReopenThread exte
}
}
+ @Override
public synchronized void waiting(long targetGen) {
waitingGen = Math.max(waitingGen, targetGen);
notify();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java Tue Jan 8 03:40:16 2013
@@ -24,6 +24,7 @@ import java.util.Set;
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.AtomicReader;
import org.apache.lucene.index.IndexReaderContext;
@@ -158,6 +159,7 @@ public class PhraseQuery extends Query {
}
}
+ @Override
public int compareTo(PostingsAndFreq other) {
if (docFreq != other.docFreq) {
return docFreq - other.docFreq;
@@ -262,7 +264,7 @@ public class PhraseQuery extends Query {
return null;
}
te.seekExact(t.bytes(), state);
- DocsAndPositionsEnum postingsEnum = te.docsAndPositions(liveDocs, null, 0);
+ DocsAndPositionsEnum postingsEnum = te.docsAndPositions(liveDocs, null, DocsEnum.FLAG_NONE);
// PhraseQuery on a field that did not index
// positions.
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java Tue Jan 8 03:40:16 2013
@@ -121,6 +121,7 @@ public abstract class ReferenceManager<G
* @throws IOException
* if the underlying reader of the current reference could not be closed
*/
+ @Override
public final synchronized void close() throws IOException {
if (current != null) {
// make sure we can call this more than once
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java Tue Jan 8 03:40:16 2013
@@ -51,6 +51,7 @@ public class RegexpQuery extends Automat
* A provider that provides no named automata
*/
private static AutomatonProvider defaultProvider = new AutomatonProvider() {
+ @Override
public Automaton getAutomaton(String name) {
return null;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java Tue Jan 8 03:40:16 2013
@@ -353,6 +353,7 @@ final class SloppyPhraseScorer extends S
private void sortRptGroups(ArrayList<ArrayList<PhrasePositions>> rgs) {
rptGroups = new PhrasePositions[rgs.size()][];
Comparator<PhrasePositions> cmprtr = new Comparator<PhrasePositions>() {
+ @Override
public int compare(PhrasePositions pp1, PhrasePositions pp2) {
return pp1.offset - pp2.offset;
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopDocs.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopDocs.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopDocs.java Tue Jan 8 03:40:16 2013
@@ -91,6 +91,7 @@ public class TopDocs {
}
// Returns true if first is < second
+ @Override
public boolean lessThan(ShardRef first, ShardRef second) {
assert first != second;
final float firstScore = shardHits[first.shardIndex][first.hitIndex].score;
@@ -156,6 +157,7 @@ public class TopDocs {
}
// Returns true if first is < second
+ @Override
@SuppressWarnings({"unchecked","rawtypes"})
public boolean lessThan(ShardRef first, ShardRef second) {
assert first != second;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java Tue Jan 8 03:40:16 2013
@@ -183,6 +183,7 @@ public abstract class TopTermsRewrite<Q
private static final Comparator<ScoreTerm> scoreTermSortByTermComp =
new Comparator<ScoreTerm>() {
+ @Override
public int compare(ScoreTerm st1, ScoreTerm st2) {
assert st1.termComp == st2.termComp :
"term comparator should not change between segments";
@@ -200,6 +201,7 @@ public abstract class TopTermsRewrite<Q
this.termState = termState;
}
+ @Override
public int compareTo(ScoreTerm other) {
if (this.boost == other.boost)
return termComp.compare(other.bytes, this.bytes);
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/similarities/DefaultSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/similarities/DefaultSimilarity.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/similarities/DefaultSimilarity.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/similarities/DefaultSimilarity.java Tue Jan 8 03:40:16 2013
@@ -28,11 +28,13 @@ public class DefaultSimilarity extends T
public DefaultSimilarity() {}
/** Implemented as <code>overlap / maxOverlap</code>. */
+ @Override
public float coord(int overlap, int maxOverlap) {
return overlap / (float)maxOverlap;
}
/** Implemented as <code>1/sqrt(sumOfSquaredWeights)</code>. */
+ @Override
public float queryNorm(float sumOfSquaredWeights) {
return (float)(1.0 / Math.sqrt(sumOfSquaredWeights));
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java Tue Jan 8 03:40:16 2013
@@ -73,6 +73,7 @@ public class NearSpansOrdered extends Sp
private final Spans[] subSpansByDoc;
private final Comparator<Spans> spanDocComparator = new Comparator<Spans>() {
+ @Override
public int compare(Spans o1, Spans o2) {
return o1.doc() - o2.doc();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/CompoundFileWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/CompoundFileWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/CompoundFileWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/CompoundFileWriter.java Tue Jan 8 03:40:16 2013
@@ -123,6 +123,7 @@ final class CompoundFileWriter implement
* if close() had been called before or if no file has been added to
* this object
*/
+ @Override
public void close() throws IOException {
if (closed) {
return;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/Directory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/Directory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/Directory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/Directory.java Tue Jan 8 03:40:16 2013
@@ -128,6 +128,7 @@ public abstract class Directory implemen
}
/** Closes the store. */
+ @Override
public abstract void close()
throws IOException;
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java Tue Jan 8 03:40:16 2013
@@ -220,6 +220,7 @@ public abstract class FSDirectory extend
// Exclude subdirs
String[] result = dir.list(new FilenameFilter() {
+ @Override
public boolean accept(File dir, String file) {
return !new File(dir, file).isDirectory();
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexInput.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexInput.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexInput.java Tue Jan 8 03:40:16 2013
@@ -50,6 +50,7 @@ public abstract class IndexInput extends
}
/** Closes the stream to further operations. */
+ @Override
public abstract void close() throws IOException;
/** Returns the current position in this file, where the next read will
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java Tue Jan 8 03:40:16 2013
@@ -35,6 +35,7 @@ public abstract class IndexOutput extend
public abstract void flush() throws IOException;
/** Closes this stream to further operations. */
+ @Override
public abstract void close() throws IOException;
/** Returns the current position in this file, where the next write will
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java Tue Jan 8 03:40:16 2013
@@ -186,6 +186,7 @@ public class MMapDirectory extends FSDir
if (useUnmapHack) {
try {
AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
+ @Override
public Object run() throws Exception {
final Method getCleanerMethod = buffer.getClass()
.getMethod("cleaner");
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java Tue Jan 8 03:40:16 2013
@@ -80,6 +80,7 @@ public class NIOFSDirectory extends FSDi
return new NIOFSIndexInput(new File(getDirectory(), name), context, getReadChunkSize());
}
+ @Override
public IndexInputSlicer createSlicer(final String name,
final IOContext context) throws IOException {
ensureOpen();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java Tue Jan 8 03:40:16 2013
@@ -233,6 +233,7 @@ public class NRTCachingDirectory extends
}
}
+ @Override
public synchronized IndexInputSlicer createSlicer(final String name, final IOContext context) throws IOException {
ensureOpen();
if (VERBOSE) {