You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Richard Osbaldeston <ri...@wordmap.com> on 2005/07/26 18:40:36 UTC

javax.jcr.RepositoryException 1252: unable to update item

Hi all,
          Managed to get our repository up & running on Windows, but 
after populating it
with the contents of a file system (fairly large 400mb worth) the 
performance dropped through
the floor and JackRabbit would silently hang. It'd take nearly two hours 
just to delete the
repository files with rm -rf and more to re-populate again. NTFS was 
obviously struggling with
just the automatically directory structure.

So I've tried to move over to a linux box (same build files #224710) 
things appear to work as expected for a small 200k teaser, but 
attempting a population with the same script used under Windows fails 
with an odd javax.jcr.RepositoryException after half and hour to an 
hours worth of heavy loading.. wondering if anyone can cast some light 
on the likely causes for the following exception?

Caught: com.wordmap.classification.repository.RepositoryException:
javax.jcr.RepositoryException: /1252: unable to update item.: failed to 
store
property state:
551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created: 
failed
to create folder
/tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
d2bb : failed to store property state:
551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created: 
failed
to create folder
/tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
d2bb - Notification of EventListeners stopped. - Notification of 
EventListeners
stopped. - Notification of EventListeners stopped.

I'm using the basic LocalFileSystem implementation here with the 
XMLPersistenceManager, suspect the serialized object PM might also 
improve performance, CQFS would be a non-starter as I'm investigating 
JackRabbit/JCR for a potential commercial product. I've managed to turn 
off the indexing (commented out of the repository.xml) as we shouldn't 
need it just yet, but trying to remove versioning threw errors 
(mandatory configuration?) also intersted if they'res anything else I 
can do to strip things down and speed things up..?

- Richard

Re: javax.jcr.RepositoryException 1252: unable to update item

Posted by Stefan Guggisberg <st...@gmail.com>.
On 8/8/05, Marcel Reutegger <ma...@gmx.net> wrote:
> Stefan Guggisberg wrote:
> > On 7/27/05, Richard Osbaldeston <ri...@wordmap.com> wrote:
> >>Almost looked like JackRabbit suddenly restated itself mid-way through
> >>populating the repository? or is that just a quirk of the exception
> >>ordering? The "Found uncommitted redo log. Applying changes now..." and
> >>the "java.lang.ArrayIndexOutOfBoundsException: 0" from lucene seemed
> >>suspicious, especially as I'd thought indexing would be disabled by
> >>removing the indexing configuration from the repository.xml ..maybe
> >>thats the difference? Need to do more digging..
> 
> repository.xml is just the template to use when creating new workspaces.
> once a workspace is created it uses its own workspace.xml configuration.
> if you want to disable query support in an existing workspace you have
> to comment the config there.
> 
> > ok, the only thing that i can tell from the stack trace is that lucene's index
> > seems to be corrupt, probably due to an abnormal process termination.
> 
> the uncommitted redo log does not mean that the index is currupt but
> that it is not in sync with the workspace data. the cause for this is
> most certainly an abnormal process termination. if on startup the index
> detects that it is not in sync it will re-index the missing nodes.
> 
> That seems to be the case in your setup. However I don't think that the
> ArrayIndexOutOfBoundsException is the fault of the NodeIndexer. A single
> value property state should not be allowed to have no value.
> 
> <snip from="NodeIndexer.java" line="282">
> PropertyState encodingProp = (PropertyState)
> stateProvider.getItemState(new PropertyId(node.getUUID(), JCR_ENCODING));
> encodingProp.getValues()[0].internalValue().toString();
> </snip>
> 
> That is, the second line should never throw an
> ArrayIndexOutOfBoundsException.
> 
> WDYT Stefan?

absolutely correct. i have no idea how you could get into such a situation.
i need more information to further investigate this problem.

richard,
please try the steps that i had repeatedly suggested previously in this 
thread.

cheers
stefan


> 
> regards
>   marcel
>

Re: javax.jcr.RepositoryException 1252: unable to update item

Posted by Marcel Reutegger <ma...@gmx.net>.
Stefan Guggisberg wrote:
> On 7/27/05, Richard Osbaldeston <ri...@wordmap.com> wrote:
>>Almost looked like JackRabbit suddenly restated itself mid-way through
>>populating the repository? or is that just a quirk of the exception
>>ordering? The "Found uncommitted redo log. Applying changes now..." and
>>the "java.lang.ArrayIndexOutOfBoundsException: 0" from lucene seemed
>>suspicious, especially as I'd thought indexing would be disabled by
>>removing the indexing configuration from the repository.xml ..maybe
>>thats the difference? Need to do more digging..

