You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Mike Drob <ma...@cloudera.com> on 2016/03/28 21:06:32 UTC

Test Issues

I feel like I have to be missing something simple, and yet I find myself
asking on the mailing list. I've narrowed down my failing test to something
that I don't think it related to my code changes at all and I'm struggling
to understand what I'm failing to set up correctly in this environment.

This test consistently fails for me:

public class MyTest extends BaseDistributedSearchTestCase {
  @Override
  protected String getSolrXml() {
    return "solr.xml";
  }

  public MyTest() {
    fixShardCount(1);
  }

  @Test
  public void test() throws Exception {
    index(id, 1);
    commit();
    query("q", "*:*");
  }
}

With the following trace:

junit.framework.AssertionFailedError: .response.maxScore:1.0!=null
    at
__randomizedtesting.SeedInfo.seed([9EDA50B342BBA70E:5699086545248268]:0)
    at junit.framework.Assert.fail(Assert.java:50)
    at
org.apache.solr.BaseDistributedSearchTestCase.compareSolrResponses(BaseDistributedSearchTestCase.java:924)
    at
org.apache.solr.BaseDistributedSearchTestCase.compareResponses(BaseDistributedSearchTestCase.java:943)
    at
org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:618)
    at
org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:598)
    at
org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:577)
    at org.apache.solr.mytest.MyTrace.test(MyTest.java:61)
    at ...

I've tried copying from existing test cases, but haven't had any luck so
far. Any pointers on this?

Mike

RE: Test Issues

Posted by Martin Gainty <mg...@hotmail.com>.
     
MG>scroll down to org.apache.solr.BaseDistributedSearchTestCase.java
MG>public static String compare(SolrDocumentList a, SolrDocumentList b, int flags, Map<String, Integer> handle)

From: david.w.smiley@gmail.com
Date: Mon, 28 Mar 2016 19:22:28 +0000
Subject: Re: Test Issues
To: dev@lucene.apache.org

https://issues.apache.org/jira/browse/SOLR-6612

On Mon, Mar 28, 2016 at 3:19 PM Mike Drob <ma...@cloudera.com> wrote:
Thanks, David. Is there a JIRA associated with this known issue?

Now that I knew what I was looking for, I had to also skip timestamp and _version_, but after that everything works as expected.

On Mon, Mar 28, 2016 at 12:10 PM, David Smiley <da...@gmail.com> wrote:
Most likely you need to add this to your test:handle.put("maxScore", SKIPVAL);

There is a known issue in which wether maxScore is returned or not in distributed search vs non-distributed is inconsistent, in the event you didn't ask for the score explicitly (e.g. by setting 'fl=score')
On Mon, Mar 28, 2016 at 3:07 PM Mike Drob <ma...@cloudera.com> wrote:
I feel like I have to be missing something simple, and yet I find myself asking on the mailing list. I've narrowed down my failing test to something that I don't think it related to my code changes at all and I'm struggling to understand what I'm failing to set up correctly in this environment.

This test consistently fails for me:

public class MyTest extends BaseDistributedSearchTestCase {
  @Override
  protected String getSolrXml() {
    return "solr.xml";
  }

  public MyTest() {
    fixShardCount(1);
  }
  
  @Test
  public void test() throws Exception {
    index(id, 1);
    commit();
    query("q", "*:*");
  }
}

With the following trace:

junit.framework.AssertionFailedError: .response.maxScore:1.0!=null
    at __randomizedtesting.SeedInfo.seed([9EDA50B342BBA70E:5699086545248268]:0)
    at junit.framework.Assert.fail(Assert.java:50)
    at org.apache.solr.BaseDistributedSearchTestCase.compareSolrResponses(BaseDistributedSearchTestCase.java:924)
    at org.apache.solr.BaseDistributedSearchTestCase.compareResponses(BaseDistributedSearchTestCase.java:943)
    at org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:618)
    at org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:598)
    at org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:577)
    at org.apache.solr.mytest.MyTrace.test(MyTest.java:61)
    at ...
