You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by "Mani, Nithya" <Ni...@softwareag.com> on 2007/11/28 16:59:36 UTC

javax.jcr.InvalidItemStateException in clustered environment

Hi,

 

I have a problem with cluster environment on document creation when one
of the nodes goes down.

 

Here is my environment and the steps that we can reproduce

 

Environment:

 

Server : webLogic 8.1.6 - cluster configuration with 2 managed
servers(MS1 and MS2) and proxy settings.

 

 

Steps:

 

1.	Create a directory. Eg: Directory1
2.	Create a document under Directory1. Eg: doc1
3.	Stop MS1
4.	Create another document called, doc2 under Directory1.

 

Exception:

 

javax.jcr.InvalidItemStateException:
024b0399-012b-4c8a-b9a7-f5df6955cb74/{}id: the item cannot be saved
because it has been modified externally.

        at
org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:386
)

        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1069)

        at
org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:823)

        at
com.webmethods.registry.repository.be.JCRRepositoryManager.addDirectory(
JCRRepositoryManager.java:129)

        at
com.webmethods.registry.repository.be.RepositoryManager.addDirectory(Rep
ositoryManager.java:174)

        at
com.webmethods.registry.repository.be.RepositoryManager.addDirectories(R
epositoryManager.java:687)

        at
com.webmethods.registry.repository.be.RepositoryManager.createParent(Rep
ositoryManager.java:400)

        at
com.webmethods.registry.repository.be.RepositoryManager.addDocuments(Rep
ositoryManager.java:268)

        at
com.webmethods.registry.repository.provider.binding.ejb.RepositoryLifeCy
cleManagerBaseEJB.addDocuments(RepositoryLifeCycleManagerBaseEJB.java:70
)

        at
com.webmethods.registry.repository.provider.binding.ejb.RepositoryLifeCy
cleLocalManagerEJB_d7ae5a_ELOImpl.addDocuments(RepositoryLifeCycleLocalM
anagerEJB_d7ae5a_ELOImpl.java:683)

        at
com.webmethods.registry.repository.client.adaptor.local.RepositoryLifeCy
cleManagerLocalProxy.addDocuments(RepositoryLifeCycleManagerLocalProxy.j
ava:53)

        at
com.webmethods.registry.repository.client.RepositoryLifeCycleManager.add
Documents(RepositoryLifeCycleManager.java:78)

        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveDoc
uments(AssetExtractor.java:277)

        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveDoc
uments(AssetExtractor.java:252)

        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveAss
ets(AssetExtractor.java:244)

        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.commitS
ession(AssetExtractor.java:172)

        at
com.webmethods.registry.assets.provider.binding.db.AssetsLifeCycleManage
rBaseEJB.saveAsset(AssetsLifeCycleManagerBaseEJB.java:72)

        at
com.webmethods.registry.assets.provider.binding.db.AssetsLifeCycleManage
rEJB_p33shf_ELOImpl.saveAsset(AssetsLifeCycleManagerEJB_p33shf_ELOImpl.j
ava:46)

        at
com.webmethods.registry.assets.client.adaptor.local.AssetsLifeCycleManag
erLocalProxy.saveAsset(AssetsLifeCycleManagerLocalProxy.java:37)

        at
com.webmethods.registry.assets.client.AssetsLifeCycleManager.saveAsset(A
ssetsLifeCycleManager.java:878)

        at
org.apache.jsp.html.portlet.infravio.registry.catalog.assets.asset.save_
005fasset_jsp.saveAsset(Lcom.webmethods.registry.assets.api.infomodel.IA
ssetType;Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Lcom.infr
avio.registry.commons.util.SchemaModel;Ljava.lang.String;Ljava.lang.Stri
ng;Ljava.lang.String;Ljava.lang.String;Lcom.webmethods.registry.assets.a
pi.IAssetsLifeCycleManager;Lcom.webmethods.registry.assets.api.IAssetsQu
eryManager;)Lcom.webmethods.registry.assets.client.infomodel.AssetRespon
se;(Unknown Source)

        at
org.apache.jsp.html.portlet.infravio.registry.catalog.assets.asset.save_
005fasset_jsp._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.
servlet.http.HttpServletResponse;)V(Unknown Source)

        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvletStubImpl.java:1077)

        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java:465)

        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)

        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)

        at
com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:94)

        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)

        at
com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFi
lter.java:124)

        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)

 

 

Note: - Things were working fine if MS 2 is down and MS1 is up.

 

