You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/02/27 16:25:37 UTC
svn commit: r1662723 - in /lucene/dev/branches/lucene_solr_4_10/lucene:
CHANGES.txt core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
Author: mikemccand
Date: Fri Feb 27 15:25:37 2015
New Revision: 1662723
URL: http://svn.apache.org/r1662723
Log:
LUCENE-6306: allow doc values and norms merging to be aborted in IW.rollback
Modified:
lucene/dev/branches/lucene_solr_4_10/lucene/CHANGES.txt
lucene/dev/branches/lucene_solr_4_10/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
Modified: lucene/dev/branches/lucene_solr_4_10/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_10/lucene/CHANGES.txt?rev=1662723&r1=1662722&r2=1662723&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_10/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/lucene_solr_4_10/lucene/CHANGES.txt Fri Feb 27 15:25:37 2015
@@ -52,6 +52,10 @@ Bug fixes
BooleanQuery searches. (Dragan Jotannovic, jane chang via Mike
McCandless)
+* LUCENE-6306: Merging of doc values and norms now checks whether the
+ merge was aborted so IndexWriter.rollback can more promptly abort a
+ running merge. (Robert Muir, Mike McCandless)
+
API Changes
* LUCENE-6212: Deprecate IndexWriter APIs that accept per-document Analyzer.
Modified: lucene/dev/branches/lucene_solr_4_10/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_10/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java?rev=1662723&r1=1662722&r2=1662723&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_10/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java (original)
+++ lucene/dev/branches/lucene_solr_4_10/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java Fri Feb 27 15:25:37 2015
@@ -126,6 +126,8 @@ public abstract class DocValuesConsumer
*/
public void mergeNumericField(final FieldInfo fieldInfo, final MergeState mergeState, final List<NumericDocValues> toMerge, final List<Bits> docsWithField) throws IOException {
+ mergeState.checkAbort.work(mergeState.segmentInfo.getDocCount());
+
addNumericField(fieldInfo,
new Iterable<Number>() {
@Override
@@ -207,6 +209,8 @@ public abstract class DocValuesConsumer
*/
public void mergeBinaryField(FieldInfo fieldInfo, final MergeState mergeState, final List<BinaryDocValues> toMerge, final List<Bits> docsWithField) throws IOException {
+ mergeState.checkAbort.work(mergeState.segmentInfo.getDocCount());
+
addBinaryField(fieldInfo,
new Iterable<BytesRef>() {
@Override
@@ -287,6 +291,9 @@ public abstract class DocValuesConsumer
* iterables that filter deleted documents.
*/
public void mergeSortedNumericField(FieldInfo fieldInfo, final MergeState mergeState, List<SortedNumericDocValues> toMerge) throws IOException {
+
+ mergeState.checkAbort.work(mergeState.segmentInfo.getDocCount());
+
final AtomicReader readers[] = mergeState.readers.toArray(new AtomicReader[toMerge.size()]);
final SortedNumericDocValues dvs[] = toMerge.toArray(new SortedNumericDocValues[toMerge.size()]);
@@ -438,6 +445,9 @@ public abstract class DocValuesConsumer
* an Iterable that merges ordinals and values and filters deleted documents .
*/
public void mergeSortedField(FieldInfo fieldInfo, final MergeState mergeState, List<SortedDocValues> toMerge) throws IOException {
+
+ mergeState.checkAbort.work(mergeState.segmentInfo.getDocCount());
+
final AtomicReader readers[] = mergeState.readers.toArray(new AtomicReader[toMerge.size()]);
final SortedDocValues dvs[] = toMerge.toArray(new SortedDocValues[toMerge.size()]);
@@ -577,6 +587,9 @@ public abstract class DocValuesConsumer
* an Iterable that merges ordinals and values and filters deleted documents .
*/
public void mergeSortedSetField(FieldInfo fieldInfo, final MergeState mergeState, List<SortedSetDocValues> toMerge) throws IOException {
+
+ mergeState.checkAbort.work(mergeState.segmentInfo.getDocCount());
+
final AtomicReader readers[] = mergeState.readers.toArray(new AtomicReader[toMerge.size()]);
final SortedSetDocValues dvs[] = toMerge.toArray(new SortedSetDocValues[toMerge.size()]);