Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Apache Jenkins Server
Build: https://hudson.apache.org/hudson/job/Lucene-Solr-tests-only-3.x/1950/

1 tests failed.
REGRESSION:  org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand

Error Message:
all but biggest expected:<10000> but was:<9999>

Stack Trace:
junit.framework.AssertionFailedError: all but biggest expected:<10000> but was:<9999>
        at org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(LuceneTestCase.java:829)
        at org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(LuceneTestCase.java:767)
        at org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand(TestTermRangeFilter.java:274)




Build Log (for compile errors):
[...truncated 4514 lines...]



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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Robert Muir
this seems scary? doesn't reproduce for me!

On Mon, Nov 29, 2010 at 8:13 AM, Apache Hudson Server
<[hidden email]> wrote:

> Build: https://hudson.apache.org/hudson/job/Lucene-Solr-tests-only-3.x/1950/
>
> 1 tests failed.
> REGRESSION:  org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand
>
> Error Message:
> all but biggest expected:<10000> but was:<9999>
>
> Stack Trace:
> junit.framework.AssertionFailedError: all but biggest expected:<10000> but was:<9999>
>        at org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(LuceneTestCase.java:829)
>        at org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(LuceneTestCase.java:767)
>        at org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand(TestTermRangeFilter.java:274)
>
>
>
>
> Build Log (for compile errors):
> [...truncated 4514 lines...]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Michael McCandless-2
I ran my while(1) test for 4.5 hours and no failure!

The failure is odd... because the test had just tested TermRangeFilter
w/ includeUpper and includeLower both true, and it passed (10001
matches).

Then it runs same query, but changing includeUpper to false, expecting
10000 matches, but it got only 9999.

So in both cases it's running identical code except for the one if
that checks for !includeUpper so it's hard to see how it could be
different the 2nd time.

I think this could be a JRE bug...

Mike

On Mon, Nov 29, 2010 at 8:33 AM, Robert Muir <[hidden email]> wrote:

> this seems scary? doesn't reproduce for me!
>
> On Mon, Nov 29, 2010 at 8:13 AM, Apache Hudson Server
> <[hidden email]> wrote:
>> Build: https://hudson.apache.org/hudson/job/Lucene-Solr-tests-only-3.x/1950/
>>
>> 1 tests failed.
>> REGRESSION:  org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand
>>
>> Error Message:
>> all but biggest expected:<10000> but was:<9999>
>>
>> Stack Trace:
>> junit.framework.AssertionFailedError: all but biggest expected:<10000> but was:<9999>
>>        at org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(LuceneTestCase.java:829)
>>        at org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(LuceneTestCase.java:767)
>>        at org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand(TestTermRangeFilter.java:274)
>>
>>
>>
>>
>> Build Log (for compile errors):
>> [...truncated 4514 lines...]
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

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

Reply | Threaded
Open this post in threaded view
|

RE: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Uwe Schindler
Hudson uses crappy  OpenJDK *duck*

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [hidden email]


> -----Original Message-----
> From: Michael McCandless [mailto:[hidden email]]
> Sent: Monday, November 29, 2010 7:30 PM
> To: [hidden email]
> Subject: Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure
>
> I ran my while(1) test for 4.5 hours and no failure!
>
> The failure is odd... because the test had just tested TermRangeFilter w/
> includeUpper and includeLower both true, and it passed (10001 matches).
>
> Then it runs same query, but changing includeUpper to false, expecting
> 10000 matches, but it got only 9999.
>
> So in both cases it's running identical code except for the one if that
checks
> for !includeUpper so it's hard to see how it could be different the 2nd
time.

>
> I think this could be a JRE bug...
>
> Mike
>
> On Mon, Nov 29, 2010 at 8:33 AM, Robert Muir <[hidden email]> wrote:
> > this seems scary? doesn't reproduce for me!
> >
> > On Mon, Nov 29, 2010 at 8:13 AM, Apache Hudson Server
> > <[hidden email]> wrote:
> >> Build:
> >> https://hudson.apache.org/hudson/job/Lucene-Solr-tests-only-3.x/1950/
> >>
> >> 1 tests failed.
> >> REGRESSION:
> >> org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand
> >>
> >> Error Message:
> >> all but biggest expected:<10000> but was:<9999>
> >>
> >> Stack Trace:
> >> junit.framework.AssertionFailedError: all but biggest
> >> expected:<10000> but was:<9999>
> >>        at
> >>
> org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(L
> >> uceneTestCase.java:829)
> >>        at
> >>
> org.apache.lucene.util.LuceneTestCase$LuceneTestCaseRunner.runChild(L
> >> uceneTestCase.java:767)
> >>        at
> >> org.apache.lucene.search.TestTermRangeFilter.testRangeFilterRand(Test
> >> TermRangeFilter.java:274)
> >>
> >>
> >>
> >>
> >> Build Log (for compile errors):
> >> [...truncated 4514 lines...]
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email] For
> >> additional commands, e-mail: [hidden email]
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email] For
> > additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email] For additional
> commands, e-mail: [hidden email]



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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Yonik Seeley-2-2
In reply to this post by Michael McCandless-2
On Mon, Nov 29, 2010 at 1:30 PM, Michael McCandless
<[hidden email]> wrote:

