[ https://issues.apache.org/jira/browse/OAK-2942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Mari updated OAK-2942: -------------------------------- Attachment: ObservationBusyTest.java > IllegalStateException thrown in Segment.pos() > --------------------------------------------- > > Key: OAK-2942 > URL: https://issues.apache.org/jira/browse/OAK-2942 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segmentmk > Affects Versions: 1.2.2 > Reporter: Francesco Mari > Attachments: ObservationBusyTest.java > > > When I tried to put Oak under stress to reproduce OAK-2731, I experienced an > {{IllegalStateException}} thrown by {{Segment.pos()}}. The full stack trace > is the following: > {noformat} > java.lang.IllegalStateException > at com.google.common.base.Preconditions.checkState(Preconditions.java:134) > at org.apache.jackrabbit.oak.plugins.segment.Segment.pos(Segment.java:194) > at > org.apache.jackrabbit.oak.plugins.segment.Segment.readRecordId(Segment.java:337) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:70) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:79) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:447) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.prepare(SegmentNodeStore.java:446) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.optimisticMerge(SegmentNodeStore.java:471) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.execute(SegmentNodeStore.java:527) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:205) > at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:247) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:341) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:487) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:424) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:268) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:421) > at > org.apache.jackrabbit.oak.jcr.observation.ObservationBusyTest$1.run(ObservationBusyTest.java:145) > ... 6 more > {noformat} > In addition, the TarMK flushing thread throws an {{OutOfMemoryError}}: > {noformat} > Exception in thread "TarMK flush thread > [/var/folders/zw/qns3kln16ld99frxtp263c8c0000gn/T/junit2925373080495354479], > active since Mon Jun 01 18:48:19 CEST 2015, previous max duration 302ms" > java.lang.OutOfMemoryError: Java heap space > at > org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.createNewBuffer(SegmentWriter.java:91) > at > org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:240) > at > org.apache.jackrabbit.oak.plugins.segment.file.FileStore.flush(FileStore.java:596) > at > org.apache.jackrabbit.oak.plugins.segment.file.FileStore$1.run(FileStore.java:411) > at java.lang.Thread.run(Thread.java:695) > at > org.apache.jackrabbit.oak.plugins.segment.file.BackgroundThread.run(BackgroundThread.java:70) > {noformat} > The attached test case {{ObservationBusyTest.java}} allows me to reproduce > consistently the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)