MG>compare method is where maxScore is tested ( or disabled with handle.put("maxScore", 4) )
public static String compare(SolrDocumentList a, SolrDocumentList b, int flags, Map<String, Integer> handle) {    boolean ordered = (flags & UNORDERED) == 0;    String cmp;    int f = flags(handle, "maxScore");    if ((f & SKIPVAL) == 0) {      cmp = compare(a.getMaxScore(), b.getMaxScore(), 0, handle);        if (cmp != null) return ".maxScore" + cmp;    } else {      if (b.getMaxScore() != null) {  
//why not put if(b.getMaxScore()!=null)  before if  ((f & SKIPVAL) == 0) {  and avoid NPE
        if (a.getMaxScore() == null) {          return ".maxScore missing";        }      }    }...    return null;  }MG>why not put if(b.getMaxScore()!=null)  before if  ((f & SKIPVAL) == 0) {  and avoid NPE
I've tried copying from existing test cases, but haven't had any luck so far. Any pointers on this?

Mike
-- 
Lucene/Solr Search Committer, Consultant, Developer, Author, SpeakerLinkedIn: http://linkedin.com/in/davidwsmiley | Book: http://www.solrenterprisesearchserver.com


-- 
Lucene/Solr Search Committer, Consultant, Developer, Author, SpeakerLinkedIn: http://linkedin.com/in/davidwsmiley | Book: http://www.solrenterprisesearchserver.com 		 	   		  

Re: Test Issues

Posted by David Smiley <da...@gmail.com>.
https://issues.apache.org/jira/browse/SOLR-6612

On Mon, Mar 28, 2016 at 3:19 PM Mike Drob <ma...@cloudera.com> wrote:

> Thanks, David. Is there a JIRA associated with this known issue?
>
> Now that I knew what I was looking for, I had to also skip timestamp and
> _version_, but after that everything works as expected.
>
> On Mon, Mar 28, 2016 at 12:10 PM, David Smiley <da...@gmail.com>
> wrote:
>
>> Most likely you need to add this to your test:
>> handle.put("maxScore", SKIPVAL);
>>
>> There is a known issue in which wether maxScore is returned or not in
>> distributed search vs non-distributed is inconsistent, in the event you
>> didn't ask for the score explicitly (e.g. by setting 'fl=score')
>>
>> On Mon, Mar 28, 2016 at 3:07 PM Mike Drob <ma...@cloudera.com> wrote:
>>
>>> I feel like I have to be missing something simple, and yet I find myself
>>> asking on the mailing list. I've narrowed down my failing test to something
>>> that I don't think it related to my code changes at all and I'm struggling
>>> to understand what I'm failing to set up correctly in this environment.
>>>
>>> This test consistently fails for me:
>>>
>>> public class MyTest extends BaseDistributedSearchTestCase {
>>>   @Override
>>>   protected String getSolrXml() {
>>>     return "solr.xml";
>>>   }
>>>
>>>   public MyTest() {
>>>     fixShardCount(1);
>>>   }
>>>
>>>   @Test
>>>   public void test() throws Exception {
>>>     index(id, 1);
>>>     commit();
>>>     query("q", "*:*");
>>>   }
>>> }
>>>
>>> With the following trace:
>>>
>>> junit.framework.AssertionFailedError: .response.maxScore:1.0!=null
>>>     at
>>> __randomizedtesting.SeedInfo.seed([9EDA50B342BBA70E:5699086545248268]:0)
>>>     at junit.framework.Assert.fail(Assert.java:50)
>>>     at
>>> org.apache.solr.BaseDistributedSearchTestCase.compareSolrResponses(BaseDistributedSearchTestCase.java:924)
>>>     at
>>> org.apache.solr.BaseDistributedSearchTestCase.compareResponses(BaseDistributedSearchTestCase.java:943)
>>>     at
>>> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:618)
>>>     at
>>> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:598)
>>>     at
>>> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:577)
>>>     at org.apache.solr.mytest.MyTrace.test(MyTest.java:61)
>>>     at ...
>>>
>>> I've tried copying from existing test cases, but haven't had any luck so
>>> far. Any pointers on this?
>>>
>>> Mike
>>>
>> --
>> Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
>> LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
>> http://www.solrenterprisesearchserver.com
>>
>
> --
Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
http://www.solrenterprisesearchserver.com

Re: Test Issues

Posted by Mike Drob <ma...@cloudera.com>.
Thanks, David. Is there a JIRA associated with this known issue?

Now that I knew what I was looking for, I had to also skip timestamp and
_version_, but after that everything works as expected.

