0 Replies Latest reply on Aug 29, 2015 8:16 AM by Brian Wallis

    Version 2.8.4 - violates foreign key constraint on table "mode_simple_node"

    Brian Wallis Master

      We are seeing a strange error under high load using Modeshape 2.8.4 with the JPA adapter for persistence running in JBoss AS 6.1 (JDK 1.6). (I know, I should upgrade to version 4. Will happen over our xmas break but I need this to work with 2.8.4 until then).

       

      The error occurs after some hours of load testing where we are inserting a lot of nodes (document_node), adding an updating some child nodes of that node and then deleting the document_nodes. The structure is /root/dir-node/document_node/... We never delete the dir-nodes and each of those contain a few to a few hundred document nodes.

       

      The error shown below happens when we try to delete a document_node. This only happens under high load and only happens randomly. After the error had occurred we cannot delete any more document nodes at all until we have done a restart after which it is all OK again until the next time the foreign key constraint error happens again.

       

      Any ideas what we could try to fix this? The delete is occurring within a container managed transaction as part of the thread of control from a message driven bean.

       

      Any help or suggestions at all to find this would be most appreciated.

       

      thanks.

       

      Modeshape Config is:

       

      <configuration xmlns:mode="http://www.modeshape.org/1.0"
        xmlns:jcr="http://www.jcp.org/jcr/1.0">
      
      
        <!-- Define the JCR repositories -->
        <mode:repositories>
      
      
        <mode:repository jcr:name="DocumentStore" mode:source="JPA Store">
        <mode:options jcr:primaryType="options">
        <mode:option jcr:name="projectNodeTypes" mode:value="true" />
        <mode:option jcr:name="systemSourceName" mode:value="system@JPA Store" />
        <mode:option jcr:name="jaasLoginConfigName" mode:value="modeshape" />
        <mode:option jcr:name="queryIndexDirectory" mode:value="/Users/bwallis/InfoMedix/JBoss/UDR/udr_data/harvey/harvey_jcr_data/store/indexes" />
        <mode:option jcr:name="queryExecutionEnabled" mode:value="false" />
        <mode:option jcr:name="performReferentialIntegrityChecks" mode:value="false" />
        <mode:option jcr:name="queryIndexesUpdatedSynchronously" mode:value="false" />
        <mode:option jcr:name="queryIndexesRebuiltSynchronously" mode:value="false" />
        <!-- specifies the strategy (always or ifMissing) used to determine which
        query indexes need to be rebuilt when the repository restarts -->
        <mode:option jcr:name="rebuildQueryIndexOnStartup" mode:value="ifMissing" />
      
      
        </mode:options>
        </mode:repository>
        </mode:repositories>
      
      
        <!-- Define the sources used by the repository (or repositories) to store
        and access the content -->
        <mode:sources jcr:primaryType="nt:unstructured">
        <mode:source jcr:name="JPA Store"
        mode:classname="org.modeshape.connector.store.jpa.JpaSource"
        mode:isolationLevel="TRANSACTION_NONE"
        mode:dataSourceJndiName="java:jdbc/DocumentStoreDS" 
        mode:model="Simple"
        mode:dialect="org.hibernate.dialect.PostgreSQLDialect"
        mode:referentialIntegrityEnforced="false" 
        mode:largeValueSizeInBytes="10000"
        mode:retryLimit="3" 
        mode:compressData="false"
        mode:predefinedWorkspaceNames="default,system" 
        mode:showSql="false"
        mode:autoGenerateSchema="validate" 
        mode:creatingWorkspacesAllowed="true"
        mode:defaultWorkspaceName="default">
        </mode:source>
        </mode:sources>
      
      
        <mode:sequencers>
        </mode:sequencers>
      
      
      </configuration>
      

       

      and the error we get is:

       

       

      2015-08-21 04:35:15,387 WARN  [org.hibernate.util.JDBCExceptionReporter] (JCR JPA Store-3-thread-642) SQL Error: 0, SQLState: 23503
      2015-08-21 04:35:15,387 ERROR [org.hibernate.util.JDBCExceptionReporter] (JCR JPA Store-3-thread-642) ERROR: update or delete on table "mode_simple_node" violates foreign key constraint "fke43e2bd360f39011" on table "mode_simple_node"
        Detail: Key (id)=(37240) is still referenced from table "mode_simple_node".
      2015-08-21 04:35:15,390 ERROR [au.com.infomedix.harvey.documentstore.jcr.DocumentStoreJcrBean] (pool-1-thread-11) Repository error during Delete DocumentGroupNode: 4d00b8b4-3e7b-4d0a-9daa-aaab2f2cf00f: javax.jcr.RepositoryException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute update query
        at org.modeshape.jcr.SessionCache.save(SessionCache.java:482) [:2.8.4.Final]
        at org.modeshape.jcr.JcrSession.save(JcrSession.java:1312) [:2.8.4.Final]
        at au.com.infomedix.harvey.documentstore.jcr.DocumentStoreJcrBean.deleteDocumentGroupNode(DocumentStoreJcrBean.java:848) [:]
        at sun.reflect.GeneratedMethodAccessor690.invoke(Unknown Source) [:1.6.0_37]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_37]
        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_37]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptors.container.ContainerMethodInvocationWrapper.invokeNext(ContainerMethodInvocationWrapper.java:72) [:1.1.3]
        at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76) [:1.1.3]
        at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62) [:1.1.3]
        at sun.reflect.GeneratedMethodAccessor448.invoke(Unknown Source) [:1.6.0_37]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_37]
        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_37]
        at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:74) [:1.1.3]
        at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_1700083941.invoke(InvocationContextInterceptor_z_fillMethod_1700083941.java) [:]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:90) [:1.1.3]
        at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_1700083941.invoke(InvocationContextInterceptor_z_setup_1700083941.java) [:]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.async.impl.interceptor.AsynchronousServerInterceptor.invoke(AsynchronousServerInterceptor.java:128) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.4]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.core.context.SessionInvocationContextAdapter.proceed(SessionInvocationContextAdapter.java:95) [:1.7.21]
        at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:223) [:0.0.2]
        at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.required(CMTTxInterceptor.java:353) [:0.0.2]
        at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invoke(CMTTxInterceptor.java:209) [:0.0.2]
        at org.jboss.ejb3.tx2.aop.CMTTxInterceptorWrapper.invoke(CMTTxInterceptorWrapper.java:52) [:0.0.2]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) [:1.0.0.GA]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.4]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:182) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:333) [:1.7.21]
        at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:390) [:1.7.21]
        at sun.reflect.GeneratedMethodAccessor454.invoke(Unknown Source) [:1.6.0_37]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_37]
        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_37]
        at org.jboss.ejb3.proxy.impl.handler.session.SessionLocalProxyInvocationHandler$LocalContainerInvocation.invokeTarget(SessionLocalProxyInvocationHandler.java:184) [:1.0.11]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.async.impl.interceptor.AsynchronousClientInterceptor.invoke(AsynchronousClientInterceptor.java:143) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.proxy.impl.handler.session.SessionLocalProxyInvocationHandler$LocalInvokableContextHandler.invoke(SessionLocalProxyInvocationHandler.java:159) [:1.0.11]
        at $Proxy351.invoke(Unknown Source) at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:185) [:1.0.11]
        at $Proxy320.deleteDocumentGroupNode(Unknown Source) at au.com.infomedix.harvey.bpm.BpmDataHelper.deleteDocumentGroupNode(BpmDataHelper.java:45) [:]
        at au.com.infomedix.harvey.bpm.itemhandler.RemoveJcrNodeHandler.executeWorkItem(RemoveJcrNodeHandler.java:44) [:]
        at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:53) [:5.2.0.Final]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:105) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150) [:]
        at org.jbpm.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152) [:]
        at org.jbpm.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) [:]
        at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:100) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150) [:]
        at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47) [:]
        at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162) [:]
        at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:143) [:]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:239) [:]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:301) [:]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:277) [:]
        at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:333) [:]
        at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:119) [:5.2.0.Final]
        at au.com.infomedix.harvey.bpm.itemhandler.ExportToCPFHandler.executeWorkItem(ExportToCPFHandler.java:45) [:]
        at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:53) [:5.2.0.Final]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:105) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150) [:]
        at org.jbpm.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152) [:]
        at org.jbpm.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) [:]
        at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:100) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185) [:]
        at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150) [:]
        at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47) [:]
        at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162) [:]
        at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:143) [:]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:239) [:]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:301) [:]
        at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:277) [:]
        at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:333) [:]
        at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:119) [:5.2.0.Final]
        at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:69) [:5.2.0.Final]
        at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:32) [:5.2.0.Final]
        at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:292) [:5.2.0.Final]
        at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:149) [:5.2.0.Final]
        at au.com.infomedix.harvey.bpm.events.HumanTaskCompletedReceiver.onMessage(HumanTaskCompletedReceiver.java:66) [:]
        at sun.reflect.GeneratedMethodAccessor598.invoke(Unknown Source) [:1.6.0_37]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_37]
        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_37]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptors.container.ContainerMethodInvocationWrapper.invokeNext(ContainerMethodInvocationWrapper.java:72) [:1.1.3]
        at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76) [:1.1.3]
        at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62) [:1.1.3]
        at sun.reflect.GeneratedMethodAccessor448.invoke(Unknown Source) [:1.6.0_37]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_37]
        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_37]
        at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:74) [:1.1.3]
        at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_1700083941.invoke(InvocationContextInterceptor_z_fillMethod_1700083941.java) [:]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:90) [:1.1.3]
        at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_1700083941.invoke(InvocationContextInterceptor_z_setup_1700083941.java) [:]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.async.impl.interceptor.AsynchronousServerInterceptor.invoke(AsynchronousServerInterceptor.java:110) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.4]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.core.context.InvocationContextAdapter.proceed(InvocationContextAdapter.java:70) [:1.7.21]
        at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:223) [:0.0.2]
        at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.required(CMTTxInterceptor.java:353) [:0.0.2]
        at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invoke(CMTTxInterceptor.java:209) [:0.0.2]
        at org.jboss.ejb3.tx2.aop.CMTTxInterceptorWrapper.invoke(CMTTxInterceptorWrapper.java:52) [:0.0.2]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.4]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:79) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) [:1.7.21]
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.2.GA]
        at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:306) [:1.7.21]
        at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:299) [:1.7.21]
        at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:152) [:1.7.21]
        at $Proxy387.onMessage(Unknown Source) at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123) [:5.4.2]
        at org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64) [:5.4.2]
        at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:833) [:5.4.2]
        at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169) [:5.4.2]
        at org.jboss.resource.work.WorkWrapper.run(WorkWrapper.java:172) [:6.1.0.Final]
        at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) [:2.0.0.CR7]
        at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801) [:2.0.0.CR7]
        at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) [:2.0.0.CR7]
        at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:842) [:2.0.0.CR7]
        at java.lang.Thread.run(Thread.java:662) [:1.6.0_37]
        at org.jboss.threads.JBossThread.run(JBossThread.java:122) [:2.0.0.CR7]
      Caused by: org.modeshape.graph.connector.RepositorySourceException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute update query
        at org.modeshape.graph.session.GraphSession.save(GraphSession.java:1052) [:2.8.4.Final]
        at org.modeshape.jcr.SessionCache.save(SessionCache.java:476) [:2.8.4.Final]
        ... 182 more
      Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute update query
        at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1215) [:3.6.6.Final]
        at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1148) [:3.6.6.Final]
        at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1225) [:3.6.6.Final]
        at org.hibernate.ejb.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:108) [:3.6.6.Final]
        at org.modeshape.connector.store.jpa.model.simple.SubgraphQuery.deleteSubgraph(SubgraphQuery.java:217) [:2.8.4.Final]
        at org.modeshape.connector.store.jpa.model.simple.SimpleJpaRepository$Workspace.removeUuidReference(SimpleJpaRepository.java:420) [:2.8.4.Final]
        at org.modeshape.graph.connector.map.AbstractMapWorkspace.removeNode(AbstractMapWorkspace.java:268) [:2.8.4.Final]
        at org.modeshape.graph.connector.map.MapRequestProcessor.process(MapRequestProcessor.java:315) [:2.8.4.Final]
        at org.modeshape.graph.request.processor.RequestProcessor.process(RequestProcessor.java:256) [:2.8.4.Final]
        at org.modeshape.graph.request.processor.RequestProcessor.process(RequestProcessor.java:363) [:2.8.4.Final]
        at org.modeshape.graph.request.processor.RequestProcessor.process(RequestProcessor.java:235) [:2.8.4.Final]
        at org.modeshape.connector.store.jpa.model.simple.SimpleJpaConnection.execute(SimpleJpaConnection.java:133) [:2.8.4.Final]
        at org.modeshape.graph.connector.RepositoryConnectionPool$ConnectionWrapper.execute(RepositoryConnectionPool.java:1124) [:2.8.4.Final]
        at org.modeshape.graph.request.CompositeRequestChannel$2.call(CompositeRequestChannel.java:223) [:2.8.4.Final]
        at org.modeshape.graph.request.CompositeRequestChannel$2.call(CompositeRequestChannel.java:212) [:2.8.4.Final]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_37]
        at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_37]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_37]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_37]
        at java.lang.Thread.run(Thread.java:662) [:1.6.0_37]
      Caused by: org.hibernate.exception.ConstraintViolationException: could not execute update query
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96) [:3.6.6.Final]
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) [:3.6.6.Final]
        at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:110) [:3.6.6.Final]
        at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:421) [:3.6.6.Final]
        at org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:283) [:3.6.6.Final]
        at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1288) [:3.6.6.Final]
        at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:117) [:3.6.6.Final]
        at org.hibernate.ejb.QueryImpl.internalExecuteUpdate(QueryImpl.java:188) [:3.6.6.Final]
        at org.hibernate.ejb.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:99) [:3.6.6.Final]
        ... 16 more
      Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "mode_simple_node" violates foreign key constraint "fke43e2bd360f39011" on table "mode_simple_node"
        Detail: Key (id)=(37240) is still referenced from table "mode_simple_node".
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103) [:]
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836) [:]
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) [:]
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512) [:]
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) [:]
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334) [:]
        at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365) [:6.1.0.Final]
        at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:101) [:3.6.6.Final]
        ... 22 more