repository.xml is just the template to use when creating new workspaces. 
once a workspace is created it uses its own workspace.xml configuration. 
if you want to disable query support in an existing workspace you have 
to comment the config there.

> ok, the only thing that i can tell from the stack trace is that lucene's index
> seems to be corrupt, probably due to an abnormal process termination.

the uncommitted redo log does not mean that the index is currupt but 
that it is not in sync with the workspace data. the cause for this is 
most certainly an abnormal process termination. if on startup the index 
detects that it is not in sync it will re-index the missing nodes.

That seems to be the case in your setup. However I don't think that the 
ArrayIndexOutOfBoundsException is the fault of the NodeIndexer. A single 
value property state should not be allowed to have no value.

<snip from="NodeIndexer.java" line="282">
PropertyState encodingProp = (PropertyState) 
stateProvider.getItemState(new PropertyId(node.getUUID(), JCR_ENCODING));
encodingProp.getValues()[0].internalValue().toString();
</snip>

That is, the second line should never throw an 
ArrayIndexOutOfBoundsException.

WDYT Stefan?

regards
  marcel

Re: javax.jcr.RepositoryException 1252: unable to update item

Posted by Stefan Guggisberg <st...@gmail.com>.
On 7/27/05, Richard Osbaldeston <ri...@wordmap.com> wrote:
> Stefan, Its not a disk-space issue - at least I hope not df tells me
> I've still got 11gigs free.

that was just a wild guess, i didn't really expect that it would be that easy ;)

> 
> Was hoping to get more debugging done on this today, but other things
> cropped up.. Did manage to
> update my copy of jackrabbit (looked to be several fixes) and retried
> running the population script on
> Windows XP.. which has also just failed, after an hour+ (typical!).
> 
> Almost looked like JackRabbit suddenly restated itself mid-way through
> populating the repository? or is that just a quirk of the exception
> ordering? The "Found uncommitted redo log. Applying changes now..." and
> the "java.lang.ArrayIndexOutOfBoundsException: 0" from lucene seemed
> suspicious, especially as I'd thought indexing would be disabled by
> removing the indexing configuration from the repository.xml ..maybe
> thats the difference? Need to do more digging..

ok, the only thing that i can tell from the stack trace is that lucene's index
seems to be corrupt, probably due to an abnormal process termination.

if you find the time to, try the steps i suggested in my previous mail:
 - cqfs & ObjectPersistenceManager

to further isolate the issue, try importing the files using a plain
bare jackrabbit instance without going through your application
layer. you could e.g. use code like this:
http://svn.apache.org/repos/asf/incubator/jackrabbit/trunk/contrib/examples/src/java/org/apache/jackrabbit/examples/FSImport.java

good look hunting!

cheers
stefan