What could be the problem? Is there any idea how we overcome this?

 

Thanks,

NithyaM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


EMERGENCY: javax.jcr.InvalidItemStateException in clustered environment

Posted by "Mani, Nithya" <Ni...@softwareag.com>.
Hi, 

I have a problem with cluster environment on document creation when one
of the nodes goes down.
Here is my environment and the steps that we can reproduce

Environment:
webLogic 8.1.6 - cluster configuration with 2 managed
servers(MS1 and MS2) and proxy settings.

Steps:
1.	Create a directory. Eg: Directory1
2.	Create a document under Directory1. Eg: doc1
3.	Stop MS1
4.	Create another document called, doc2 under Directory1.


Exception:
javax.jcr.InvalidItemStateException:
024b0399-012b-4c8a-b9a7-f5df6955cb74/{}id: the item cannot be saved
because it has been modified externally.
        at
org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:386
)
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1069)
        at
org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:823)
        at
com.webmethods.registry.repository.be.JCRRepositoryManager.addDirectory(
JCRRepositoryManager.java:129)
        at
com.webmethods.registry.repository.be.RepositoryManager.addDirectory(Rep
ositoryManager.java:174)
        at
com.webmethods.registry.repository.be.RepositoryManager.addDirectories(R
epositoryManager.java:687)
        at
com.webmethods.registry.repository.be.RepositoryManager.createParent(Rep
ositoryManager.java:400)
        at
com.webmethods.registry.repository.be.RepositoryManager.addDocuments(Rep
ositoryManager.java:268)
        at
com.webmethods.registry.repository.provider.binding.ejb.RepositoryLifeCy
cleManagerBaseEJB.addDocuments(RepositoryLifeCycleManagerBaseEJB.java:70
)
        at
com.webmethods.registry.repository.provider.binding.ejb.RepositoryLifeCy
cleLocalManagerEJB_d7ae5a_ELOImpl.addDocuments(RepositoryLifeCycleLocalM
anagerEJB_d7ae5a_ELOImpl.java:683)
        at
com.webmethods.registry.repository.client.adaptor.local.RepositoryLifeCy
cleManagerLocalProxy.addDocuments(RepositoryLifeCycleManagerLocalProxy.j
ava:53)
        at
com.webmethods.registry.repository.client.RepositoryLifeCycleManager.add
Documents(RepositoryLifeCycleManager.java:78)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveDoc
uments(AssetExtractor.java:277)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveDoc
uments(AssetExtractor.java:252)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveAss
ets(AssetExtractor.java:244)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.commitS
ession(AssetExtractor.java:172)
        at
com.webmethods.registry.assets.provider.binding.db.AssetsLifeCycleManage
rBaseEJB.saveAsset(AssetsLifeCycleManagerBaseEJB.java:72)
        at
com.webmethods.registry.assets.provider.binding.db.AssetsLifeCycleManage
rEJB_p33shf_ELOImpl.saveAsset(AssetsLifeCycleManagerEJB_p33shf_ELOImpl.j
ava:46)
        at
com.webmethods.registry.assets.client.adaptor.local.AssetsLifeCycleManag
erLocalProxy.saveAsset(AssetsLifeCycleManagerLocalProxy.java:37)
        at
com.webmethods.registry.assets.client.AssetsLifeCycleManager.saveAsset(A
ssetsLifeCycleManager.java:878)
        at
org.apache.jsp.html.portlet.infravio.registry.catalog.assets.asset.save_
005fasset_jsp.saveAsset(Lcom.webmethods.registry.assets.api.infomodel.IA
ssetType;Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Lcom.infr
avio.registry.commons.util.SchemaModel;Ljava.lang.String;Ljava.lang.Stri
ng;Ljava.lang.String;Ljava.lang.String;Lcom.webmethods.registry.assets.a
pi.IAssetsLifeCycleManager;Lcom.webmethods.registry.assets.api.IAssetsQu
eryManager;)Lcom.webmethods.registry.assets.client.infomodel.AssetRespon
se;(Unknown Source)
        at
org.apache.jsp.html.portlet.infravio.registry.catalog.assets.asset.save_
005fasset_jsp._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.
servlet.http.HttpServletResponse;)V(Unknown Source)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvletStubImpl.java:1077)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java:465)
        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)
        at
com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:94)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)
        at
com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFi
lter.java:124)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)

Note: - Things were working fine if MS 2 is down and MS1 is up.
What could be the problem? Is there any idea how we overcome this?

Thanks,
NithyaM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


