You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Neil Lott <ne...@yahoo.com> on 2010/02/27 01:22:02 UTC

Oracle 10g and Jackrabbit

Hi,

I'm having trouble inserting more than 2450 or so nodes underneath one parent node.  I'm using oracle persistence and jackrabbit-2.0.0.

It looks like the issue is happening between here these log messages.

	2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
	2010-02-26 17:10:02,450 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 9d35fed4-47b1-4462-b88d-4a2d579b2161

I've read:

	http://n4.nabble.com/Explanation-and-solutions-of-some-Jackrabbit-queries-regarding-performance-td516614.html#a516614

but limiting child node sizes to 4000 seems a bit odd.  I need to store 1.7 million nodes at the very least underneath a given parent.

Would someone provide some pointers if possible?

Thanks,

Neil





Full log:

2010-02-26 17:09:57,585 DEBUG [main] (JackRabbitProgram.addProgram:56) - Adding program [Program{UUID='null', name='EP2586',....]
2010-02-26 17:09:57,585 TRACE [main] (TraceLogger.logBefore:48) - Before public org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom()
2010-02-26 17:09:57,601 TRACE [main] (TraceLogger.logAfterReturning:55) - AfterReturning public org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom() returning org.jcrom.Jcrom@11ba3c1f 
2010-02-26 17:09:57,602 DEBUG [main] (ProgramDAOJCR.createParentNode:108) - Root node [/Program] already exists.
2010-02-26 17:09:57,602 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f
2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}primaryType
2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}mixinTypes
2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}uuid
2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 67004716-ec8d-4013-aca2-045cb5d057a2
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 67004716-ec8d-4013-aca2-045cb5d057a2/{http://www.jcp.org/jcr/1.0}primaryType
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsSeriesID
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.itemDestroyed:1001) - destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.evictItems:918) - removing items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID from cache
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsProgramID
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}description
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}programType
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}rating
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}title
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.itemDestroyed:1001) - destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
2010-02-26 17:09:57,608 DEBUG [main] (ItemManager.evictItems:918) - removing items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images from cache
2010-02-26 17:09:57,601 DEBUG [ObservationManager] (ObservationDispatcher.run:156) - got EventStateCollection
2010-02-26 17:09:57,609 DEBUG [ObservationManager] (ObservationDispatcher.run:157) - event delivery to 0 consumers started...
2010-02-26 17:09:57,609 DEBUG [ObservationManager] (ObservationDispatcher.run:168) - event delivery finished.
2010-02-26 17:09:57,710  INFO [main] (LRUNodeIdCache.contains:70) - num=179/10240 hits=1823 miss=2298177
2010-02-26 17:10:01,352 DEBUG [Timer-1] (MultiIndex.checkFlush:1281) - Flushing index after being idle for 3769 ms.
2010-02-26 17:10:01,356 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: setInfoStream deletionPolicy=org.apache.lucene.index.KeepOnlyLastCommitDeletionPolicy@462f654
2010-02-26 17:10:01,356 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: setInfoStream: dir=org.apache.lucene.store.RAMDirectory@325a92d5 autoCommit=false mergePolicy=org.apache.lucene.index.LogByteSizeMergePolicy@7d1a070b mergeScheduler=org.apache.lucene.index.ConcurrentMergeScheduler@37c4a357 ramBufferSizeMB=16.0 maxBufferedDocs=-1 maxBuffereDeleteTerms=-1 maxFieldLength=10000 index=
2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - Inverted document in 3 ms
2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - Inverted document in 1 ms
2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.commit:380) - committing IndexWriter.
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: start
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: now prepare
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: prepareCommit: flush
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=_0 docStoreSegment=_0 docStoreOffset=0 flushDocs=true flushDeletes=true flushDocStores=true numDocs=2 numBufDelTerms=0
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush 
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: flush postings as segment _0 numDocs=2
2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: closeDocStore: 5 files to flush to segment _0 numDocs=2
2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW:   oldRAMSize=223232 newFlushedSize=1493 docs/MB=1,404.656 new/old=0.669%
2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_1" [1 segments ; isCommit = false]
2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_1" [1 segments ; isCommit = false]
2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fnm"
2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.frq"
2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.prx"
2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tis"
2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tii"
2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.nrm"
2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvx"
2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvf"
2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvd"
2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdx"
2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdt"
2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP: findMerges: 1 segments
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP:   level -1.0 to 3.3818367: 1 segments
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit(): start sizeInBytes=0
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit index=_0:c2 changeCount=3
2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now sync _0.cfs
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: done all syncs
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: pendingCommit != null
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_2" [1 segments ; isCommit = true]
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: deleteCommits: now decRef commit "segments_1"
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "segments_1"
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: optimize: index now _0:c2
2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush _0:c2
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now flush at close
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush _0:c2
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now call final commit()
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit(): start sizeInBytes=0
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   skip startCommit(): no changes pending
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: pendingCommit == null; skip
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: at close: _0:c2
2010-02-26 17:10:01,394 DEBUG [Timer-1] (IndexMerger.indexAdded:170) - index added: name=_3b, numDocs=2
2010-02-26 17:10:01,395 DEBUG [Timer-1] (MultiIndex.commitVolatileIndex:1178) - Committed in-memory index in 43ms.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:155) - Writing IndexInfos indexes_2w
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1:4
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _2:2
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3:2
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _4:2
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _5:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _6:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _7:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1v:1
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3a:1
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3b:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexHistory.pruneOutdated:133) - Pruning index infos older than: 1267229401413(org.apache.jackrabbit.core.query.lucene.directory.FSDirectoryManager$FSDir@org.apache.lucene.store.FSDirectory@/Users/neil/Business/SnowyRangeConsulting/projects/twc/depot/server/releases/prelude/components/nationalmetadata/target/nationalmetadata-1.0.0.0-nationalmetadata/usr/local/prelude/components/nationalmetadata/jackrabbit/server/workspaces/default/index)
2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:138) - Skipping first index infos. generation=104
2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:156) - Deleted redo log with generation=103, timestamp=1267229401000
2010-02-26 17:10:01,415 DEBUG [Timer-1] (IndexHistory.pruneOutdated:166) - Deleted index infos with generation=103
2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
2010-02-26 17:10:02,450 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 9d35fed4-47b1-4462-b88d-4a2d579b2161
2010-02-26 17:10:02,451 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 67004716-ec8d-4013-aca2-045cb5d057a2
2010-02-26 17:10:02,453 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 80925a14-4a53-4d66-80b7-3c3b0481377f
2010-02-26 17:10:02,490 DEBUG [main] (SharedItemStateManager$Update.end:738) - persisting change log {#addedStates=12, #modifiedStates=1, #deletedStates=0, #modifiedRefs=0} took 92ms
2010-02-26 17:10:02,491 DEBUG [main] (ObservationDispatcher.dispatchEvents:210) - notifying 4 synchronous listeners.
2010-02-26 17:10:02,491 DEBUG [main] (EventConsumer.consumeEvents:249) - listener org.apache.jackrabbit.core.lock.LockManagerImpl processed events in 0 ms.
2010-02-26 17:10:02,492 DEBUG [main] (SearchManager.onEvent:327) - onEvent: indexing started
2010-02-26 17:10:02,493 DEBUG [main] (SearchManager.onEvent:429) - onEvent: indexing finished in 1 ms.
2010-02-26 17:10:02,494 DEBUG [main] (EventConsumer.consumeEvents:249) - listener org.apache.jackrabbit.core.SearchManager processed events in 2 ms.
2010-02-26 17:10:02,494 DEBUG [main] (JackRabbitProgram.addProgram:62) - Added program 



Here is my repository.xml file:

<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<!--
<!DOCTYPE Repository
          PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
          "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
-->

<!-- Example Repository Configuration File
     Used by
     - org.apache.jackrabbit.core.config.RepositoryConfigTest.java
     -
-->
<Repository>
    <!--
        virtual file system where the repository stores global state
        (e.g. registered namespaces, custom node types, etc.)
    -->
    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
        <param name="path" value="${rep.home}/repository"/>
    </FileSystem>

    <!--
        data store configuration
    --> 
     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="driver" value="oracle.jdbc.OracleDriver"/>
        <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
        <param name="user" value="neil"/>
        <param name="password" value="neil"/>
        <param name="tablePrefix" value=""/>
        <param name="schemaObjectPrefix" value=""/>
        <param name="databaseType" value="oracle"/>
        <param name="minRecordLength" value="1024"/>
        <param name="maxConnections" value="20"/>
        <param name="copyWhenReading" value="true"/>
    </DataStore>

    <!--
        security configuration
    -->
    <Security appName="Jackrabbit">
        <!--
            security manager:
            class: FQN of class implementing the JackrabbitSecurityManager interface
        -->
        <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
                         workspaceName="security">
            <!--
            workspace access:
            class: FQN of class implementing the WorkspaceAccessManager interface
            -->
            <!-- <WorkspaceAccessManager class="..."/> -->
            <!-- <param name="config" value="${rep.home}/security.xml"/> -->
        </SecurityManager>

        <!--
            access manager:
            class: FQN of class implementing the AccessManager interface
        -->
        <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager">
            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
        </AccessManager>

        <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
            <!--
              anonymous user name ('anonymous' is the default value)
            -->
            <param name="anonymousId" value="anonymous"/>
            <!--
              administrator user id (default value if param is missing is 'admin')
            -->
            <param name="adminId" value="admin"/>
        </LoginModule>
    </Security>

    <!--
        location of workspaces root directory and name of default workspace
    -->
    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
    <!--
        workspace configuration template:
        used to create the initial workspace if there's no workspace yet
    -->
    <Workspace name="${wsp.name}">
        <!--
            virtual file system of the workspace:
            class: FQN of class implementing the FileSystem interface
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
           <param name="driver" value="oracle.jdbc.OracleDriver"/>
           <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
           <param name="user" value="neil"/>
           <param name="password" value="neil"/>
           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
        </FileSystem>
        <!--
            persistence manager of the workspace:
            class: FQN of class implementing the PersistenceManager interface
        -->

        <!-- http://wiki.magnolia-cms.com/display/WIKI/Changing+Jackrabbit+PersistenceManager -->

        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
            <param name="driver" value="oracle.jdbc.OracleDriver"/>
            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
            <param name="schema" value="oracle"/>
            <!-- warning, this is not the schema name, it's the db type -->
            <param name="user" value="neil"/>
            <param name="password" value="neil"/>
            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>

        <!--
            Search index and the file system it uses.
            class: FQN of class implementing the QueryHandler interface
        -->
        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
            <param name="supportHighlighting" value="true"/>
            <param name="respectDocumentOrder" value="false"/>
        </SearchIndex>
    </Workspace>

    <!--
        Configures the versioning
    -->
    <Versioning rootPath="${rep.home}/version">
        <!--
            Configures the filesystem to use for versioning for the respective
            persistence manager
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${rep.home}/version"/>
        </FileSystem>

        <!--
            Configures the persistence manager to be used for persisting version state.
            Please note that the current versioning implementation is based on
            a 'normal' persistence manager, but this could change in future
            implementations.
        -->

        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
            <param name="driver" value="oracle.jdbc.OracleDriver"/>
            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
            <param name="schema" value="oracle"/>
            <!-- warning, this is not the schema name, it's the db type -->
            <param name="user" value="neil"/>
            <param name="password" value="neil"/>
            <param name="schemaObjectPrefix" value="version_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>

    </Versioning>


    <!--
        Search index for content that is shared repository wide
        (/jcr:system tree, contains mainly versions)
    -->
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${rep.home}/repository/index"/>
        <param name="supportHighlighting" value="true"/>
        <param name="respectDocumentOrder" value="false"/>
    </SearchIndex>
</Repository>


Re: Oracle 10g and Jackrabbit

Posted by Neil Lott <ne...@yahoo.com>.
So I downloaded the branch and changed the bundleCacheSize to 50MB as I couldn't find a way to configure this value via xml.

Its now working and I got past my 2500 mark with no problem.

I'm curious why the choice was made to use this cache and why wouldn't we be allowed to disable it?

Thanks,

Neil


On Feb 26, 2010, at 9:49 PM, Neil Lott wrote:

> It still doesn't make sense as it looks like the BundleCache is the gating factor.
> 
> 2010-02-26 21:22:08,534 DEBUG [main] (ItemManager.cacheItem:904) - caching item bb67f961-70b9-4014-978c-e557e113c1d8/{}title
> 2010-02-26 21:22:08,538  INFO [main] (BundleCache.get:106) - num=1972 mem=8111k max=8192k avg=4212 hits=2007848 miss=2152
> 2010-02-26 21:22:08,540 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle bb67f961-70b9-4014-978c-e557e113c1d8
> 
> 2010-02-26 21:22:09,245 DEBUG [main] (ItemManager.cacheItem:904) - caching item 0c5e9c05-1ee9-414f-a092-a9ce918843be/{}title
> 2010-02-26 21:22:09,282  INFO [main] (BundleCache.get:106) - num=1972 mem=8113k max=8192k avg=4212 hits=2017848 miss=2152
> 2010-02-26 21:22:09,391 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle 0c5e9c05-1ee9-414f-a092-a9ce918843be
> 
> 2010-02-26 21:22:23,592 DEBUG [main] (ItemManager.cacheItem:904) - caching item b3998a96-e37d-4124-8e02-7963d624ad9e/{http://www.jcp.org/jcr/1.0}primaryType
> 2010-02-26 21:22:25,534  INFO [main] (BundleCache.get:106) - num=1991 mem=8189k max=8192k avg=4212 hits=2018497 miss=11503
> 2010-02-26 21:22:26,941 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle 0992c129-2ffa-4c04-89d4-ab9a5de4694c
> 
> 2010-02-26 21:22:33,966 DEBUG [main] (ItemManager.cacheItem:904) - caching item b84d2a5b-9e67-4817-8494-8c7daf4a322b/{}title
> 2010-02-26 21:22:37,313 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle 7f103008-bdf9-4d47-861b-c14216776537
> 
> 2010-02-26 21:22:41,198 DEBUG [main] (ItemManager.cacheItem:904) - caching item 6229608f-7e07-422c-9ccf-57befc6da0d6/{}title
> 2010-02-26 21:22:42,779  INFO [main] (BundleCache.get:106) - num=1991 mem=8191k max=8192k avg=4212 hits=2018497 miss=21503
> 2010-02-26 21:22:44,383 DEBUG [Timer-1] (MultiIndex.checkFlush:1281) - Flushing index after being idle for 3241 ms.
> 
> So why is it necessary to have this BundleCache?  I tried configuring it and it doesn't pick up my changes?  Are there alternatives?
> 
> Thanks,
> 
> Neil
> 
> On Feb 26, 2010, at 5:56 PM, Rakesh Vidyadharan wrote:
> 
>> 
>> On 26 Feb 2010, at 18:52, Neil Lott wrote:
>> 
>>> Thanks Justin,
>>> 
>>> Even though I can add more that 2450 nodes each time I add a node its really slow after that number.  What would you suggest for troubleshooting this further?
>>> 
>>> Neil
>> 
>> It is going to get slower as the number of child nodes grow.  Your only option with JR is to partition your tree.  I had run into this issue as well a while ago (although I had only around 10K under a parent node), and took the usual recommendation of partitioning the tree.  Performance increased drastically after that.
>> 
>> Rakesh
> 


Re: Oracle 10g and Jackrabbit

Posted by Neil Lott <ne...@yahoo.com>.
It still doesn't make sense as it looks like the BundleCache is the gating factor.

2010-02-26 21:22:08,534 DEBUG [main] (ItemManager.cacheItem:904) - caching item bb67f961-70b9-4014-978c-e557e113c1d8/{}title
2010-02-26 21:22:08,538  INFO [main] (BundleCache.get:106) - num=1972 mem=8111k max=8192k avg=4212 hits=2007848 miss=2152
2010-02-26 21:22:08,540 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle bb67f961-70b9-4014-978c-e557e113c1d8

2010-02-26 21:22:09,245 DEBUG [main] (ItemManager.cacheItem:904) - caching item 0c5e9c05-1ee9-414f-a092-a9ce918843be/{}title
2010-02-26 21:22:09,282  INFO [main] (BundleCache.get:106) - num=1972 mem=8113k max=8192k avg=4212 hits=2017848 miss=2152
2010-02-26 21:22:09,391 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle 0c5e9c05-1ee9-414f-a092-a9ce918843be

2010-02-26 21:22:23,592 DEBUG [main] (ItemManager.cacheItem:904) - caching item b3998a96-e37d-4124-8e02-7963d624ad9e/{http://www.jcp.org/jcr/1.0}primaryType
2010-02-26 21:22:25,534  INFO [main] (BundleCache.get:106) - num=1991 mem=8189k max=8192k avg=4212 hits=2018497 miss=11503
2010-02-26 21:22:26,941 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle 0992c129-2ffa-4c04-89d4-ab9a5de4694c

2010-02-26 21:22:33,966 DEBUG [main] (ItemManager.cacheItem:904) - caching item b84d2a5b-9e67-4817-8494-8c7daf4a322b/{}title
2010-02-26 21:22:37,313 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:684) - stored bundle 7f103008-bdf9-4d47-861b-c14216776537

2010-02-26 21:22:41,198 DEBUG [main] (ItemManager.cacheItem:904) - caching item 6229608f-7e07-422c-9ccf-57befc6da0d6/{}title
2010-02-26 21:22:42,779  INFO [main] (BundleCache.get:106) - num=1991 mem=8191k max=8192k avg=4212 hits=2018497 miss=21503
2010-02-26 21:22:44,383 DEBUG [Timer-1] (MultiIndex.checkFlush:1281) - Flushing index after being idle for 3241 ms.

So why is it necessary to have this BundleCache?  I tried configuring it and it doesn't pick up my changes?  Are there alternatives?

Thanks,

Neil

On Feb 26, 2010, at 5:56 PM, Rakesh Vidyadharan wrote:

> 
> On 26 Feb 2010, at 18:52, Neil Lott wrote:
> 
>> Thanks Justin,
>> 
>> Even though I can add more that 2450 nodes each time I add a node its really slow after that number.  What would you suggest for troubleshooting this further?
>> 
>> Neil
> 
> It is going to get slower as the number of child nodes grow.  Your only option with JR is to partition your tree.  I had run into this issue as well a while ago (although I had only around 10K under a parent node), and took the usual recommendation of partitioning the tree.  Performance increased drastically after that.
> 
> Rakesh


Re: Oracle 10g and Jackrabbit

Posted by Rakesh Vidyadharan <ra...@sptci.com>.
On 26 Feb 2010, at 18:52, Neil Lott wrote:

> Thanks Justin,
> 
> Even though I can add more that 2450 nodes each time I add a node its really slow after that number.  What would you suggest for troubleshooting this further?
> 
> Neil

It is going to get slower as the number of child nodes grow.  Your only option with JR is to partition your tree.  I had run into this issue as well a while ago (although I had only around 10K under a parent node), and took the usual recommendation of partitioning the tree.  Performance increased drastically after that.

Rakesh

Re: Oracle 10g and Jackrabbit

Posted by Neil Lott <ne...@yahoo.com>.
Thanks Justin,

Even though I can add more that 2450 nodes each time I add a node its really slow after that number.  What would you suggest for troubleshooting this further?

Neil


On Feb 26, 2010, at 5:36 PM, Justin Edelson wrote:

> On 2/26/10 7:22 PM, Neil Lott wrote:
>> Hi,
>> 
>> I'm having trouble inserting more than 2450 or so nodes underneath one parent node.  I'm using oracle persistence and jackrabbit-2.0.0.
>> 
> Nothing in the log below indicates what kind of "trouble" you're having.
> That'd probably be useful. Jackrabbit definitely shouldn't stop you from
> adding all these nodes. But... (continued below)
> 
>> It looks like the issue is happening between here these log messages.
>> 
>> 	2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
>> 	2010-02-26 17:10:02,450 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 9d35fed4-47b1-4462-b88d-4a2d579b2161
>> 
>> I've read:
>> 
>> 	http://n4.nabble.com/Explanation-and-solutions-of-some-Jackrabbit-queries-regarding-performance-td516614.html#a516614
>> 
>> but limiting child node sizes to 4000 seems a bit odd.  I need to store 1.7 million nodes at the very least underneath a given parent.
>> 
>> Would someone provide some pointers if possible?
> Don't have 1.7 million nodes under a single parent. Jackrabbit will not
> perform well. See https://issues.apache.org/jira/browse/JCR-642 for
> discussion. You also might want to read this recent thread about
> possibly improving this in Jackrabbit 3:
> http://markmail.org/thread/v2wl5nh43zf2shkp
> 
> Justin
> 
>> 
>> Thanks,
>> 
>> Neil
>> 
>> 
>> 
>> 
>> 
>> Full log:
>> 
>> 2010-02-26 17:09:57,585 DEBUG [main] (JackRabbitProgram.addProgram:56) - Adding program [Program{UUID='null', name='EP2586',....]
>> 2010-02-26 17:09:57,585 TRACE [main] (TraceLogger.logBefore:48) - Before public org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom()
>> 2010-02-26 17:09:57,601 TRACE [main] (TraceLogger.logAfterReturning:55) - AfterReturning public org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom() returning org.jcrom.Jcrom@11ba3c1f 
>> 2010-02-26 17:09:57,602 DEBUG [main] (ProgramDAOJCR.createParentNode:108) - Root node [/Program] already exists.
>> 2010-02-26 17:09:57,602 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f
>> 2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}primaryType
>> 2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}mixinTypes
>> 2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}uuid
>> 2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 67004716-ec8d-4013-aca2-045cb5d057a2
>> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 67004716-ec8d-4013-aca2-045cb5d057a2/{http://www.jcp.org/jcr/1.0}primaryType
>> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsSeriesID
>> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
>> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.itemDestroyed:1001) - destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
>> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.evictItems:918) - removing items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID from cache
>> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsProgramID
>> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}description
>> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}programType
>> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}rating
>> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}title
>> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
>> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.itemDestroyed:1001) - destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
>> 2010-02-26 17:09:57,608 DEBUG [main] (ItemManager.evictItems:918) - removing items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images from cache
>> 2010-02-26 17:09:57,601 DEBUG [ObservationManager] (ObservationDispatcher.run:156) - got EventStateCollection
>> 2010-02-26 17:09:57,609 DEBUG [ObservationManager] (ObservationDispatcher.run:157) - event delivery to 0 consumers started...
>> 2010-02-26 17:09:57,609 DEBUG [ObservationManager] (ObservationDispatcher.run:168) - event delivery finished.
>> 2010-02-26 17:09:57,710  INFO [main] (LRUNodeIdCache.contains:70) - num=179/10240 hits=1823 miss=2298177
>> 2010-02-26 17:10:01,352 DEBUG [Timer-1] (MultiIndex.checkFlush:1281) - Flushing index after being idle for 3769 ms.
>> 2010-02-26 17:10:01,356 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: setInfoStream deletionPolicy=org.apache.lucene.index.KeepOnlyLastCommitDeletionPolicy@462f654
>> 2010-02-26 17:10:01,356 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: setInfoStream: dir=org.apache.lucene.store.RAMDirectory@325a92d5 autoCommit=false mergePolicy=org.apache.lucene.index.LogByteSizeMergePolicy@7d1a070b mergeScheduler=org.apache.lucene.index.ConcurrentMergeScheduler@37c4a357 ramBufferSizeMB=16.0 maxBufferedDocs=-1 maxBuffereDeleteTerms=-1 maxFieldLength=10000 index=
>> 2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - Inverted document in 3 ms
>> 2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - Inverted document in 1 ms
>> 2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.commit:380) - committing IndexWriter.
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: start
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: now prepare
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: prepareCommit: flush
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=_0 docStoreSegment=_0 docStoreOffset=0 flushDocs=true flushDeletes=true flushDocStores=true numDocs=2 numBufDelTerms=0
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush 
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: flush postings as segment _0 numDocs=2
>> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: closeDocStore: 5 files to flush to segment _0 numDocs=2
>> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW:   oldRAMSize=223232 newFlushedSize=1493 docs/MB=1,404.656 new/old=0.669%
>> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_1" [1 segments ; isCommit = false]
>> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_1" [1 segments ; isCommit = false]
>> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fnm"
>> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.frq"
>> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.prx"
>> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tis"
>> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tii"
>> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.nrm"
>> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvx"
>> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvf"
>> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvd"
>> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdx"
>> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdt"
>> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP: findMerges: 1 segments
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP:   level -1.0 to 3.3818367: 1 segments
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit(): start sizeInBytes=0
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit index=_0:c2 changeCount=3
>> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now sync _0.cfs
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: done all syncs
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: pendingCommit != null
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_2" [1 segments ; isCommit = true]
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: deleteCommits: now decRef commit "segments_1"
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "segments_1"
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: optimize: index now _0:c2
>> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush _0:c2
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now flush at close
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
>> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush _0:c2
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now call final commit()
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit(): start sizeInBytes=0
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   skip startCommit(): no changes pending
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: pendingCommit == null; skip
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
>> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: at close: _0:c2
>> 2010-02-26 17:10:01,394 DEBUG [Timer-1] (IndexMerger.indexAdded:170) - index added: name=_3b, numDocs=2
>> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (MultiIndex.commitVolatileIndex:1178) - Committed in-memory index in 43ms.
>> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
>> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:155) - Writing IndexInfos indexes_2w
>> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1:4
>> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _2:2
>> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3:2
>> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _4:2
>> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _5:2
>> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _6:2
>> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _7:2
>> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1v:1
>> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3a:1
>> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3b:2
>> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexHistory.pruneOutdated:133) - Pruning index infos older than: 1267229401413(org.apache.jackrabbit.core.query.lucene.directory.FSDirectoryManager$FSDir@org.apache.lucene.store.FSDirectory@/Users/neil/Business/SnowyRangeConsulting/projects/twc/depot/server/releases/prelude/components/nationalmetadata/target/nationalmetadata-1.0.0.0-nationalmetadata/usr/local/prelude/components/nationalmetadata/jackrabbit/server/workspaces/default/index)
>> 2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:138) - Skipping first index infos. generation=104
>> 2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:156) - Deleted redo log with generation=103, timestamp=1267229401000
>> 2010-02-26 17:10:01,415 DEBUG [Timer-1] (IndexHistory.pruneOutdated:166) - Deleted index infos with generation=103
>> 2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
>> 2010-02-26 17:10:02,450 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 9d35fed4-47b1-4462-b88d-4a2d579b2161
>> 2010-02-26 17:10:02,451 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 67004716-ec8d-4013-aca2-045cb5d057a2
>> 2010-02-26 17:10:02,453 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 80925a14-4a53-4d66-80b7-3c3b0481377f
>> 2010-02-26 17:10:02,490 DEBUG [main] (SharedItemStateManager$Update.end:738) - persisting change log {#addedStates=12, #modifiedStates=1, #deletedStates=0, #modifiedRefs=0} took 92ms
>> 2010-02-26 17:10:02,491 DEBUG [main] (ObservationDispatcher.dispatchEvents:210) - notifying 4 synchronous listeners.
>> 2010-02-26 17:10:02,491 DEBUG [main] (EventConsumer.consumeEvents:249) - listener org.apache.jackrabbit.core.lock.LockManagerImpl processed events in 0 ms.
>> 2010-02-26 17:10:02,492 DEBUG [main] (SearchManager.onEvent:327) - onEvent: indexing started
>> 2010-02-26 17:10:02,493 DEBUG [main] (SearchManager.onEvent:429) - onEvent: indexing finished in 1 ms.
>> 2010-02-26 17:10:02,494 DEBUG [main] (EventConsumer.consumeEvents:249) - listener org.apache.jackrabbit.core.SearchManager processed events in 2 ms.
>> 2010-02-26 17:10:02,494 DEBUG [main] (JackRabbitProgram.addProgram:62) - Added program 
>> 
>> 
>> 
>> Here is my repository.xml file:
>> 
>> <?xml version="1.0"?>
>> <!--
>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>   contributor license agreements.  See the NOTICE file distributed with
>>   this work for additional information regarding copyright ownership.
>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>   (the "License"); you may not use this file except in compliance with
>>   the License.  You may obtain a copy of the License at
>> 
>>       http://www.apache.org/licenses/LICENSE-2.0
>> 
>>   Unless required by applicable law or agreed to in writing, software
>>   distributed under the License is distributed on an "AS IS" BASIS,
>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>   See the License for the specific language governing permissions and
>>   limitations under the License.
>> -->
>> 
>> <!--
>> <!DOCTYPE Repository
>>          PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
>>          "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
>> -->
>> 
>> <!-- Example Repository Configuration File
>>     Used by
>>     - org.apache.jackrabbit.core.config.RepositoryConfigTest.java
>>     -
>> -->
>> <Repository>
>>    <!--
>>        virtual file system where the repository stores global state
>>        (e.g. registered namespaces, custom node types, etc.)
>>    -->
>>    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>        <param name="path" value="${rep.home}/repository"/>
>>    </FileSystem>
>> 
>>    <!--
>>        data store configuration
>>    --> 
>>     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>        <param name="driver" value="oracle.jdbc.OracleDriver"/>
>>        <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>>        <param name="user" value="neil"/>
>>        <param name="password" value="neil"/>
>>        <param name="tablePrefix" value=""/>
>>        <param name="schemaObjectPrefix" value=""/>
>>        <param name="databaseType" value="oracle"/>
>>        <param name="minRecordLength" value="1024"/>
>>        <param name="maxConnections" value="20"/>
>>        <param name="copyWhenReading" value="true"/>
>>    </DataStore>
>> 
>>    <!--
>>        security configuration
>>    -->
>>    <Security appName="Jackrabbit">
>>        <!--
>>            security manager:
>>            class: FQN of class implementing the JackrabbitSecurityManager interface
>>        -->
>>        <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
>>                         workspaceName="security">
>>            <!--
>>            workspace access:
>>            class: FQN of class implementing the WorkspaceAccessManager interface
>>            -->
>>            <!-- <WorkspaceAccessManager class="..."/> -->
>>            <!-- <param name="config" value="${rep.home}/security.xml"/> -->
>>        </SecurityManager>
>> 
>>        <!--
>>            access manager:
>>            class: FQN of class implementing the AccessManager interface
>>        -->
>>        <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager">
>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>        </AccessManager>
>> 
>>        <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
>>            <!--
>>              anonymous user name ('anonymous' is the default value)
>>            -->
>>            <param name="anonymousId" value="anonymous"/>
>>            <!--
>>              administrator user id (default value if param is missing is 'admin')
>>            -->
>>            <param name="adminId" value="admin"/>
>>        </LoginModule>
>>    </Security>
>> 
>>    <!--
>>        location of workspaces root directory and name of default workspace
>>    -->
>>    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
>>    <!--
>>        workspace configuration template:
>>        used to create the initial workspace if there's no workspace yet
>>    -->
>>    <Workspace name="${wsp.name}">
>>        <!--
>>            virtual file system of the workspace:
>>            class: FQN of class implementing the FileSystem interface
>>        -->
>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
>>           <param name="driver" value="oracle.jdbc.OracleDriver"/>
>>           <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>>           <param name="user" value="neil"/>
>>           <param name="password" value="neil"/>
>>           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>        </FileSystem>
>>        <!--
>>            persistence manager of the workspace:
>>            class: FQN of class implementing the PersistenceManager interface
>>        -->
>> 
>>        <!-- http://wiki.magnolia-cms.com/display/WIKI/Changing+Jackrabbit+PersistenceManager -->
>> 
>>        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
>>            <param name="driver" value="oracle.jdbc.OracleDriver"/>
>>            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>>            <param name="schema" value="oracle"/>
>>            <!-- warning, this is not the schema name, it's the db type -->
>>            <param name="user" value="neil"/>
>>            <param name="password" value="neil"/>
>>            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>            <param name="externalBLOBs" value="false"/>
>>        </PersistenceManager>
>> 
>>        <!--
>>            Search index and the file system it uses.
>>            class: FQN of class implementing the QueryHandler interface
>>        -->
>>        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>            <param name="path" value="${wsp.home}/index"/>
>>            <param name="supportHighlighting" value="true"/>
>>            <param name="respectDocumentOrder" value="false"/>
>>        </SearchIndex>
>>    </Workspace>
>> 
>>    <!--
>>        Configures the versioning
>>    -->
>>    <Versioning rootPath="${rep.home}/version">
>>        <!--
>>            Configures the filesystem to use for versioning for the respective
>>            persistence manager
>>        -->
>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>            <param name="path" value="${rep.home}/version"/>
>>        </FileSystem>
>> 
>>        <!--
>>            Configures the persistence manager to be used for persisting version state.
>>            Please note that the current versioning implementation is based on
>>            a 'normal' persistence manager, but this could change in future
>>            implementations.
>>        -->
>> 
>>        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
>>            <param name="driver" value="oracle.jdbc.OracleDriver"/>
>>            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>>            <param name="schema" value="oracle"/>
>>            <!-- warning, this is not the schema name, it's the db type -->
>>            <param name="user" value="neil"/>
>>            <param name="password" value="neil"/>
>>            <param name="schemaObjectPrefix" value="version_"/>
>>            <param name="externalBLOBs" value="false"/>
>>        </PersistenceManager>
>> 
>>    </Versioning>
>> 
>> 
>>    <!--
>>        Search index for content that is shared repository wide
>>        (/jcr:system tree, contains mainly versions)
>>    -->
>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>        <param name="path" value="${rep.home}/repository/index"/>
>>        <param name="supportHighlighting" value="true"/>
>>        <param name="respectDocumentOrder" value="false"/>
>>    </SearchIndex>
>> </Repository>
>> 
> 


Re: Oracle 10g and Jackrabbit

Posted by Justin Edelson <ju...@gmail.com>.
On 2/26/10 7:22 PM, Neil Lott wrote:
> Hi,
> 
> I'm having trouble inserting more than 2450 or so nodes underneath one parent node.  I'm using oracle persistence and jackrabbit-2.0.0.
> 
Nothing in the log below indicates what kind of "trouble" you're having.
That'd probably be useful. Jackrabbit definitely shouldn't stop you from
adding all these nodes. But... (continued below)

> It looks like the issue is happening between here these log messages.
> 
> 	2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
> 	2010-02-26 17:10:02,450 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 9d35fed4-47b1-4462-b88d-4a2d579b2161
> 
> I've read:
> 
> 	http://n4.nabble.com/Explanation-and-solutions-of-some-Jackrabbit-queries-regarding-performance-td516614.html#a516614
> 
> but limiting child node sizes to 4000 seems a bit odd.  I need to store 1.7 million nodes at the very least underneath a given parent.
> 
> Would someone provide some pointers if possible?
Don't have 1.7 million nodes under a single parent. Jackrabbit will not
perform well. See https://issues.apache.org/jira/browse/JCR-642 for
discussion. You also might want to read this recent thread about
possibly improving this in Jackrabbit 3:
http://markmail.org/thread/v2wl5nh43zf2shkp

Justin

> 
> Thanks,
> 
> Neil
> 
> 
> 
> 
> 
> Full log:
> 
> 2010-02-26 17:09:57,585 DEBUG [main] (JackRabbitProgram.addProgram:56) - Adding program [Program{UUID='null', name='EP2586',....]
> 2010-02-26 17:09:57,585 TRACE [main] (TraceLogger.logBefore:48) - Before public org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom()
> 2010-02-26 17:09:57,601 TRACE [main] (TraceLogger.logAfterReturning:55) - AfterReturning public org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom() returning org.jcrom.Jcrom@11ba3c1f 
> 2010-02-26 17:09:57,602 DEBUG [main] (ProgramDAOJCR.createParentNode:108) - Root node [/Program] already exists.
> 2010-02-26 17:09:57,602 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f
> 2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}primaryType
> 2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}mixinTypes
> 2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}uuid
> 2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 67004716-ec8d-4013-aca2-045cb5d057a2
> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 67004716-ec8d-4013-aca2-045cb5d057a2/{http://www.jcp.org/jcr/1.0}primaryType
> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsSeriesID
> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
> 2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.itemDestroyed:1001) - destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.evictItems:918) - removing items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID from cache
> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsProgramID
> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}description
> 2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}programType
> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}rating
> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}title
> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
> 2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.itemDestroyed:1001) - destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
> 2010-02-26 17:09:57,608 DEBUG [main] (ItemManager.evictItems:918) - removing items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images from cache
> 2010-02-26 17:09:57,601 DEBUG [ObservationManager] (ObservationDispatcher.run:156) - got EventStateCollection
> 2010-02-26 17:09:57,609 DEBUG [ObservationManager] (ObservationDispatcher.run:157) - event delivery to 0 consumers started...
> 2010-02-26 17:09:57,609 DEBUG [ObservationManager] (ObservationDispatcher.run:168) - event delivery finished.
> 2010-02-26 17:09:57,710  INFO [main] (LRUNodeIdCache.contains:70) - num=179/10240 hits=1823 miss=2298177
> 2010-02-26 17:10:01,352 DEBUG [Timer-1] (MultiIndex.checkFlush:1281) - Flushing index after being idle for 3769 ms.
> 2010-02-26 17:10:01,356 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: setInfoStream deletionPolicy=org.apache.lucene.index.KeepOnlyLastCommitDeletionPolicy@462f654
> 2010-02-26 17:10:01,356 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: setInfoStream: dir=org.apache.lucene.store.RAMDirectory@325a92d5 autoCommit=false mergePolicy=org.apache.lucene.index.LogByteSizeMergePolicy@7d1a070b mergeScheduler=org.apache.lucene.index.ConcurrentMergeScheduler@37c4a357 ramBufferSizeMB=16.0 maxBufferedDocs=-1 maxBuffereDeleteTerms=-1 maxFieldLength=10000 index=
> 2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - Inverted document in 3 ms
> 2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - Inverted document in 1 ms
> 2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.commit:380) - committing IndexWriter.
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: start
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: now prepare
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: prepareCommit: flush
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=_0 docStoreSegment=_0 docStoreOffset=0 flushDocs=true flushDeletes=true flushDocStores=true numDocs=2 numBufDelTerms=0
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush 
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: flush postings as segment _0 numDocs=2
> 2010-02-26 17:10:01,362 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: closeDocStore: 5 files to flush to segment _0 numDocs=2
> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW:   oldRAMSize=223232 newFlushedSize=1493 docs/MB=1,404.656 new/old=0.669%
> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_1" [1 segments ; isCommit = false]
> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_1" [1 segments ; isCommit = false]
> 2010-02-26 17:10:01,364 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fnm"
> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.frq"
> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.prx"
> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tis"
> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tii"
> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.nrm"
> 2010-02-26 17:10:01,365 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvx"
> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvf"
> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvd"
> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdx"
> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdt"
> 2010-02-26 17:10:01,366 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP: findMerges: 1 segments
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP:   level -1.0 to 3.3818367: 1 segments
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit(): start sizeInBytes=0
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit index=_0:c2 changeCount=3
> 2010-02-26 17:10:01,367 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now sync _0.cfs
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: done all syncs
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: pendingCommit != null
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint "segments_2" [1 segments ; isCommit = true]
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: deleteCommits: now decRef commit "segments_1"
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "segments_1"
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: optimize: index now _0:c2
> 2010-02-26 17:10:01,368 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush _0:c2
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now flush at close
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
> 2010-02-26 17:10:01,369 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index before flush _0:c2
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now merge
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   index: _0:c2
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no more merges pending; now return
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now call final commit()
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit(): start sizeInBytes=0
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   skip startCommit(): no changes pending
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: pendingCommit == null; skip
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
> 2010-02-26 17:10:01,370 DEBUG [Timer-1] (AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: at close: _0:c2
> 2010-02-26 17:10:01,394 DEBUG [Timer-1] (IndexMerger.indexAdded:170) - index added: name=_3b, numDocs=2
> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (MultiIndex.commitVolatileIndex:1178) - Committed in-memory index in 43ms.
> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing IndexReader.
> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:155) - Writing IndexInfos indexes_2w
> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1:4
> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _2:2
> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3:2
> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _4:2
> 2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _5:2
> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _6:2
> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _7:2
> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1v:1
> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3a:1
> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3b:2
> 2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexHistory.pruneOutdated:133) - Pruning index infos older than: 1267229401413(org.apache.jackrabbit.core.query.lucene.directory.FSDirectoryManager$FSDir@org.apache.lucene.store.FSDirectory@/Users/neil/Business/SnowyRangeConsulting/projects/twc/depot/server/releases/prelude/components/nationalmetadata/target/nationalmetadata-1.0.0.0-nationalmetadata/usr/local/prelude/components/nationalmetadata/jackrabbit/server/workspaces/default/index)
> 2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:138) - Skipping first index infos. generation=104
> 2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:156) - Deleted redo log with generation=103, timestamp=1267229401000
> 2010-02-26 17:10:01,415 DEBUG [Timer-1] (IndexHistory.pruneOutdated:166) - Deleted index infos with generation=103
> 2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
> 2010-02-26 17:10:02,450 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 9d35fed4-47b1-4462-b88d-4a2d579b2161
> 2010-02-26 17:10:02,451 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 67004716-ec8d-4013-aca2-045cb5d057a2
> 2010-02-26 17:10:02,453 DEBUG [main] (AbstractBundlePersistenceManager.putBundle:686) - stored bundle 80925a14-4a53-4d66-80b7-3c3b0481377f
> 2010-02-26 17:10:02,490 DEBUG [main] (SharedItemStateManager$Update.end:738) - persisting change log {#addedStates=12, #modifiedStates=1, #deletedStates=0, #modifiedRefs=0} took 92ms
> 2010-02-26 17:10:02,491 DEBUG [main] (ObservationDispatcher.dispatchEvents:210) - notifying 4 synchronous listeners.
> 2010-02-26 17:10:02,491 DEBUG [main] (EventConsumer.consumeEvents:249) - listener org.apache.jackrabbit.core.lock.LockManagerImpl processed events in 0 ms.
> 2010-02-26 17:10:02,492 DEBUG [main] (SearchManager.onEvent:327) - onEvent: indexing started
> 2010-02-26 17:10:02,493 DEBUG [main] (SearchManager.onEvent:429) - onEvent: indexing finished in 1 ms.
> 2010-02-26 17:10:02,494 DEBUG [main] (EventConsumer.consumeEvents:249) - listener org.apache.jackrabbit.core.SearchManager processed events in 2 ms.
> 2010-02-26 17:10:02,494 DEBUG [main] (JackRabbitProgram.addProgram:62) - Added program 
> 
> 
> 
> Here is my repository.xml file:
> 
> <?xml version="1.0"?>
> <!--
>    Licensed to the Apache Software Foundation (ASF) under one or more
>    contributor license agreements.  See the NOTICE file distributed with
>    this work for additional information regarding copyright ownership.
>    The ASF licenses this file to You under the Apache License, Version 2.0
>    (the "License"); you may not use this file except in compliance with
>    the License.  You may obtain a copy of the License at
> 
>        http://www.apache.org/licenses/LICENSE-2.0
> 
>    Unless required by applicable law or agreed to in writing, software
>    distributed under the License is distributed on an "AS IS" BASIS,
>    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>    See the License for the specific language governing permissions and
>    limitations under the License.
> -->
> 
> <!--
> <!DOCTYPE Repository
>           PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
>           "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
> -->
> 
> <!-- Example Repository Configuration File
>      Used by
>      - org.apache.jackrabbit.core.config.RepositoryConfigTest.java
>      -
> -->
> <Repository>
>     <!--
>         virtual file system where the repository stores global state
>         (e.g. registered namespaces, custom node types, etc.)
>     -->
>     <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>         <param name="path" value="${rep.home}/repository"/>
>     </FileSystem>
> 
>     <!--
>         data store configuration
>     --> 
>      <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>         <param name="driver" value="oracle.jdbc.OracleDriver"/>
>         <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>         <param name="user" value="neil"/>
>         <param name="password" value="neil"/>
>         <param name="tablePrefix" value=""/>
>         <param name="schemaObjectPrefix" value=""/>
>         <param name="databaseType" value="oracle"/>
>         <param name="minRecordLength" value="1024"/>
>         <param name="maxConnections" value="20"/>
>         <param name="copyWhenReading" value="true"/>
>     </DataStore>
> 
>     <!--
>         security configuration
>     -->
>     <Security appName="Jackrabbit">
>         <!--
>             security manager:
>             class: FQN of class implementing the JackrabbitSecurityManager interface
>         -->
>         <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
>                          workspaceName="security">
>             <!--
>             workspace access:
>             class: FQN of class implementing the WorkspaceAccessManager interface
>             -->
>             <!-- <WorkspaceAccessManager class="..."/> -->
>             <!-- <param name="config" value="${rep.home}/security.xml"/> -->
>         </SecurityManager>
> 
>         <!--
>             access manager:
>             class: FQN of class implementing the AccessManager interface
>         -->
>         <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager">
>             <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>         </AccessManager>
> 
>         <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
>             <!--
>               anonymous user name ('anonymous' is the default value)
>             -->
>             <param name="anonymousId" value="anonymous"/>
>             <!--
>               administrator user id (default value if param is missing is 'admin')
>             -->
>             <param name="adminId" value="admin"/>
>         </LoginModule>
>     </Security>
> 
>     <!--
>         location of workspaces root directory and name of default workspace
>     -->
>     <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
>     <!--
>         workspace configuration template:
>         used to create the initial workspace if there's no workspace yet
>     -->
>     <Workspace name="${wsp.name}">
>         <!--
>             virtual file system of the workspace:
>             class: FQN of class implementing the FileSystem interface
>         -->
>         <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
>            <param name="driver" value="oracle.jdbc.OracleDriver"/>
>            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>            <param name="user" value="neil"/>
>            <param name="password" value="neil"/>
>            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>         </FileSystem>
>         <!--
>             persistence manager of the workspace:
>             class: FQN of class implementing the PersistenceManager interface
>         -->
> 
>         <!-- http://wiki.magnolia-cms.com/display/WIKI/Changing+Jackrabbit+PersistenceManager -->
> 
>         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
>             <param name="driver" value="oracle.jdbc.OracleDriver"/>
>             <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>             <param name="schema" value="oracle"/>
>             <!-- warning, this is not the schema name, it's the db type -->
>             <param name="user" value="neil"/>
>             <param name="password" value="neil"/>
>             <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>             <param name="externalBLOBs" value="false"/>
>         </PersistenceManager>
> 
>         <!--
>             Search index and the file system it uses.
>             class: FQN of class implementing the QueryHandler interface
>         -->
>         <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>             <param name="path" value="${wsp.home}/index"/>
>             <param name="supportHighlighting" value="true"/>
>             <param name="respectDocumentOrder" value="false"/>
>         </SearchIndex>
>     </Workspace>
> 
>     <!--
>         Configures the versioning
>     -->
>     <Versioning rootPath="${rep.home}/version">
>         <!--
>             Configures the filesystem to use for versioning for the respective
>             persistence manager
>         -->
>         <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>             <param name="path" value="${rep.home}/version"/>
>         </FileSystem>
> 
>         <!--
>             Configures the persistence manager to be used for persisting version state.
>             Please note that the current versioning implementation is based on
>             a 'normal' persistence manager, but this could change in future
>             implementations.
>         -->
> 
>         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
>             <param name="driver" value="oracle.jdbc.OracleDriver"/>
>             <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
>             <param name="schema" value="oracle"/>
>             <!-- warning, this is not the schema name, it's the db type -->
>             <param name="user" value="neil"/>
>             <param name="password" value="neil"/>
>             <param name="schemaObjectPrefix" value="version_"/>
>             <param name="externalBLOBs" value="false"/>
>         </PersistenceManager>
> 
>     </Versioning>
> 
> 
>     <!--
>         Search index for content that is shared repository wide
>         (/jcr:system tree, contains mainly versions)
>     -->
>     <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>         <param name="path" value="${rep.home}/repository/index"/>
>         <param name="supportHighlighting" value="true"/>
>         <param name="respectDocumentOrder" value="false"/>
>     </SearchIndex>
> </Repository>
>