Backport PR:
https://github.com/apache/lucene/pull/851

I'll do the newFSDirectory change separately, thanks.

On Thu, Apr 28, 2022 at 10:12 AM Robert Muir <[email protected]> wrote:
>
> e.g. backport the LUCENE-10088 but then do something like this (in
> main and backport branches):
>
> diff --git 
> a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
> b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
> index 566557a230e..b76136caad3 100644
> --- 
> a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
> +++ 
> b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
> @@ -716,7 +716,7 @@ public class TestIndexWriterMergePolicy extends
> LuceneTestCase {
>
>    void stressUpdateSameDocumentWithMergeOnX(boolean useGetReader)
>        throws IOException, InterruptedException {
> -    try (Directory directory = newDirectory()) {
> +    try (Directory directory = newFSDirectory()) {
>        try (RandomIndexWriter writer =
>            new RandomIndexWriter(
>                random(),
>
> On Thu, Apr 28, 2022 at 4:09 AM Robert Muir <[email protected]> wrote:
> >
> > to be clear, it makes sense to backport the fix anyway, as it prevents
> > another failure we don't want.
> >
> > but by itself, it won't fix this one. we'd need to do more (e.g. force
> > FSDirectory always)
> >
> > On Thu, Apr 28, 2022 at 4:06 AM Robert Muir <[email protected]> wrote:
> > >
> > > That change looks like it only doubles the amount of open files from
> > > 2048 to 4096 for the test? (separately that isn't good...)
> > > So it could allow you to switch this test to use FSDirectory always,
> > > potentially to avoid RAM problems, but I don't think it is the
> > > solution to any OOM?
> > >
> > > On Thu, Apr 28, 2022 at 4:03 AM Dawid Weiss <[email protected]> wrote:
> > > >
> > > > It's addressed on main but wasn't backported -
> > > >
> > > > ae29a3b326478a
> > > > LUCENE-10088: adec73dd284
> > > >
> > > > I'll backport.
> > > >
> > > > D.
> > > >
> > > > On Thu, Apr 28, 2022 at 9:56 AM Robert Muir <[email protected]> wrote:
> > > > >
> > > > > Sounds good to me. There may be some followup to do in simpletext
> > > > > codec too, so that it is less problematic, but let's stabilize this
> > > > > test.
> > > > >
> > > > > On Thu, Apr 28, 2022 at 3:50 AM Dawid Weiss <[email protected]> 
> > > > > wrote:
> > > > > >
> > > > > > Failed with simple text codec - perhaps we should disallow it on 
> > > > > > this test?
> > > > > >
> > > > > > On Thu, Apr 28, 2022 at 7:58 AM Apache Jenkins Server
> > > > > > <[email protected]> wrote:
> > > > > > >
> > > > > > > Build: 
> > > > > > > https://ci-builds.apache.org/job/Lucene/job/Lucene-Check-9.1/454/
> > > > > > >
> > > > > > > 1 tests failed.
> > > > > > > FAILED:  
> > > > > > > org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader
> > > > > > >
> > > > > > > Error Message:
> > > > > > > java.lang.OutOfMemoryError: Java heap space
> > > > > > >
> > > > > > > Stack Trace:
> > > > > > > java.lang.OutOfMemoryError: Java heap space
> > > > > > >         at 
> > > > > > > org.apache.lucene.codecs.simpletext.SimpleTextStoredFieldsReader.readIndex(SimpleTextStoredFieldsReader.java:105)
> > > > > > >         at 
> > > > > > > org.apache.lucene.codecs.simpletext.SimpleTextStoredFieldsReader.<init>(SimpleTextStoredFieldsReader.java:90)
> > > > > > >         at 
> > > > > > > org.apache.lucene.codecs.simpletext.SimpleTextStoredFieldsFormat.fieldsReader(SimpleTextStoredFieldsFormat.java:41)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:138)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:91)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:94)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:77)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:809)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:109)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:67)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:60)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.index.RandomIndexWriter.getReader(RandomIndexWriter.java:495)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.index.RandomIndexWriter.getReader(RandomIndexWriter.java:420)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.TestIndexWriterMergePolicy.stressUpdateSameDocumentWithMergeOnX(TestIndexWriterMergePolicy.java:765)
> > > > > > >         at 
> > > > > > > org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader(TestIndexWriterMergePolicy.java:709)
> > > > > > >         at 
> > > > > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > >  Method)
> > > > > > >         at 
> > > > > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > > > > > >         at 
> > > > > > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > > > > > >         at 
> > > > > > > java.base/java.lang.reflect.Method.invoke(Method.java:566)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1754)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:942)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:978)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:992)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:44)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:45)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
> > > > > > >         at 
> > > > > > > org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
> > > > > > >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:370)
> > > > > > >         at 
> > > > > > > com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:819)
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Build Log:
> > > > > > > [...truncated 1376 lines...]
> > > > > > > ERROR: The following test(s) have failed:
> > > > > > >   - 
> > > > > > > org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader
> > > > > > >  (:lucene:core)
> > > > > > >     Test output: 
> > > > > > > /home/jenkins/jenkins-slave/workspace/Lucene/Lucene-Check-9.1/lucene/core/build/test-results/test/outputs/OUTPUT-org.apache.lucene.index.TestIndexWriterMergePolicy.txt
> > > > > > >     Reproduce with: gradlew :lucene:core:test --tests 
> > > > > > > "org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader"
> > > > > > >  -Ptests.jvms=4 -Ptests.haltonfailure=false 
> > > > > > > -Ptests.jvmargs=-XX:TieredStopAtLevel=1 
> > > > > > > -Ptests.seed=92F3309BA62B94CA -Ptests.multiplier=2 
> > > > > > > -Ptests.badapples=false -Ptests.file.encoding=UTF-8
> > > > > > >
> > > > > > >
> > > > > > > Deprecated Gradle features were used in this build, making it 
> > > > > > > incompatible with Gradle 8.0.
> > > > > > >
> > > > > > > You can use '--warning-mode all' to show the individual 
> > > > > > > deprecation warnings and determine if they come from your own 
> > > > > > > scripts or plugins.
> > > > > > >
> > > > > > > See 
> > > > > > > https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings
> > > > > > >
> > > > > > > BUILD SUCCESSFUL in 27m 50s
> > > > > > > 796 actionable tasks: 796 executed
> > > > > > > Build step 'Invoke Gradle script' changed build result to SUCCESS
> > > > > > > Archiving artifacts
> > > > > > > java.lang.InterruptedException: no matches found within 10000
> > > > > > >         at 
> > > > > > > hudson.FilePath$ValidateAntFileMask.hasMatch(FilePath.java:3079)
> > > > > > >         at 
> > > > > > > hudson.FilePath$ValidateAntFileMask.invoke(FilePath.java:2958)
> > > > > > >         at 
> > > > > > > hudson.FilePath$ValidateAntFileMask.invoke(FilePath.java:2939)
> > > > > > >         at 
> > > > > > > hudson.FilePath$FileCallableWrapper.call(FilePath.java:3329)
> > > > > > > Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call 
> > > > > > > to lucene-solr-1
> > > > > > >                 at 
> > > > > > > hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1797)
> > > > > > >                 at 
> > > > > > > hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
> > > > > > >                 at hudson.remoting.Channel.call(Channel.java:1001)
> > > > > > >                 at hudson.FilePath.act(FilePath.java:1165)
> > > > > > >                 at hudson.FilePath.act(FilePath.java:1154)
> > > > > > >                 at 
> > > > > > > hudson.FilePath.validateAntFileMask(FilePath.java:2937)
> > > > > > >                 at 
> > > > > > > hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:268)
> > > > > > >                 at 
> > > > > > > hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
> > > > > > >                 at 
> > > > > > > hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
> > > > > > >                 at 
> > > > > > > hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
> > > > > > >                 at 
> > > > > > > hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
> > > > > > >                 at 
> > > > > > > hudson.model.Build$BuildExecution.post2(Build.java:178)
> > > > > > >                 at 
> > > > > > > hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
> > > > > > >                 at hudson.model.Run.execute(Run.java:1913)
> > > > > > >                 at 
> > > > > > > hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
> > > > > > >                 at 
> > > > > > > hudson.model.ResourceController.execute(ResourceController.java:99)
> > > > > > >                 at hudson.model.Executor.run(Executor.java:432)
> > > > > > > Caused: hudson.FilePath$TunneledInterruptedException
> > > > > > >         at 
> > > > > > > hudson.FilePath$FileCallableWrapper.call(FilePath.java:3331)
> > > > > > >         at 
> > > > > > > hudson.remoting.UserRequest.perform(UserRequest.java:211)
> > > > > > >         at 
> > > > > > > hudson.remoting.UserRequest.perform(UserRequest.java:54)
> > > > > > >         at hudson.remoting.Request$2.run(Request.java:376)
> > > > > > >         at 
> > > > > > > hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
> > > > > > >         at 
> > > > > > > java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > > > > > >         at 
> > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> > > > > > >         at 
> > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> > > > > > >         at java.lang.Thread.run(Thread.java:748)
> > > > > > > Caused: java.lang.InterruptedException: 
> > > > > > > java.lang.InterruptedException: no matches found within 10000
> > > > > > >         at hudson.FilePath.act(FilePath.java:1167)
> > > > > > >         at hudson.FilePath.act(FilePath.java:1154)
> > > > > > >         at hudson.FilePath.validateAntFileMask(FilePath.java:2937)
> > > > > > >         at 
> > > > > > > hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:268)
> > > > > > >         at 
> > > > > > > hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
> > > > > > >         at 
> > > > > > > hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
> > > > > > >         at 
> > > > > > > hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
> > > > > > >         at 
> > > > > > > hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
> > > > > > >         at hudson.model.Build$BuildExecution.post2(Build.java:178)
> > > > > > >         at 
> > > > > > > hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
> > > > > > >         at hudson.model.Run.execute(Run.java:1913)
> > > > > > >         at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
> > > > > > >         at 
> > > > > > > hudson.model.ResourceController.execute(ResourceController.java:99)
> > > > > > >         at hudson.model.Executor.run(Executor.java:432)
> > > > > > > No artifacts found that match the file pattern 
> > > > > > > "**/*.events,heapdumps/**,**/hs_err_pid*". Configuration error?
> > > > > > > Recording test results
> > > > > > > [Checks API] No suitable checks publisher found.
> > > > > > > Build step 'Publish JUnit test result report' changed build 
> > > > > > > result to UNSTABLE
> > > > > > > Email was triggered for: Unstable (Test Failures)
> > > > > > > Sending email for trigger: Unstable (Test Failures)
> > > > > > >
> > > > > > > ---------------------------------------------------------------------
> > > > > > > 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]
> > > > > >
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > 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]
> > > >
>
> ---------------------------------------------------------------------
> 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