> I ran my while(1) test for 4.5 hours and no failure!
>
> The failure is odd... because the test had just tested TermRangeFilter
> w/ includeUpper and includeLower both true, and it passed (10001
> matches).
>
> Then it runs same query, but changing includeUpper to false, expecting
> 10000 matches, but it got only 9999.
>
> So in both cases it's running identical code except for the one if
> that checks for !includeUpper so it's hard to see how it could be
> different the 2nd time.
>
> I think this could be a JRE bug...

Or just a test bug?
I took a very quick look at the test... and it looks like the range is
over a random field - hence there's no reason to think that the upper
bound matched exactly one doc?  If the upper bound value matched more
than one doc, then you would see this failure?

-Yonik
http://www.lucidimagination.com

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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Michael McCandless-2
On Mon, Nov 29, 2010 at 2:20 PM, Yonik Seeley
<[hidden email]> wrote:

> On Mon, Nov 29, 2010 at 1:30 PM, Michael McCandless
> <[hidden email]> wrote:
>> I ran my while(1) test for 4.5 hours and no failure!
>>
>> The failure is odd... because the test had just tested TermRangeFilter
>> w/ includeUpper and includeLower both true, and it passed (10001
>> matches).
>>
>> Then it runs same query, but changing includeUpper to false, expecting
>> 10000 matches, but it got only 9999.
>>
>> So in both cases it's running identical code except for the one if
>> that checks for !includeUpper so it's hard to see how it could be
>> different the 2nd time.
>>
>> I think this could be a JRE bug...
>
> Or just a test bug?
> I took a very quick look at the test... and it looks like the range is
> over a random field - hence there's no reason to think that the upper
> bound matched exactly one doc?  If the upper bound value matched more
> than one doc, then you would see this failure?

I like that theory!

Meaning, in pulling 10,001 random numbers we got the max value twice.

Though why doesn't the random seed reproduce it?

I'll fix the test to detect this and rebuild the index...

Mike

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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Yonik Seeley-2-2
On Mon, Nov 29, 2010 at 2:52 PM, Michael McCandless
<[hidden email]> wrote:

> On Mon, Nov 29, 2010 at 2:20 PM, Yonik Seeley
> <[hidden email]> wrote:
>> On Mon, Nov 29, 2010 at 1:30 PM, Michael McCandless
>> <[hidden email]> wrote:
>>> I ran my while(1) test for 4.5 hours and no failure!
>>>
>>> The failure is odd... because the test had just tested TermRangeFilter
>>> w/ includeUpper and includeLower both true, and it passed (10001
>>> matches).
>>>
>>> Then it runs same query, but changing includeUpper to false, expecting
>>> 10000 matches, but it got only 9999.
>>>
>>> So in both cases it's running identical code except for the one if
>>> that checks for !includeUpper so it's hard to see how it could be
>>> different the 2nd time.
>>>
>>> I think this could be a JRE bug...
>>
>> Or just a test bug?
>> I took a very quick look at the test... and it looks like the range is
>> over a random field - hence there's no reason to think that the upper
>> bound matched exactly one doc?  If the upper bound value matched more
>> than one doc, then you would see this failure?
>
> I like that theory!
>
> Meaning, in pulling 10,001 random numbers we got the max value twice.
>
> Though why doesn't the random seed reproduce it?

Excellent question.  Perhaps temporarily lower the range of random
numbers generated to increase the odds of this happening, and then see
if it's reproducible with the same seed (and then maybe it will be
easier to track down why it's not).

-Yonik
http://www.lucidimagination.com

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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Yonik Seeley-2-2
In reply to this post by Michael McCandless-2
On Mon, Nov 29, 2010 at 2:52 PM, Michael McCandless
<[hidden email]> wrote:
> Though why doesn't the random seed reproduce it?

OK, I think I see why.
For reproducibility, the same random number generator should never be
used across different threads.
RandomIndexWriter does though... (via MockIndexWriter.testPoint).

  public RandomIndexWriter(Random r, Directory dir, IndexWriterConfig
c) throws IOException {
    this.r = r;
    w = new MockIndexWriter(r, dir, c);

So something like this should work?

    w = new MockIndexWriter(new Random(r.nextInt()), dir, c);


-Yonik
http://www.lucidimagination.com

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

Reply | Threaded
Open this post in threaded view
|

Re: Lucene-Solr-tests-only-3.x - Build # 1950 - Failure

Earwin Burrfoot
Or you can make threadlocal RNGs.

On Mon, Nov 29, 2010 at 23:20, Yonik Seeley <[hidden email]> wrote:

> On Mon, Nov 29, 2010 at 2:52 PM, Michael McCandless
> <[hidden email]> wrote:
>> Though why doesn't the random seed reproduce it?
>
> OK, I think I see why.
> For reproducibility, the same random number generator should never be
> used across different threads.
> RandomIndexWriter does though... (via MockIndexWriter.testPoint).
>
>  public RandomIndexWriter(Random r, Directory dir, IndexWriterConfig
> c) throws IOException {
>    this.r = r;
>    w = new MockIndexWriter(r, dir, c);
>
> So something like this should work?
>
>    w = new MockIndexWriter(new Random(r.nextInt()), dir, c);
>
>
> -Yonik
> http://www.lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>



--
Kirill Zakharenko/Кирилл Захаренко ([hidden email])
Phone: +7 (495) 683-567-4
ICQ: 104465785

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