[
https://issues.apache.org/jira/browse/OAK-2942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Davide Giannella updated OAK-2942:
----------------------------------
Fix Version/s: (was: 1.3.3)
1.3.4
Bulk move to 1.3.4
> 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.4
>
> 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)