> 
> - Richard
> 
> <code>
> ...
> - persisting change log {#addedStates=10, #modifiedStates=1,
> #deletedStates=0, #
> modifiedRefs=0} took 62ms
> - persisting change log {#addedStates=10, #modifiedStates=1,
> #deletedStates=0, #
> modifiedRefs=0} took 62ms
> - persisting change log {#addedStates=10, #modifiedStates=1,
> #deletedStates=0, #
> modifiedRefs=0} took 62ms
> - persisting change log {#addedStates=10, #modifiedStates=1,
> #deletedStates=0, #
> modifiedRefs=0} took 62ms
> 27-Jul-2005 17:42:03
> com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryF
> actory getRepository
> INFO: Using repository configuration file: C:\Documents and
> Settings\richard.osb
> aldeston\Local
> Settings\Work\wmc\temp\WEB-INF\classes\com\wordmap\repository\jcr
> \jackrabbit\repository.xml
> - LocalFileSystem initialized at path c:\tmp\jcr-repository\repository
> - LocalFileSystem initialized at path c:\tmp\jcr-repository\versions
> - LocalFileSystem initialized at path
> c:\tmp\jcr-repository\workspaces\.default
> - LocalFileSystem initialized at path c:\tmp\jcr-repository\workspaces\bob
> - LocalFileSystem initialized at path c:\tmp\jcr-repository\workspaces\lgcl
> - LocalFileSystem initialized at path
> c:\tmp\jcr-repository\workspaces\lgcl\inde
> x
> - LocalFileSystem initialized at path
> c:\tmp\jcr-repository\workspaces\tester
> - LocalFileSystem initialized at path c:\tmp\jcr-repository\versions\blobs
> - LocalFileSystem initialized at path
> c:\tmp\jcr-repository\workspaces\tester\bl
> obs
> - LocalFileSystem initialized at path
> c:\tmp\jcr-repository\workspaces\lgcl\blob
> s
> - Found uncommitted redo log. Applying changes now...
> - Unable to start repository. forcing shutdown.
> - Notification of EventListeners stopped.
> - Notification of EventListeners stopped.
> 27-Jul-2005 17:42:04
> com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryF
> actory getRepository
> SEVERE: javax.jcr.RepositoryException
> javax.jcr.RepositoryException: 0: 0: 0
>         at
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:12
> 5)
>         at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchMana
> ger(RepositoryImpl.java:1141)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.getSearchManager(Repository
> Impl.java:550)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImp
> l.java:412)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
> 204)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
> 358)
>         at
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepos
> itory.java:116)
>         at
> org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRep
> ository.java:104)
>         at
> org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(Reg
> istryHelper.java:57)
>         at
> com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
> Repository(JackRabbitRepositoryFactory.java:87)
>         at
> com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
> Workspace(JackRabbitRepositoryFactory.java:118)
>         at
> com.wordmap.classification.repository.jcrbased.JcrRepositoryFactory.g
> etRepository(JcrRepositoryFactory.java:38)
>         at
> com.wordmap.classification.taxonomy.simple.SimpleTaxonomyFactory.getT
> axonomy(SimpleTaxonomyFactory.java:33)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:145)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
> BytecodeAdapter.java:85)
>         at CopyRepository.run(Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:165)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.jav
> a:482)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
> BytecodeAdapter.java:85)
>         at CopyRepository.main(Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> groovy.lang.GroovyShell.runMainOrTestOrRunnable(GroovyShell.java:349)
> 
>         at groovy.lang.GroovyShell.run(GroovyShell.java:274)
>         at groovy.lang.GroovyShell.run(GroovyShell.java:202)
>         at groovy.ui.GroovyMain.processOnce(GroovyMain.java:417)
>         at groovy.ui.GroovyMain.run(GroovyMain.java:249)
>         at groovy.ui.GroovyMain.process(GroovyMain.java:235)
>         at groovy.ui.GroovyMain.main(GroovyMain.java:138)
>         at
> org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:92)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:429)
> 
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.addBinaryValue(No
> deIndexer.java:284)
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.addValue(NodeInde
> xer.java:223)
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeInd
> exer.java:162)
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDocument(No
> deIndexer.java:116)
>         at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(Se
> archIndex.java:319)
>         at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.createDocument(Mul
> tiIndex.java:338)
>         at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.addNodePersistent(
> MultiIndex.java:434)
>         at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.
> java:186)
>         at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchInde
> x.java:132)
>         at
> org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQu
> eryHandler.java:39)
>         at
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:12
> 3)
>         ... 69 more
> java.lang.ArrayIndexOutOfBoundsException: 0
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.addBinaryValue(No
> deIndexer.java:284)
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.addValue(NodeInde
> xer.java:223)
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeInd
> exer.java:162)
>         at
> org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDocument(No
> deIndexer.java:116)
>         at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(Se
> archIndex.java:319)
>         at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.createDocument(Mul
> tiIndex.java:338)
>         at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.addNodePersistent(
> MultiIndex.java:434)
>         at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.
> java:186)
>         at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchInde
> x.java:132)
>         at
> org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQu
> eryHandler.java:39)
>         at
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:12
> 3)
>         at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchMana
> ger(RepositoryImpl.java:1141)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.getSearchManager(Repository
> Impl.java:550)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImp
> l.java:412)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
> 204)
>         at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
> 358)
>         at
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepos
> itory.java:116)
>         at
> org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRep
> ository.java:104)
>         at
> org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(Reg
> istryHelper.java:57)
>         at
> com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
> Repository(JackRabbitRepositoryFactory.java:87)
>         at
> com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
> Workspace(JackRabbitRepositoryFactory.java:118)
>         at
> com.wordmap.classification.repository.jcrbased.JcrRepositoryFactory.g
> etRepository(JcrRepositoryFactory.java:38)
>         at
> com.wordmap.classification.taxonomy.simple.SimpleTaxonomyFactory.getT
> axonomy(SimpleTaxonomyFactory.java:33)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:145)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
> BytecodeAdapter.java:85)
>         at CopyRepository.run(Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:165)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.jav
> a:482)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
> BytecodeAdapter.java:85)
>         at CopyRepository.main(Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
> aMethod.java:67)
>         at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
>         at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
>         at
> org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
> java:104)
>         at
> groovy.lang.GroovyShell.runMainOrTestOrRunnable(GroovyShell.java:349)
> 
>         at groovy.lang.GroovyShell.run(GroovyShell.java:274)
>         at groovy.lang.GroovyShell.run(GroovyShell.java:202)
>         at groovy.ui.GroovyMain.processOnce(GroovyMain.java:417)
>         at groovy.ui.GroovyMain.run(GroovyMain.java:249)
>         at groovy.ui.GroovyMain.process(GroovyMain.java:235)
>         at groovy.ui.GroovyMain.main(GroovyMain.java:138)
>         at
> org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:92)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:429)
> 
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caught: java.lang.RuntimeException: javax.jcr.RepositoryException: 0: 0: 0
> - Notification of EventListeners stopped.
> - Notification of EventListeners stopped.
> - Closing search index.
> - Notification of EventListeners stopped.
> - Notification of EventListeners stopped.
> </code>
> 
> >
> >On 7/26/05, Richard Osbaldeston <ri...@wordmap.com> wrote:
> >
> >
> >>Hi all,
> >>          Managed to get our repository up & running on Windows, but
> >>after populating it
> >>with the contents of a file system (fairly large 400mb worth) the
> >>performance dropped through
> >>the floor and JackRabbit would silently hang. It'd take nearly two hours
> >>just to delete the
> >>repository files with rm -rf and more to re-populate again. NTFS was
> >>obviously struggling with
> >>just the automatically directory structure.
> >>
> >>
> >
> >yep, doesn't surprise me;)
> >
> >
> >
> >>So I've tried to move over to a linux box (same build files #224710)
> >>things appear to work as expected for a small 200k teaser, but
> >>attempting a population with the same script used under Windows fails
> >>with an odd javax.jcr.RepositoryException after half and hour to an
> >>hours worth of heavy loading.. wondering if anyone can cast some light
> >>on the likely causes for the following exception?
> >>
> >>
> >
> >out of disk space?
> >
> >
> >
> >>Caught: com.wordmap.classification.repository.RepositoryException:
> >>javax.jcr.RepositoryException: /1252: unable to update item.: failed to
> >>store
> >>property state:
> >>551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created:
> >>failed
> >>to create folder
> >>/tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
> >>d2bb : failed to store property state:
> >>551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created:
> >>failed
> >>to create folder
> >>/tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
> >>d2bb - Notification of EventListeners stopped. - Notification of
> >>EventListeners
> >>stopped. - Notification of EventListeners stopped.
> >>
> >>
> >
> >a full stack trace would certainly help investigating this issue.
> >
> >do you have enough disk space?
> >did you try to import the exact same set of files & folders on a windows box?
> >did the same problem occur on the windows box too?
> >is it a specific file that causes the problem?
> >
> >please try the following to further narrow down the problem:
> >
> >- use CQFS
> >- use ObjectPersistenceManager
> >
> >
> >
> >>I'm using the basic LocalFileSystem implementation here with the
> >>XMLPersistenceManager, suspect the serialized object PM might also
> >>improve performance,
> >>
> >>
> >
> >that would certainly be the case. XMLPersistenceManager is not recommended
> >for production use because of its parsing overhead and disk footprint.
> >
> >
> >
> >>CQFS would be a non-starter as I'm investigating
> >>JackRabbit/JCR for a potential commercial product. I've managed to turn
> >>off the indexing (commented out of the repository.xml) as we shouldn't
> >>need it just yet, but trying to remove versioning threw errors
> >>(mandatory configuration?)
> >>
> >>
> >
> >just don't use mix:versionable for your imported nodes.
> >
> >cheers
> >stefan
> >
> >
> >
> >>also intersted if they'res anything else I
> >>can do to strip things down and speed things up..?
> >>
> >>- Richard
> >>
> >>
> >>
> >
> >
> >
> 
>