On Mon, Mar 28, 2016 at 12:10 PM, David Smiley <da...@gmail.com>
wrote:

> Most likely you need to add this to your test:
> handle.put("maxScore", SKIPVAL);
>
> There is a known issue in which wether maxScore is returned or not in
> distributed search vs non-distributed is inconsistent, in the event you
> didn't ask for the score explicitly (e.g. by setting 'fl=score')
>
> On Mon, Mar 28, 2016 at 3:07 PM Mike Drob <ma...@cloudera.com> wrote:
>
>> I feel like I have to be missing something simple, and yet I find myself
>> asking on the mailing list. I've narrowed down my failing test to something
>> that I don't think it related to my code changes at all and I'm struggling
>> to understand what I'm failing to set up correctly in this environment.
>>
>> This test consistently fails for me:
>>
>> public class MyTest extends BaseDistributedSearchTestCase {
>>   @Override
>>   protected String getSolrXml() {
>>     return "solr.xml";
>>   }
>>
>>   public MyTest() {
>>     fixShardCount(1);
>>   }
>>
>>   @Test
>>   public void test() throws Exception {
>>     index(id, 1);
>>     commit();
>>     query("q", "*:*");
>>   }
>> }
>>
>> With the following trace:
>>
>> junit.framework.AssertionFailedError: .response.maxScore:1.0!=null
>>     at
>> __randomizedtesting.SeedInfo.seed([9EDA50B342BBA70E:5699086545248268]:0)
>>     at junit.framework.Assert.fail(Assert.java:50)
>>     at
>> org.apache.solr.BaseDistributedSearchTestCase.compareSolrResponses(BaseDistributedSearchTestCase.java:924)
>>     at
>> org.apache.solr.BaseDistributedSearchTestCase.compareResponses(BaseDistributedSearchTestCase.java:943)
>>     at
>> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:618)
>>     at
>> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:598)
>>     at
>> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:577)
>>     at org.apache.solr.mytest.MyTrace.test(MyTest.java:61)
>>     at ...
>>
>> I've tried copying from existing test cases, but haven't had any luck so
>> far. Any pointers on this?
>>
>> Mike
>>
> --
> Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
> LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
> http://www.solrenterprisesearchserver.com
>

Re: Test Issues

Posted by David Smiley <da...@gmail.com>.
Most likely you need to add this to your test:
handle.put("maxScore", SKIPVAL);

There is a known issue in which wether maxScore is returned or not in
distributed search vs non-distributed is inconsistent, in the event you
didn't ask for the score explicitly (e.g. by setting 'fl=score')

On Mon, Mar 28, 2016 at 3:07 PM Mike Drob <ma...@cloudera.com> wrote:

> I feel like I have to be missing something simple, and yet I find myself
> asking on the mailing list. I've narrowed down my failing test to something
> that I don't think it related to my code changes at all and I'm struggling
> to understand what I'm failing to set up correctly in this environment.
>
> This test consistently fails for me:
>
> public class MyTest extends BaseDistributedSearchTestCase {
>   @Override
>   protected String getSolrXml() {
>     return "solr.xml";
>   }
>
>   public MyTest() {
>     fixShardCount(1);
>   }
>
>   @Test
>   public void test() throws Exception {
>     index(id, 1);
>     commit();
>     query("q", "*:*");
>   }
> }
>
> With the following trace:
>
> junit.framework.AssertionFailedError: .response.maxScore:1.0!=null
>     at
> __randomizedtesting.SeedInfo.seed([9EDA50B342BBA70E:5699086545248268]:0)
>     at junit.framework.Assert.fail(Assert.java:50)
>     at
> org.apache.solr.BaseDistributedSearchTestCase.compareSolrResponses(BaseDistributedSearchTestCase.java:924)
>     at
> org.apache.solr.BaseDistributedSearchTestCase.compareResponses(BaseDistributedSearchTestCase.java:943)
>     at
> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:618)
>     at
> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:598)
>     at
> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:577)
>     at org.apache.solr.mytest.MyTrace.test(MyTest.java:61)
>     at ...
>
> I've tried copying from existing test cases, but haven't had any luck so
> far. Any pointers on this?
>
> Mike
>
-- 
Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
http://www.solrenterprisesearchserver.com