EMERGENCY: javax.jcr.InvalidItemStateException in clustered environment

Posted by "Mani, Nithya" <Ni...@softwareag.com>.
Hi, 

I have a problem with cluster environment on document creation when one
of the nodes goes down.
Here is my environment and the steps that we can reproduce

Environment:
webLogic 8.1.6 - cluster configuration with 2 managed
servers(MS1 and MS2) and proxy settings.

Steps:
1.	Create a directory. Eg: Directory1
2.	Create a document under Directory1. Eg: doc1
3.	Stop MS1
4.	Create another document called, doc2 under Directory1.


Exception:
javax.jcr.InvalidItemStateException:
024b0399-012b-4c8a-b9a7-f5df6955cb74/{}id: the item cannot be saved
because it has been modified externally.
        at
org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:386
)
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1069)
        at
org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:823)
        at
com.webmethods.registry.repository.be.JCRRepositoryManager.addDirectory(
JCRRepositoryManager.java:129)
        at
com.webmethods.registry.repository.be.RepositoryManager.addDirectory(Rep
ositoryManager.java:174)
        at
com.webmethods.registry.repository.be.RepositoryManager.addDirectories(R
epositoryManager.java:687)
        at
com.webmethods.registry.repository.be.RepositoryManager.createParent(Rep
ositoryManager.java:400)
        at
com.webmethods.registry.repository.be.RepositoryManager.addDocuments(Rep
ositoryManager.java:268)
        at
com.webmethods.registry.repository.provider.binding.ejb.RepositoryLifeCy
cleManagerBaseEJB.addDocuments(RepositoryLifeCycleManagerBaseEJB.java:70
)
        at
com.webmethods.registry.repository.provider.binding.ejb.RepositoryLifeCy
cleLocalManagerEJB_d7ae5a_ELOImpl.addDocuments(RepositoryLifeCycleLocalM
anagerEJB_d7ae5a_ELOImpl.java:683)
        at
com.webmethods.registry.repository.client.adaptor.local.RepositoryLifeCy
cleManagerLocalProxy.addDocuments(RepositoryLifeCycleManagerLocalProxy.j
ava:53)
        at
com.webmethods.registry.repository.client.RepositoryLifeCycleManager.add
Documents(RepositoryLifeCycleManager.java:78)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveDoc
uments(AssetExtractor.java:277)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveDoc
uments(AssetExtractor.java:252)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.saveAss
ets(AssetExtractor.java:244)
        at
com.webmethods.registry.assets.provider.extractor.AssetExtractor.commitS
ession(AssetExtractor.java:172)
        at
com.webmethods.registry.assets.provider.binding.db.AssetsLifeCycleManage
rBaseEJB.saveAsset(AssetsLifeCycleManagerBaseEJB.java:72)
        at
com.webmethods.registry.assets.provider.binding.db.AssetsLifeCycleManage
rEJB_p33shf_ELOImpl.saveAsset(AssetsLifeCycleManagerEJB_p33shf_ELOImpl.j
ava:46)
        at
com.webmethods.registry.assets.client.adaptor.local.AssetsLifeCycleManag
erLocalProxy.saveAsset(AssetsLifeCycleManagerLocalProxy.java:37)
        at
com.webmethods.registry.assets.client.AssetsLifeCycleManager.saveAsset(A
ssetsLifeCycleManager.java:878)
        at
org.apache.jsp.html.portlet.infravio.registry.catalog.assets.asset.save_
005fasset_jsp.saveAsset(Lcom.webmethods.registry.assets.api.infomodel.IA
ssetType;Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Lcom.infr
avio.registry.commons.util.SchemaModel;Ljava.lang.String;Ljava.lang.Stri
ng;Ljava.lang.String;Ljava.lang.String;Lcom.webmethods.registry.assets.a
pi.IAssetsLifeCycleManager;Lcom.webmethods.registry.assets.api.IAssetsQu
eryManager;)Lcom.webmethods.registry.assets.client.infomodel.AssetRespon
se;(Unknown Source)
        at
org.apache.jsp.html.portlet.infravio.registry.catalog.assets.asset.save_
005fasset_jsp._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.
servlet.http.HttpServletResponse;)V(Unknown Source)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvletStubImpl.java:1077)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java:465)
        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)
        at
com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:94)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)
        at
com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFi
lter.java:124)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:
27)

Note: - Things were working fine if MS 2 is down and MS1 is up.
What could be the problem? Is there any idea how we overcome this?

Thanks,
NithyaM