Re: javax.jcr.RepositoryException 1252: unable to update item

Posted by Richard Osbaldeston <ri...@wordmap.com>.
Stefan, Its not a disk-space issue - at least I hope not df tells me 
I've still got 11gigs free.

Was hoping to get more debugging done on this today, but other things 
cropped up.. Did manage to
update my copy of jackrabbit (looked to be several fixes) and retried 
running the population script on
Windows XP.. which has also just failed, after an hour+ (typical!).

Almost looked like JackRabbit suddenly restated itself mid-way through 
populating the repository? or is that just a quirk of the exception 
ordering? The "Found uncommitted redo log. Applying changes now..." and 
the "java.lang.ArrayIndexOutOfBoundsException: 0" from lucene seemed 
suspicious, especially as I'd thought indexing would be disabled by 
removing the indexing configuration from the repository.xml ..maybe 
thats the difference? Need to do more digging..

- Richard

<code>
...
- persisting change log {#addedStates=10, #modifiedStates=1, 
#deletedStates=0, #
modifiedRefs=0} took 62ms
- persisting change log {#addedStates=10, #modifiedStates=1, 
#deletedStates=0, #
modifiedRefs=0} took 62ms
- persisting change log {#addedStates=10, #modifiedStates=1, 
#deletedStates=0, #
modifiedRefs=0} took 62ms
- persisting change log {#addedStates=10, #modifiedStates=1, 
#deletedStates=0, #
modifiedRefs=0} took 62ms
27-Jul-2005 17:42:03 
com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryF
actory getRepository
INFO: Using repository configuration file: C:\Documents and 
Settings\richard.osb
aldeston\Local 
Settings\Work\wmc\temp\WEB-INF\classes\com\wordmap\repository\jcr
\jackrabbit\repository.xml
- LocalFileSystem initialized at path c:\tmp\jcr-repository\repository
- LocalFileSystem initialized at path c:\tmp\jcr-repository\versions
- LocalFileSystem initialized at path 
c:\tmp\jcr-repository\workspaces\.default
- LocalFileSystem initialized at path c:\tmp\jcr-repository\workspaces\bob
- LocalFileSystem initialized at path c:\tmp\jcr-repository\workspaces\lgcl
- LocalFileSystem initialized at path 
c:\tmp\jcr-repository\workspaces\lgcl\inde
x
- LocalFileSystem initialized at path 
c:\tmp\jcr-repository\workspaces\tester
- LocalFileSystem initialized at path c:\tmp\jcr-repository\versions\blobs
- LocalFileSystem initialized at path 
c:\tmp\jcr-repository\workspaces\tester\bl
obs
- LocalFileSystem initialized at path 
c:\tmp\jcr-repository\workspaces\lgcl\blob
s
- Found uncommitted redo log. Applying changes now...
- Unable to start repository. forcing shutdown.
- Notification of EventListeners stopped.
- Notification of EventListeners stopped.
27-Jul-2005 17:42:04 
com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryF
actory getRepository
SEVERE: javax.jcr.RepositoryException
javax.jcr.RepositoryException: 0: 0: 0
        at 
