Well, we should think about the api and not rush it.

i was just thinking that right now, this problem is really a
disjunctions one, in that it does something wrong if you call score(),
even though you said you didnt need them. but in this case, if it
wrapped its subs with constantscorer, it would then be "well-behaved"
?

On Tue, Mar 3, 2015 at 12:02 PM, Adrien Grand <[email protected]> wrote:
> OK, it works for me too. Then I'll also add assertions that you do not
> call score() if you passed needsScores=false.
>
> On Tue, Mar 3, 2015 at 5:38 PM, Robert Muir <[email protected]> wrote:
>> one option is to wrap with constantscorer somewhere and still keep the
>> optimization?
>>
>> On Tue, Mar 3, 2015 at 11:32 AM, Adrien Grand <[email protected]> wrote:
>>> OK, I found the reason. We have an optimization in disjunctions to
>>> stop calling matches() after a single matching clause has been found
>>> if scores are not needed, but it does not play well with the fact that
>>> some scorers always call score() on the underlying clauses even if
>>> scores are not needed (BooleanScorer in this case, maybe there are
>>> other ones). So I'll disable the optimization. We'll need to better
>>> document when it is legal to call score() if we want to bring it back.
>>>
>>> On Tue, Mar 3, 2015 at 3:57 PM, Adrien Grand <[email protected]> wrote:
>>>> I'm looking into it.
>>>>
>>>> On Tue, Mar 3, 2015 at 3:52 PM, Apache Jenkins Server
>>>> <[email protected]> wrote:
>>>>> Build: https://builds.apache.org/job/Lucene-Solr-NightlyTests-5.x/775/
>>>>>
>>>>> 1 tests failed.
>>>>> FAILED:  org.apache.lucene.search.TestLRUQueryCache.testRandom
>>>>>
>>>>> Error Message:
>>>>>
>>>>>
>>>>> Stack Trace:
>>>>> java.lang.AssertionError
>>>>>         at 
>>>>> __randomizedtesting.SeedInfo.seed([8AFB9C1E9D5CF8AF:F8B7B9112C3C4EDC]:0)
>>>>>         at org.apache.lucene.search.TermScorer.score(TermScorer.java:70)
>>>>>         at 
>>>>> org.apache.lucene.search.DisjunctionSumScorer.score(DisjunctionSumScorer.java:46)
>>>>>         at 
>>>>> org.apache.lucene.search.DisjunctionScorer.score(DisjunctionScorer.java:219)
>>>>>         at 
>>>>> org.apache.lucene.search.ReqExclScorer.score(ReqExclScorer.java:121)
>>>>>         at 
>>>>> org.apache.lucene.search.BooleanScorer$OrCollector.collect(BooleanScorer.java:142)
>>>>>         at 
>>>>> org.apache.lucene.search.Weight$DefaultBulkScorer.scoreRange(Weight.java:181)
>>>>>         at 
>>>>> org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:171)
>>>>>         at 
>>>>> org.apache.lucene.search.BooleanScorer$BulkScorerAndDoc.score(BooleanScorer.java:60)
>>>>>         at 
>>>>> org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java:210)
>>>>>         at 
>>>>> org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java:264)
>>>>>         at 
>>>>> org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:289)
>>>>>         at 
>>>>> org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:79)
>>>>>         at 
>>>>> org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:63)
>>>>>         at 
>>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:694)
>>>>>         at 
>>>>> org.apache.lucene.search.AssertingIndexSearcher.search(AssertingIndexSearcher.java:102)
>>>>>         at 
>>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:408)
>>>>>         at 
>>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:617)
>>>>>         at 
>>>>> org.apache.lucene.search.IndexSearcher.count(IndexSearcher.java:290)
>>>>>         at 
>>>>> org.apache.lucene.search.TestLRUQueryCache.testRandom(TestLRUQueryCache.java:923)
>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>         at 
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>         at 
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1627)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:836)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:872)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:886)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50)
>>>>>         at 
>>>>> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:49)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:65)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:365)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:798)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:458)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:845)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:747)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:781)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:792)
>>>>>         at 
>>>>> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:42)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:54)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:65)
>>>>>         at 
>>>>> org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:55)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>>>>         at 
>>>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:365)
>>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Build Log:
>>>>> [...truncated 839 lines...]
>>>>>    [junit4] Suite: org.apache.lucene.search.TestLRUQueryCache
>>>>>    [junit4]   2> NOTE: download the large Jenkins line-docs file by 
>>>>> running 'ant get-jenkins-line-docs' in the lucene directory.
>>>>>    [junit4]   2> NOTE: reproduce with: ant test  
>>>>> -Dtestcase=TestLRUQueryCache -Dtests.method=testRandom 
>>>>> -Dtests.seed=8AFB9C1E9D5CF8AF -Dtests.multiplier=2 -Dtests.nightly=true 
>>>>> -Dtests.slow=true 
>>>>> -Dtests.linedocsfile=/home/jenkins/lucene-data/enwiki.random.lines.txt 
>>>>> -Dtests.locale=en_ZA -Dtests.timezone=Africa/Porto-Novo 
>>>>> -Dtests.asserts=true -Dtests.file.encoding=US-ASCII
>>>>>    [junit4] FAILURE 19.5s J3 | TestLRUQueryCache.testRandom <<<
>>>>>    [junit4]    > Throwable #1: java.lang.AssertionError
>>>>>    [junit4]    >        at 
>>>>> __randomizedtesting.SeedInfo.seed([8AFB9C1E9D5CF8AF:F8B7B9112C3C4EDC]:0)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.TermScorer.score(TermScorer.java:70)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.DisjunctionSumScorer.score(DisjunctionSumScorer.java:46)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.DisjunctionScorer.score(DisjunctionScorer.java:219)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.ReqExclScorer.score(ReqExclScorer.java:121)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.BooleanScorer$OrCollector.collect(BooleanScorer.java:142)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.Weight$DefaultBulkScorer.scoreRange(Weight.java:181)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:171)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.BooleanScorer$BulkScorerAndDoc.score(BooleanScorer.java:60)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java:210)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java:264)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:289)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:79)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:63)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:694)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.AssertingIndexSearcher.search(AssertingIndexSearcher.java:102)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:408)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:617)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.IndexSearcher.count(IndexSearcher.java:290)
>>>>>    [junit4]    >        at 
>>>>> org.apache.lucene.search.TestLRUQueryCache.testRandom(TestLRUQueryCache.java:923)
>>>>>    [junit4]    >        at java.lang.Thread.run(Thread.java:745)
>>>>>    [junit4]   2> NOTE: leaving temporary files on disk at: 
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/lucene/build/core/test/J3/temp/lucene.search.TestLRUQueryCache
>>>>>  8AFB9C1E9D5CF8AF-001
>>>>>    [junit4]   2> NOTE: test params are: codec=Asserting(Lucene50), 
>>>>> sim=DefaultSimilarity, locale=en_ZA, timezone=Africa/Porto-Novo
>>>>>    [junit4]   2> NOTE: FreeBSD 9.1-RELEASE-p3 amd64/Oracle Corporation 
>>>>> 1.7.0_65 (64-bit)/cpus=16,threads=1,free=148303864,total=313524224
>>>>>    [junit4]   2> NOTE: All tests run in this JVM: 
>>>>> [FuzzyTermOnShortTermsTest, TestByteSlices, TestEarlyTermination, 
>>>>> TestRollback, TestWildcard, TestDocCount, TestMmapDirectory, 
>>>>> TestSpanExplanationsOfNonMatches, TestBagOfPositions, 
>>>>> TestInPlaceMergeSorter, TestSparseFixedBitSet, TestAutomaton, Nested1, 
>>>>> TestFilteredQuery, TestLucene50TermVectorsFormat, 
>>>>> TestDocValuesTermsQuery, TestDocBoost, TestPhraseQuery, TestWindowsMMap, 
>>>>> TestFastDecompressionMode, TestMultiLevelSkipList, 
>>>>> TestCachingWrapperQuery, TestMatchAllDocsQuery, TestNamedSPILoader, 
>>>>> TestBytesRefHash, TestPerFieldPostingsFormat2, TestForUtil, 
>>>>> TestIndexWriterForceMerge, TestIndexableField, TestLock, 
>>>>> TestMaxTermFrequency, TestIndexWriterOnJRECrash, TestLRUQueryCache]
>>>>>    [junit4] Completed on J3 in 25.65s, 12 tests, 1 failure <<< FAILURES!
>>>>>
>>>>> [...truncated 995 lines...]
>>>>> BUILD FAILED
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/build.xml:536:
>>>>>  The following error occurred while executing this line:
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/build.xml:477:
>>>>>  The following error occurred while executing this line:
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/build.xml:61:
>>>>>  The following error occurred while executing this line:
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/extra-targets.xml:39:
>>>>>  The following error occurred while executing this line:
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/lucene/build.xml:49:
>>>>>  The following error occurred while executing this line:
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/lucene/common-build.xml:1370:
>>>>>  The following error occurred while executing this line:
>>>>> /usr/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-5.x/lucene/common-build.xml:976:
>>>>>  There were test failures: 419 suites, 3370 tests, 1 failure, 39 ignored 
>>>>> (29 assumptions)
>>>>>
>>>>> Total time: 48 minutes 1 second
>>>>> Build step 'Invoke Ant' marked build as failure
>>>>> Archiving artifacts
>>>>> Sending artifact delta relative to Lucene-Solr-NightlyTests-5.x #716
>>>>> Archived 5 artifacts
>>>>> Archive block size is 32768
>>>>> Received 0 blocks and 3613290 bytes
>>>>> Compression is 0.0%
>>>>> Took 1 sec
>>>>> Recording test results
>>>>> Email was triggered for: Failure
>>>>> Sending email for trigger: Failure
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>>
>>>> --
>>>> Adrien
>>>
>>>
>>>
>>> --
>>> Adrien
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
>
> --
> Adrien
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

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

Reply via email to