[
https://issues.apache.org/jira/browse/OAK-2942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14631029#comment-14631029
]
Alex Parvulescu commented on OAK-2942:
--------------------------------------
bq. Should we resolve this issue as cannot reproduce?
yes, sure!
if you have some time, it would be nice to try to track down what fixed this so
we can link to it, probably using some sort of reverse 'git blame' :)
> 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
> Labels: resilience
> Fix For: 1.3.3
>
> 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)