org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:12
5)
        at 
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchMana
ger(RepositoryImpl.java:1141)
        at 
org.apache.jackrabbit.core.RepositoryImpl.getSearchManager(Repository
Impl.java:550)
        at 
org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImp
l.java:412)
        at 
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
204)
        at 
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
358)
        at 
org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepos
itory.java:116)
        at 
org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRep
ository.java:104)
        at 
org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(Reg
istryHelper.java:57)
        at 
com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
Repository(JackRabbitRepositoryFactory.java:87)
        at 
com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
Workspace(JackRabbitRepositoryFactory.java:118)
        at 
com.wordmap.classification.repository.jcrbased.JcrRepositoryFactory.g
etRepository(JcrRepositoryFactory.java:38)
        at 
com.wordmap.classification.taxonomy.simple.SimpleTaxonomyFactory.getT
axonomy(SimpleTaxonomyFactory.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:145)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
BytecodeAdapter.java:85)
        at CopyRepository.run(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:165)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.jav
a:482)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
BytecodeAdapter.java:85)
        at CopyRepository.main(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
groovy.lang.GroovyShell.runMainOrTestOrRunnable(GroovyShell.java:349)

        at groovy.lang.GroovyShell.run(GroovyShell.java:274)
        at groovy.lang.GroovyShell.run(GroovyShell.java:202)
        at groovy.ui.GroovyMain.processOnce(GroovyMain.java:417)
        at groovy.ui.GroovyMain.run(GroovyMain.java:249)
        at groovy.ui.GroovyMain.process(GroovyMain.java:235)
        at groovy.ui.GroovyMain.main(GroovyMain.java:138)
        at 
org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:92)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at 
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:429)

        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.addBinaryValue(No
deIndexer.java:284)
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.addValue(NodeInde
xer.java:223)
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeInd
exer.java:162)
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDocument(No
deIndexer.java:116)
        at 
