you merge to 4x as usual and then you merge the fix to lucene_solr_4_3 as well. you place the Changes notice already in the 4.3 section when you commit to trunk.
simon On Wed, Apr 17, 2013 at 9:53 PM, Erick Erickson <[email protected]>wrote: > Simon: > > I want to be sure I don't mess this up, and never having been a RM I'm > not all that familiar with the process. When you say "roll another > release" will you merge 4x or do I need to merge any changes I need in > 4.3 into lucene_solr_4_3 as well as 4x? > > Thanks, > Erick > > On Wed, Apr 17, 2013 at 3:24 PM, Robert Muir <[email protected]> wrote: > > cool, i opened https://issues.apache.org/jira/browse/LUCENE-4938 > > > > We should still have explicit tests for this, and there is still the > mystery > > of how this test ever passed at all! > > > > > > On Wed, Apr 17, 2013 at 12:18 PM, Simon Willnauer > > <[email protected]> wrote: > >> > >> @rob you can add the fix too if you want that is fine I will roll > another > >> release anyways > >> > >> simon > >> > >> > >> On Wed, Apr 17, 2013 at 9:14 PM, Robert Muir <[email protected]> wrote: > >>> > >>> I'll open an issue. We should at least fix the test for 4.3 if possible > >>> (the indexsearcher change can wait) > >>> > >>> > >>> On Wed, Apr 17, 2013 at 9:19 AM, Robert Muir <[email protected]> wrote: > >>>> > >>>> I see the bug (two bugs). > >>>> > >>>> One bug is the test does IndexSearcher.search(query, > Integer.MAX_VALUE, > >>>> sort) > >>>> > >>>> In the case of search-without-sort, there is some code that > essentially > >>>> does Math.min(maxdoc, ndoc) so that if you request more documents than > >>>> actually exist in the index, we create a smaller priority queue. I > think Uwe > >>>> added that not so long ago. But this code isn't in search-with-sort... > >>>> Index: > lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java > >>>> =================================================================== > >>>> --- lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java > >>>> (revision 1468947) > >>>> +++ lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java > >>>> (working copy) > >>>> @@ -511,6 +511,12 @@ > >>>> > >>>> if (sort == null) throw new NullPointerException("Sort must not > be > >>>> null"); > >>>> > >>>> + int limit = reader.maxDoc(); > >>>> + if (limit == 0) { > >>>> + limit = 1; > >>>> + } > >>>> + nDocs = Math.min(nDocs, limit); > >>>> + > >>>> if (executor == null) { > >>>> // use all leaves here! > >>>> return search(leafContexts, weight, after, nDocs, sort, > >>>> fillFields, doDocScores, doMaxScore); > >>>> Index: > >>>> > lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java > >>>> =================================================================== > >>>> --- > >>>> > lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java > >>>> (revision 1468947) > >>>> +++ > >>>> > lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java > >>>> (working copy) > >>>> @@ -69,7 +69,7 @@ > >>>> > >>>> // Get hits sorted by our FunctionValues (ascending values) > >>>> Query q = new MatchAllDocsQuery(); > >>>> - TopDocs hits = searcher.search(q, Integer.MAX_VALUE, orderBy); > >>>> + TopDocs hits = searcher.search(q, reader.maxDoc(), orderBy); > >>>> assertEquals(NUM_VALS, hits.scoreDocs.length); > >>>> // Verify that sorting works in general > >>>> int i = 0; > >>>> @@ -81,7 +81,7 @@ > >>>> // Now get hits after hit #2 using IS.searchAfter() > >>>> int afterIdx = 1; > >>>> FieldDoc afterHit = (FieldDoc) hits.scoreDocs[afterIdx]; > >>>> - hits = searcher.searchAfter(afterHit, q, Integer.MAX_VALUE, > >>>> orderBy); > >>>> + hits = searcher.searchAfter(afterHit, q, reader.maxDoc(), > orderBy); > >>>> > >>>> // Expected # of hits: NUM_VALS - 2 > >>>> assertEquals(NUM_VALS - (afterIdx + 1), hits.scoreDocs.length); > >>>> > >>>> > >>>> On Wed, Apr 17, 2013 at 10:54 AM, Policeman Jenkins Server > >>>> <[email protected]> wrote: > >>>>> > >>>>> Build: http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Linux/5212/ > >>>>> Java: 32bit/jdk1.7.0_17 -client -XX:+UseG1GC > >>>>> > >>>>> 1 tests failed. > >>>>> REGRESSION: > >>>>> > org.apache.lucene.queries.function.TestFunctionQuerySort.testSearchAfterWhenSortingByFunctionValues > >>>>> > >>>>> Error Message: > >>>>> Requested array size exceeds VM limit > >>>>> > >>>>> Stack Trace: > >>>>> java.lang.OutOfMemoryError: Requested array size exceeds VM limit > >>>>> at > >>>>> > __randomizedtesting.SeedInfo.seed([19CBB97056276D92:E7ABF8B5EEE0EA22]:0) > >>>>> at > >>>>> org.apache.lucene.util.PriorityQueue.<init>(PriorityQueue.java:64) > >>>>> at > >>>>> org.apache.lucene.util.PriorityQueue.<init>(PriorityQueue.java:37) > >>>>> at > >>>>> > org.apache.lucene.search.FieldValueHitQueue.<init>(FieldValueHitQueue.java:138) > >>>>> at > >>>>> > org.apache.lucene.search.FieldValueHitQueue.<init>(FieldValueHitQueue.java:34) > >>>>> at > >>>>> > org.apache.lucene.search.FieldValueHitQueue$OneComparatorFieldValueHitQueue.<init>(FieldValueHitQueue.java:63) > >>>>> at > >>>>> > org.apache.lucene.search.FieldValueHitQueue.create(FieldValueHitQueue.java:171) > >>>>> at > >>>>> > org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java:1123) > >>>>> at > >>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:518) > >>>>> at > >>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:493) > >>>>> at > >>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:370) > >>>>> at > >>>>> > org.apache.lucene.queries.function.TestFunctionQuerySort.testSearchAfterWhenSortingByFunctionValues(TestFunctionQuerySort.java:72) > >>>>> 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:601) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1559) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.RandomizedRunner.access$600(RandomizedRunner.java:79) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:737) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:773) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:787) > >>>>> at > >>>>> > org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50) > >>>>> at > >>>>> > org.apache.lucene.util.TestRuleFieldCacheSanity$1.evaluate(TestRuleFieldCacheSanity.java:51) > >>>>> at > >>>>> > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55) > >>>>> at > >>>>> > org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:49) > >>>>> at > >>>>> > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:70) > >>>>> 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:358) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:782) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:442) > >>>>> at > >>>>> > com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:746) > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> Build Log: > >>>>> [...truncated 7591 lines...] > >>>>> [junit4:junit4] Suite: > >>>>> org.apache.lucene.queries.function.TestFunctionQuerySort > >>>>> [junit4:junit4] 2> NOTE: reproduce with: ant test > >>>>> -Dtestcase=TestFunctionQuerySort > >>>>> -Dtests.method=testSearchAfterWhenSortingByFunctionValues > >>>>> -Dtests.seed=19CBB97056276D92 -Dtests.multiplier=3 -Dtests.slow=true > >>>>> -Dtests.locale=be -Dtests.timezone=Pacific/Tongatapu > >>>>> -Dtests.file.encoding=US-ASCII > >>>>> [junit4:junit4] ERROR 0.58s J0 | > >>>>> TestFunctionQuerySort.testSearchAfterWhenSortingByFunctionValues <<< > >>>>> [junit4:junit4] > Throwable #1: java.lang.OutOfMemoryError: > >>>>> Requested array size exceeds VM limit > >>>>> [junit4:junit4] > at > >>>>> > __randomizedtesting.SeedInfo.seed([19CBB97056276D92:E7ABF8B5EEE0EA22]:0) > >>>>> [junit4:junit4] > at > >>>>> org.apache.lucene.util.PriorityQueue.<init>(PriorityQueue.java:64) > >>>>> [junit4:junit4] > at > >>>>> org.apache.lucene.util.PriorityQueue.<init>(PriorityQueue.java:37) > >>>>> [junit4:junit4] > at > >>>>> > org.apache.lucene.search.FieldValueHitQueue.<init>(FieldValueHitQueue.java:138) > >>>>> [junit4:junit4] > at > >>>>> > org.apache.lucene.search.FieldValueHitQueue.<init>(FieldValueHitQueue.java:34) > >>>>> [junit4:junit4] > at > >>>>> > org.apache.lucene.search.FieldValueHitQueue$OneComparatorFieldValueHitQueue.<init>(FieldValueHitQueue.java:63) > >>>>> [junit4:junit4] > at > >>>>> > org.apache.lucene.search.FieldValueHitQueue.create(FieldValueHitQueue.java:171) > >>>>> [junit4:junit4] > at > >>>>> > org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java:1123) > >>>>> [junit4:junit4] > at > >>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:518) > >>>>> [junit4:junit4] > at > >>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:493) > >>>>> [junit4:junit4] > at > >>>>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:370) > >>>>> [junit4:junit4] > at > >>>>> > org.apache.lucene.queries.function.TestFunctionQuerySort.testSearchAfterWhenSortingByFunctionValues(TestFunctionQuerySort.java:72) > >>>>> [junit4:junit4] 2> NOTE: test params are: codec=Asserting, > >>>>> sim=DefaultSimilarity, locale=be, timezone=Pacific/Tongatapu > >>>>> [junit4:junit4] 2> NOTE: Linux 3.2.0-40-generic i386/Oracle > >>>>> Corporation 1.7.0_17 > (32-bit)/cpus=8,threads=1,free=7819088,total=18874368 > >>>>> [junit4:junit4] 2> NOTE: All tests run in this JVM: > >>>>> [TestFunctionQuerySort] > >>>>> [junit4:junit4] Completed on J0 in 0.81s, 1 test, 1 error <<< > FAILURES! > >>>>> > >>>>> [...truncated 49 lines...] > >>>>> BUILD FAILED > >>>>> /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/build.xml:375: The > >>>>> following error occurred while executing this line: > >>>>> /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/build.xml:355: The > >>>>> following error occurred while executing this line: > >>>>> /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/build.xml:39: The > >>>>> following error occurred while executing this line: > >>>>> > >>>>> > /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/lucene/build.xml:548: The > >>>>> following error occurred while executing this line: > >>>>> > >>>>> > /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/lucene/common-build.xml:1789: > >>>>> The following error occurred while executing this line: > >>>>> > >>>>> > /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/lucene/module-build.xml:61: > >>>>> The following error occurred while executing this line: > >>>>> > >>>>> > /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/lucene/common-build.xml:1231: > >>>>> The following error occurred while executing this line: > >>>>> > >>>>> > /mnt/ssd/jenkins/workspace/Lucene-Solr-trunk-Linux/lucene/common-build.xml:875: > >>>>> There were test failures: 13 suites, 92 tests, 1 error > >>>>> > >>>>> Total time: 17 minutes 12 seconds > >>>>> Build step 'Invoke Ant' marked build as failure > >>>>> Archiving artifacts > >>>>> Recording test results > >>>>> Description set: Java: 32bit/jdk1.7.0_17 -client -XX:+UseG1GC > >>>>> Email was triggered for: Failure > >>>>> Sending email for trigger: Failure > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> --------------------------------------------------------------------- > >>>>> 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] > >
