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]