[ 
https://issues.apache.org/jira/browse/OAK-11477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17927776#comment-17927776
 ] 

Stefan Egli commented on OAK-11477:
-----------------------------------

I suspect a flaw in the {{crash}} simulation : before calling 
[stopAllBackgroundThreads|https://github.com/apache/jackrabbit-oak/blob/4543c6feb212317ac362d36bc4af5925355b6d36/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java#L292]
 the lease update thread is still running - which means it could run exactly 
when 
[setLeaseTime|https://github.com/apache/jackrabbit-oak/blob/4543c6feb212317ac362d36bc4af5925355b6d36/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java#L285]
 is called - which could then lead to the lease update thread successfully 
renewing the lease and leave the crash simulation thread not needing to update 
the lease (as it was just updated by lease update thread).

Perhaps the most simple fix is to remove that 
[check|https://github.com/apache/jackrabbit-oak/blob/4543c6feb212317ac362d36bc4af5925355b6d36/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java#L286-L289]
 entirely (as it legitimately can happen)

> Flaky test: DocumentDiscoveryLiteServiceIT.testLargeStartStopFiesta
> -------------------------------------------------------------------
>
>                 Key: OAK-11477
>                 URL: https://issues.apache.org/jira/browse/OAK-11477
>             Project: Jackrabbit Oak
>          Issue Type: Test
>          Components: documentmk
>            Reporter: Julian Reschke
>            Assignee: Manfred Baedke
>            Priority: Major
>
> This test appears to be flaky:
> DocumentDiscoveryLiteServiceIT.testLargeStartStopFiesta
> Last failure:
> https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/org.apache.jackrabbit$oak-store-document/2023/testReport/junit/org.apache.jackrabbit.oak.plugins.document/DocumentDiscoveryLiteServiceIT/testLargeStartStopFiesta/
> {noformat}
> Fehlermeldung
> did not renew clusterid lease
> Stacktrace
> java.lang.AssertionError: did not renew clusterid lease
>       at org.junit.Assert.fail(Assert.java:89)
>       at 
> org.apache.jackrabbit.oak.plugins.document.BaseDocumentDiscoveryLiteServiceTest$SimplifiedInstance.crash(BaseDocumentDiscoveryLiteServiceTest.java:288)
>       at 
> org.apache.jackrabbit.oak.plugins.document.BaseDocumentDiscoveryLiteServiceTest.doStartStopFiesta(BaseDocumentDiscoveryLiteServiceTest.java:872)
>       at 
> org.apache.jackrabbit.oak.plugins.document.DocumentDiscoveryLiteServiceIT.testLargeStartStopFiesta(DocumentDiscoveryLiteServiceIT.java:37)
>       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 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>       at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
>       at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
>       at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> {noformat}
> Maybe a timing issue?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to