[ 
https://issues.apache.org/jira/browse/OAK-4954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrei Dulceanu updated OAK-4954:
---------------------------------
    Attachment: OAK-4954-01.patch

[~mduerig] Apparently the problem stemmed from the fact that in 
{{AbstractTest}} warmup [1] and runs with {{--concurrency 1}} [2] are done from 
the same thread, without spinning up new threads. Since test nodes are kept in 
an identity map indexed by thread, this causes a second fixture running this 
benchmark to share the test node (because it is run from the same thread) with 
the previous one, although it operated with a totally different repository, 
thus causing the reported failure. I included a simple check in 
{{beforeTest()}} method to see if the test node is still available, recreating 
it if not.

Can you take a look at the attached patch, please?

[1] 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java#L221
[2] 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java#L325

> SetPropertyTest benchmark fails on Segment Tar
> ----------------------------------------------
>
>                 Key: OAK-4954
>                 URL: https://issues.apache.org/jira/browse/OAK-4954
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Andrei Dulceanu
>              Labels: test-failure
>             Fix For: 1.5.17, 1.6
>
>         Attachments: OAK-4954-01.patch
>
>
> The {{SetPropertyTest}} fails on Oak Segment Tar:
> {noformat}
> javax.jcr.InvalidItemStateException: This item 
> [/testfb3e8f1a/ca1ef350-f650-4466-b9e3-7f77d83e6303] does not exist anymore
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.ItemDelegate.checkAlive(ItemDelegate.java:86)
>       at 
> org.apache.jackrabbit.oak.jcr.session.ItemImpl$ItemWriteOperation.checkPreconditions(ItemImpl.java:96)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl$35.checkPreconditions(NodeImpl.java:1366)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.prePerform(SessionDelegate.java:615)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:205)
>       at 
> org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl.internalSetProperty(NodeImpl.java:1363)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl.setProperty(NodeImpl.java:506)
>       at 
> org.apache.jackrabbit.oak.benchmark.SetPropertyTest.runTest(SetPropertyTest.java:65)
>       at 
> org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:372)
>       at 
> org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:221)
>       at 
> org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:197)
>       at 
> org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:456)
>       at 
> org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26)
>       at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:63)
>       at org.apache.jackrabbit.oak.run.Main.main(Main.java:49)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to