org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(Se
archIndex.java:319)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.createDocument(Mul
tiIndex.java:338)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.addNodePersistent(
MultiIndex.java:434)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.
java:186)
        at 
org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchInde
x.java:132)
        at 
org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQu
eryHandler.java:39)
        at 
org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:12
3)
        ... 69 more
java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.addBinaryValue(No
deIndexer.java:284)
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.addValue(NodeInde
xer.java:223)
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeInd
exer.java:162)
        at 
org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDocument(No
deIndexer.java:116)
        at 
org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(Se
archIndex.java:319)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.createDocument(Mul
tiIndex.java:338)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.addNodePersistent(
MultiIndex.java:434)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.
java:186)
        at 
org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchInde
x.java:132)
        at 
org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQu
eryHandler.java:39)
        at 
org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:12
3)
        at 
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchMana
ger(RepositoryImpl.java:1141)
        at 
org.apache.jackrabbit.core.RepositoryImpl.getSearchManager(Repository
Impl.java:550)
        at 
org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImp
l.java:412)
        at 
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
204)
        at 
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
358)
        at 
org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepos
itory.java:116)
        at 
org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRep
ository.java:104)
        at 
org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(Reg
istryHelper.java:57)
        at 
com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
Repository(JackRabbitRepositoryFactory.java:87)
        at 
com.wordmap.repository.jcr.jackrabbit.JackRabbitRepositoryFactory.get
Workspace(JackRabbitRepositoryFactory.java:118)
        at 
com.wordmap.classification.repository.jcrbased.JcrRepositoryFactory.g
etRepository(JcrRepositoryFactory.java:38)
        at 
com.wordmap.classification.taxonomy.simple.SimpleTaxonomyFactory.getT
axonomy(SimpleTaxonomyFactory.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:145)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
BytecodeAdapter.java:85)
        at CopyRepository.run(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeMethod(MetaClass.java:309)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:165)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.jav
a:482)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod(Script
BytecodeAdapter.java:85)
        at CopyRepository.main(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMet
aMethod.java:67)
        at groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1386)
        at groovy.lang.MetaClass.invokeStaticMethod(MetaClass.java:455)
        at 
org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:137)
        at 
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.
java:104)
        at 
groovy.lang.GroovyShell.runMainOrTestOrRunnable(GroovyShell.java:349)

        at groovy.lang.GroovyShell.run(GroovyShell.java:274)
        at groovy.lang.GroovyShell.run(GroovyShell.java:202)
        at groovy.ui.GroovyMain.processOnce(GroovyMain.java:417)
        at groovy.ui.GroovyMain.run(GroovyMain.java:249)
        at groovy.ui.GroovyMain.process(GroovyMain.java:235)
        at groovy.ui.GroovyMain.main(GroovyMain.java:138)
        at 
org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:92)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at 
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:429)

        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caught: java.lang.RuntimeException: javax.jcr.RepositoryException: 0: 0: 0
- Notification of EventListeners stopped.
- Notification of EventListeners stopped.
- Closing search index.
- Notification of EventListeners stopped.
- Notification of EventListeners stopped.
</code>

