Can we backport this test to 4.x?

On Tue, Sep 24, 2013 at 4:10 AM,  <[email protected]> wrote:
> Author: mikemccand
> Date: Tue Sep 24 11:10:18 2013
> New Revision: 1525851
>
> URL: http://svn.apache.org/r1525851
> Log:
> LUCENE-5239: don't delete same term for the wrong field
>
> Modified:
>     
> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
>     
> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
>
> Modified: 
> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
> URL: 
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java?rev=1525851&r1=1525850&r2=1525851&view=diff
> ==============================================================================
> --- 
> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
>  (original)
> +++ 
> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
>  Tue Sep 24 11:10:18 2013
> @@ -47,6 +47,8 @@ final class FreqProxTermsWriter extends
>            Terms terms = fields.terms(lastField);
>            if (terms != null) {
>              termsEnum = terms.iterator(termsEnum);
> +          } else {
> +            termsEnum = null;
>            }
>          }
>
>
> Modified: 
> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
> URL: 
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1525851&r1=1525850&r2=1525851&view=diff
> ==============================================================================
> --- 
> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
>  (original)
> +++ 
> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
>  Tue Sep 24 11:10:18 2013
> @@ -2281,4 +2281,27 @@ public class TestIndexWriter extends Luc
>      evilWriter.close();
>      dir.close();
>    }
> +
> +  // LUCENE-5239
> +  public void testDeleteSameTermAcrossFields() throws Exception {
> +    Directory dir = newDirectory();
> +    IndexWriterConfig iwc = new IndexWriterConfig(TEST_VERSION_CURRENT, new 
> MockAnalyzer(random()));
> +    IndexWriter w = new IndexWriter(dir, iwc);
> +    Document doc = new Document();
> +    doc.add(new TextField("a", "foo", Field.Store.NO));
> +    w.addDocument(doc);
> +
> +    // Should not delete the document; with LUCENE-5239 the
> +    // "foo" from the 2nd delete term would incorrectly
> +    // match field a's "foo":
> +    w.deleteDocuments(new Term("a", "xxx"));
> +    w.deleteDocuments(new Term("b", "foo"));
> +    IndexReader r = w.getReader();
> +    w.close();
> +
> +    // Make sure document was not (incorrectly) deleted:
> +    assertEquals(1, r.numDocs());
> +    r.close();
> +    dir.close();
> +  }
>  }
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to