You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by "Furst, Carl" <Ca...@mlb.com> on 2012/06/22 23:03:20 UTC

OOM errors

Hey everyone,

So I deployed the jackrabbit 2.4.2 war onto Tomcat 6 and I'm trying to see
how effective RMI is working. It's not very effective is the what I hear.
Still, I'd like to test it. I'm using everything as out of the box and
when I try and load a bunch of stuff into the repository or traverse the
repository to get a sense of speed, I get a lot of OOM errors. I have my
heap settings as ­Xms1000m and ­Xmx2000m and the process is recorded as
reaching 2.19GB. Is there anyway to tune how much memory jackrabbit is
using? Are there configurations for Lucine or Derby that allows them to
not use so much?

The errors themselves seem mostly random, but they are all occurring with
Lucine.


Some samples are below. However, does anyone have any suggestions on how
to avoid this?

2012-06-22 15:45:02.057 ERROR [jackrabbit-pool-2] IndexMerger.java:569
Error while merging indexes:
java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:2882) ~[na:1.6.0_33]
        at java.lang.StringCoding.safeTrim(StringCoding.java:75) ~[na:1.6.0_33]
        at java.lang.StringCoding.access$100(StringCoding.java:34) ~[na:1.6.0_33]
        at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:151)
~[na:1.6.0_33]
        at java.lang.StringCoding.decode(StringCoding.java:173) ~[na:1.6.0_33]
        at java.lang.String.<init>(String.java:443) ~[na:1.6.0_33]
        at org.apache.lucene.store.IndexInput.readString(IndexInput.java:125)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.FieldsReader.addField(FieldsReader.java:379)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:239)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:943)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.lucene.index.DirectoryReader.document(DirectoryReader.java:533)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:1
61) ~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.jackrabbit.core.query.lucene.CachingIndexReader.document(Caching
IndexReader.java:279) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:1
61) ~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:1
61) ~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.IndexReader.document(IndexReader.java:658)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.lucene.index.SegmentMerger.copyFieldsNoDeletions(SegmentMerger.j
ava:438) ~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:342)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:155)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:132)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.IndexWriter.addIndexes(IndexWriter.java:3307)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.jackrabbit.core.query.lucene.PersistentIndex.addIndexes(Persiste
ntIndex.java:114) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.IndexMerger$Worker.run(IndexMerger.
java:526) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
[na:1.6.0_33]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[na:1.6.0_33]
        at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_33]
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access
$301(ScheduledThreadPoolExecutor.java:98) [na:1.6.0_33]
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Sc
heduledThreadPoolExecutor.java:206) [na:1.6.0_33]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j
ava:886) [na:1.6.0_33]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
908) [na:1.6.0_33]
        at java.lang.Thread.run(Thread.java:680) [na:1.6.0_33]


2012-06-22 15:52:58.113 ERROR [RMI TCP Connection(15)-10.75.8.113]
ObservationDispatcher.java:216 Synchronous EventConsumer threw exception.
java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOfRange(Arrays.java:3209) ~[na:1.6.0_33]
        at java.lang.String.<init>(String.java:215) ~[na:1.6.0_33]
        at java.lang.StringBuilder.toString(StringBuilder.java:430) ~[na:1.6.0_33]
        at
org.apache.jackrabbit.core.query.lucene.FieldNames.createNamedValue(FieldNa
mes.java:141) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.NodeIndexer.createFieldWithoutNorms
(NodeIndexer.java:539) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.NodeIndexer.addStringValue(NodeInde
xer.java:754) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.NodeIndexer.addValue(NodeIndexer.ja
va:376) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeIndexer.j
ava:259) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(SearchIn
dex.java:1208) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.SearchIndex.updateNodes(SearchIndex
.java:657) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.SearchManager.onEvent(SearchManager.java:408)
~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventCon
sumer.java:249) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents
(ObservationDispatcher.java:214) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventS
tateCollection.java:475) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedIt
emStateManager.java:801) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemSt
ateManager.java:1492) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStat
eManager.java:400) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManag
er.java:354) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStat
eManager.java:375) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItem
StateManager.java:275) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java
:258) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:2
16) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
~[jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329)
~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSave
Operation.java:64) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:2
16) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361)
~[jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:812)
~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.rmi.server.ServerSession.save(ServerSession.java:263)
 ~[jackrabbit-jcr-rmi-2.4.2.jar:na]
        at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) ~[na:na]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l.java:25) ~[na:1.6.0_33]
        at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_33]
