Hi,
Is this a 32-bit or 64-bit JVM?
Could you try
ulimit -v unlimited
See
http://stackoverflow.com/questions/8892143/error-when-opening-a-lucene-index-map-failed
and possibly
http://stackoverflow.com/questions/11683850/how-much-memory-could-vm-use-in-linux
Regards,
Thomas
From: Geoffroy Schneck <[email protected]<mailto:[email protected]>>
Date: Friday 9 October 2015 16:01
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>, DL-tech
<[email protected]<mailto:[email protected]>>
Subject: [Oak] Lucene copyonread OOM
Hello Oak Experts,
On an Oak 1.2.4 version, OOM are thrown quite regularly by the copyonread
feature , see below.
However, the system where it runs, has 32GB total, and JVM –Xmx settings set to
12G . The JVM memory settings are the following :
-Xms12288m -Xmx12288m -XX:MaxMetaspaceSize=512m -XX:MaxPermSize=512M
-XX:ReservedCodeCacheSize=96m
We have to assume, the repository size is huge (but unknown to me at that
moment).
- Where does the Lucene copyonread feature use the memory from ?
off-heap memory of JVM allocated memory ?
- Are there additional memory settings to increase for this specific
feature ? Or one of the above seems unsufficient ?
Thanks,
09.10.2015 09:52:42.439 *ERROR* [pool-5-thread-28]
org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker Failed to open
Lucene index at /oak:index/lucene
java.io.IOException: Map failed
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:907)
at org.apache.lucene.store.MMapDirectory.map(MMapDirectory.java:283)
at
org.apache.lucene.store.MMapDirectory$MMapIndexInput.<init>(MMapDirectory.java:228)
at org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:195)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier$CopyOnReadDirectory$FileReference.openLocalInput(IndexCopier.java:382)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier$CopyOnReadDirectory.openInput(IndexCopier.java:227)
at
org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsReader.<init>(Lucene40StoredFieldsReader.java:82)
at
org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsFormat.fieldsReader(Lucene40StoredFieldsFormat.java:91)
at
org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:129)
at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:96)
at
org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:62)
at
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:843)
at
org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:52)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:66)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexNode.<init>(IndexNode.java:94)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexNode.open(IndexNode.java:62)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker$1.leave(IndexTracker.java:98)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:153)
at
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:487)
at
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compareBranch(MapRecord.java:565)
at
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:470)
at
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148)
at
org.apache.jackrabbit.oak.plugins.segment.MapRecord$3.childNodeChanged(MapRecord.java:444)
at
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:487)
at
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:436)
at
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:52)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.update(IndexTracker.java:108)
at
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider.contentChanged(LuceneIndexProvider.java:69)
at
org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:125)
at
org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:119)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.OutOfMemoryError: Map failed
at sun.nio.ch.FileChannelImpl.map0(Native Method)
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:904)
... 35 common frames omitted
09.10.2015 09:52:42.439 *WARN* [pool-5-thread-70]
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier Error occurred while
copying file [segments_nw] from OakDirectory@5aaa07ea
lockFactory=org.apache.lucene.store.NoLockFactory@b1401e5 to
MMapDirectory@/srv/jas/data/mapcms/cma0/CQ/prod0/repository/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/1
lockFactory=NativeFSLockFactory@/srv/jas/data/mapcms/cma0/CQ/prod0/repository/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/1
java.io.FileNotFoundException: segments_nw
at
org.apache.jackrabbit.oak.plugins.index.lucene.OakDirectory.openInput(OakDirectory.java:115)
at org.apache.lucene.store.Directory.copy(Directory.java:185)
at
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier$CopyOnReadDirectory$1.run(IndexCopier.java:249)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[cid:[email protected]]
Geoffroy Schneck
Program manager – Team Lead
Marketing Cloud Customer Care
T: +41 61 226 55 70
M: +41 79 207 45 04
email: [email protected]<mailto:[email protected]>
Barfuesserplatz 6
CH-4001 Basel, Switzerland
www.adobe.com<http://www.adobe.com/>
[cid:[email protected]]
For CQ support and tips, follow us on Twitter:
@AdobeMktgCare<https://twitter.com/AdobeMktgCare>