>
>On 7/26/05, Richard Osbaldeston <ri...@wordmap.com> wrote:
>  
>
>>Hi all,
>>          Managed to get our repository up & running on Windows, but
>>after populating it
>>with the contents of a file system (fairly large 400mb worth) the
>>performance dropped through
>>the floor and JackRabbit would silently hang. It'd take nearly two hours
>>just to delete the
>>repository files with rm -rf and more to re-populate again. NTFS was
>>obviously struggling with
>>just the automatically directory structure.
>>    
>>
>
>yep, doesn't surprise me;)
>
>  
>
>>So I've tried to move over to a linux box (same build files #224710)
>>things appear to work as expected for a small 200k teaser, but
>>attempting a population with the same script used under Windows fails
>>with an odd javax.jcr.RepositoryException after half and hour to an
>>hours worth of heavy loading.. wondering if anyone can cast some light
>>on the likely causes for the following exception?
>>    
>>
>
>out of disk space?
>
>  
>
>>Caught: com.wordmap.classification.repository.RepositoryException:
>>javax.jcr.RepositoryException: /1252: unable to update item.: failed to
>>store
>>property state:
>>551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created:
>>failed
>>to create folder
>>/tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
>>d2bb : failed to store property state:
>>551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created:
>>failed
>>to create folder
>>/tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
>>d2bb - Notification of EventListeners stopped. - Notification of
>>EventListeners
>>stopped. - Notification of EventListeners stopped.
>>    
>>
>
>a full stack trace would certainly help investigating this issue.
>
>do you have enough disk space?
>did you try to import the exact same set of files & folders on a windows box?
>did the same problem occur on the windows box too?
>is it a specific file that causes the problem?
>
>please try the following to further narrow down the problem:
>
>- use CQFS
>- use ObjectPersistenceManager
>
>  
>
>>I'm using the basic LocalFileSystem implementation here with the
>>XMLPersistenceManager, suspect the serialized object PM might also
>>improve performance, 
>>    
>>
>
>that would certainly be the case. XMLPersistenceManager is not recommended
>for production use because of its parsing overhead and disk footprint. 
>
>  
>
>>CQFS would be a non-starter as I'm investigating
>>JackRabbit/JCR for a potential commercial product. I've managed to turn
>>off the indexing (commented out of the repository.xml) as we shouldn't
>>need it just yet, but trying to remove versioning threw errors
>>(mandatory configuration?) 
>>    
>>
>
>just don't use mix:versionable for your imported nodes.
>
>cheers
>stefan
>
>  
>
>>also intersted if they'res anything else I
>>can do to strip things down and speed things up..?
>>
>>- Richard
>>
>>    
>>
>
>  
>


Re: javax.jcr.RepositoryException 1252: unable to update item

Posted by Stefan Guggisberg <st...@gmail.com>.
hi richard,

On 7/26/05, Richard Osbaldeston <ri...@wordmap.com> wrote:
> Hi all,
>           Managed to get our repository up & running on Windows, but
> after populating it
> with the contents of a file system (fairly large 400mb worth) the
> performance dropped through
> the floor and JackRabbit would silently hang. It'd take nearly two hours
> just to delete the
> repository files with rm -rf and more to re-populate again. NTFS was
> obviously struggling with
> just the automatically directory structure.

yep, doesn't surprise me;)

> 
> So I've tried to move over to a linux box (same build files #224710)
> things appear to work as expected for a small 200k teaser, but
> attempting a population with the same script used under Windows fails
> with an odd javax.jcr.RepositoryException after half and hour to an
> hours worth of heavy loading.. wondering if anyone can cast some light
> on the likely causes for the following exception?

out of disk space?

> 
> Caught: com.wordmap.classification.repository.RepositoryException:
> javax.jcr.RepositoryException: /1252: unable to update item.: failed to
> store
> property state:
> 551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created:
> failed
> to create folder
> /tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
> d2bb : failed to store property state:
> 551dbb73-119f-429c-a72b-8044afc2d2bb/{http://www.jcp.org/jcr/1.0}created:
> failed
> to create folder
> /tmp/jcr-repository/workspaces/filestore-1.0/data/551d/bb73/119f429ca72b8044afc2
> d2bb - Notification of EventListeners stopped. - Notification of
> EventListeners
> stopped. - Notification of EventListeners stopped.

a full stack trace would certainly help investigating this issue.

do you have enough disk space?
did you try to import the exact same set of files & folders on a windows box?
did the same problem occur on the windows box too?
is it a specific file that causes the problem?

please try the following to further narrow down the problem:

- use CQFS
- use ObjectPersistenceManager

> 
> I'm using the basic LocalFileSystem implementation here with the
> XMLPersistenceManager, suspect the serialized object PM might also
> improve performance, 

that would certainly be the case. XMLPersistenceManager is not recommended
for production use because of its parsing overhead and disk footprint. 

> CQFS would be a non-starter as I'm investigating
> JackRabbit/JCR for a potential commercial product. I've managed to turn
> off the indexing (commented out of the repository.xml) as we shouldn't
> need it just yet, but trying to remove versioning threw errors
> (mandatory configuration?) 

just don't use mix:versionable for your imported nodes.

cheers
stefan

> also intersted if they'res anything else I
> can do to strip things down and speed things up..?
> 
> - Richard
>