Exception in thread "DynamicPooledExecutor" java.lang.OutOfMemoryError:
Java heap space
        at org.apache.lucene.util.UnicodeUtil.UTF16toUTF8(UnicodeUtil.java:236)
        at org.apache.lucene.store.IndexOutput.writeString(IndexOutput.java:103)
        at org.apache.lucene.index.FieldsWriter.writeField(FieldsWriter.java:200)
        at
org.apache.lucene.index.StoredFieldsWriterPerThread.addField(StoredFieldsWr
iterPerThread.java:58)
        at
org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocField
ProcessorPerThread.java:233)
        at
org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java
:826)
        at
org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:80
2)
        at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1998)
        at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1972)
        at
org.apache.jackrabbit.core.query.lucene.AbstractIndex$1.run(AbstractIndex.j
ava:199)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j
ava:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
908)
        at java.lang.Thread.run(Thread.java:680)


Exception in thread "DynamicPooledExecutor" java.lang.OutOfMemoryError:
Java heap space
Exception in thread "DynamicPooledExecutor" java.lang.OutOfMemoryError:
Java heap space
2012-06-22 16:33:23.779 ERROR [RMI TCP Connection(32)-10.75.8.113]
ObservationDispatcher.java:216 Synchronous EventConsumer threw exception.
java.lang.IllegalStateException: this writer hit an OutOfMemoryError;
cannot commit
        at
org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:3450)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3534)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3505)
~[lucene-core-3.0.3.jar:3.0.3 1039909 - 2010-11-28 19:08:19]
        at
org.apache.jackrabbit.core.query.lucene.AbstractIndex.commit(AbstractIndex.
java:386) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.VolatileIndex.commit(VolatileIndex.
java:142) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.PersistentIndex.copyIndex(Persisten
tIndex.java:128) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.MultiIndex$VolatileCommit.execute(M
ultiIndex.java:2123) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(MultiIndex
.java:1135) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(Mult
iIndex.java:1184) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.MultiIndex.checkVolatileCommit(Mult
iIndex.java:1158) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.MultiIndex.update(MultiIndex.java:4
47) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.query.lucene.SearchIndex.updateNodes(SearchIndex
.java:667) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.SearchManager.onEvent(SearchManager.java:408)
~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventCon
sumer.java:249) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents
(ObservationDispatcher.java:214) ~[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventS
tateCollection.java:475) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedIt
emStateManager.java:801) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemSt
ateManager.java:1492) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStat
eManager.java:400) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManag
er.java:354) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStat
eManager.java:375) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItem
StateManager.java:275) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java
:258) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:2
16) [jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
[jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329)
[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSave
Operation.java:64) [jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:2
16) [jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361)
[jackrabbit-core-2.4.2.jar:2.4.2]
        at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:812)
[jackrabbit-core-2.4.2.jar:2.4.2]
        at
org.apache.jackrabbit.rmi.server.ServerSession.save(ServerSession.java:263)
 [jackrabbit-jcr-rmi-2.4.2.jar:na]
        at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) ~[na:na]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l.java:25) ~[na:1.6.0_33]
        at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_33]
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
[na:1.6.0_33]
        at sun.rmi.transport.Transport$1.run(Transport.java:159) [na:1.6.0_33]
        at java.security.AccessController.doPrivileged(Native Method)
[na:1.6.0_33]
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
[na:1.6.0_33]
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
[na:1.6.0_33]
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java
:790) [na:1.6.0_33]
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:
649) [na:1.6.0_33]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j
ava:886) [na:1.6.0_33]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
908) [na:1.6.0_33]
        at java.lang.Thread.run(Thread.java:680) [na:1.6.0_33]









Carl Furst







**********************************************************

MLB.com: Where Baseball is Always On