You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Ivan (JIRA)" <ji...@apache.org> on 2009/11/02 19:52:59 UTC

[jira] Commented: (JCR-2145) Exception: "javax.jcr.InvalidItemStateException:Item cannot be saved because it has beenmodified externally: node /" while saving in repository

    [ https://issues.apache.org/jira/browse/JCR-2145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772598#action_12772598 ] 

Ivan commented on JCR-2145:
---------------------------

We are also experiencing similar problems.

We are facing an issue where a large number of file uploads fail. We are using jackrabbit and are persisting files in the database.  Our environment is clustered with many concurrent users, so I'm wondering if this exception has to do with concurrency issues?


> Exception: "javax.jcr.InvalidItemStateException:Item cannot be saved because it has beenmodified externally: node /" while saving in repository
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-2145
>                 URL: https://issues.apache.org/jira/browse/JCR-2145
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Solaris OS, JDK 1.5
>            Reporter: Ritesh Chauhan
>
> My code is running in Production for past 3 months but today I  got this InvalidItemStateException while saving as pdf file in the repository (Log attached below). 
> Though, my document got saved in the repository, but still the exception came. 
> Not sure whether this happened because of concorrent sessions, i need to know the reason for this exception so that we can avoid this to happen in future and avoid probable loss of Document.
> Here's the error:
> gov.ms.mdes.access.framework.exception.BaseRunTimeException: null
>  Inner Exception :javax.jcr.InvalidItemStateException:Item cannot be saved because it has beenmodified externally: node /
>         at gov.ms.mdes.access.framework.exception.BaseRunTimeException.wrapAndThrow(BaseRunTimeException.java:138)
>         at gov.ms.mdes.access.framework.dms.DmsDataTemplate.save(DmsDataTemplate.java:81)
>         at gov.ms.mdes.access.framework.dms.BaseDmsDAO.save(BaseDmsDAO.java:40)
>         at gov.ms.mdes.access.batch.op.BatchRepaymentDistributionBalancingReport.performBusinessProcess(BatchRepaymentDistributionBalancingReport.java:75)
>         at gov.ms.mdes.access.batch.framework.BatchManager.runBatch(BatchManager.java:219)
>         at gov.ms.mdes.access.batch.framework.scheduling.impl.quartz.job.CustomJob.executeBatch(CustomJob.java:83)
>         at gov.ms.mdes.access.batch.framework.scheduling.impl.quartz.job.CustomJob.access$000(CustomJob.java:25)
>         at gov.ms.mdes.access.batch.framework.scheduling.impl.quartz.job.CustomJob$BatchThread.run(CustomJob.java:160)
> Caused by: javax.jcr.InvalidItemStateException: Item cannot be saved because it has beenmodified externally: node /
>         at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:104)
>         at org.apache.jackrabbit.rmi.server.ServerSession.save(ServerSession.java:212)
>         at sun.reflect.GeneratedMethodAccessor5639.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
>         at sun.rmi.transport.Transport$1.run(Transport.java:153)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
>         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
>         at java.lang.Thread.run(Thread.java:595)
>         at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
>         at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
>         at org.apache.jackrabbit.rmi.server.ServerXASession_Stub.save(Unknown Source)
>         at org.apache.jackrabbit.rmi.client.ClientSession.save(ClientSession.java:208)
>         at gov.ms.mdes.access.framework.dms.DmsDataTemplate.save(DmsDataTemplate.java:77)
>         ... 6 more
>  
> Inner Exception: 
> javax.jcr.InvalidItemStateException: Item cannot be saved because it has beenmodified externally: node /
>         at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:104)
>         at org.apache.jackrabbit.rmi.server.ServerSession.save(ServerSession.java:212)
>         at sun.reflect.GeneratedMethodAccessor5639.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
>         at sun.rmi.transport.Transport$1.run(Transport.java:153)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
>         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
>         at java.lang.Thread.run(Thread.java:595)
>         at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
>         at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
>         at org.apache.jackrabbit.rmi.server.ServerXASession_Stub.save(Unknown Source)
>         at org.apache.jackrabbit.rmi.client.ClientSession.save(ClientSession.java:208)
>         at gov.ms.mdes.access.framework.dms.DmsDataTemplate.save(DmsDataTemplate.java:77)
>         at gov.ms.mdes.access.framework.dms.BaseDmsDAO.save(BaseDmsDAO.java:40)
>         at gov.ms.mdes.access.batch.op.BatchRepaymentDistributionBalancingReport.performBusinessProcess(BatchRepaymentDistributionBalancingReport.java:75)
>         at gov.ms.mdes.access.batch.framework.BatchManager.runBatch(BatchManager.java:219)
>         at gov.ms.mdes.access.batch.framework.scheduling.impl.quartz.job.CustomJob.executeBatch(CustomJob.java:83)
>         at gov.ms.mdes.access.batch.framework.scheduling.impl.quartz.job.CustomJob.access$000(CustomJob.java:25)
>         at gov.ms.mdes.access.batch.framework.scheduling.impl.quartz.job.CustomJob$BatchThread.run(CustomJob.java:160)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.