1 Reply Latest reply on Feb 26, 2013 1:38 PM by Maciej Swiderski

    Unable to view instance data in jBPM console when using postgresql

    Rahul Agrawal Newbie

      Hi All,

      I am using the postgresql as process database. When I select any processinstance and click on Instance Data button on jBPM console I get the following exception.

       

      org.hibernate.exception.SQLGrammarException: could not update: [org.jbpm.persistence.processinstance.ProcessInstanceInfo#346]

                at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)

                at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

                at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2453)

                at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)

                at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)

                at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)

                at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)

                at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)

                at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)

                at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)

                at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)

                at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)

                at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)

                at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)

                at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)

                at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:269)

                at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)

                at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)

                at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1423)

                at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)

                at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

                at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)

                at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)

                at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:348)

                at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.getProcessInstance(CommandBasedStatefulKnowledgeSession.java:125)

                at org.jbpm.integration.console.CommandDelegate.getProcessInstanceVariables(CommandDelegate.java:318)

                at org.jbpm.integration.console.ProcessManagement.getInstanceData(ProcessManagement.java:93)

                at org.jboss.bpm.console.server.ProcessMgmtFacade.getInstanceData(ProcessMgmtFacade.java:224)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                at java.lang.reflect.Method.invoke(Method.java:597)

                at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)

                at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)

                at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)

                at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)

                at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)

                at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)

                at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)

                at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)

                at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)

                at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)

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

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

                at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)

                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)

                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)

                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)

                at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)

                at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)

                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)

                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)

                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)

                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

                at java.lang.Thread.run(Thread.java:662)

      Caused by: org.postgresql.util.PSQLException: ERROR: column "processinstancebytearray" is of type oid but expression is of type bytea

                at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)

                at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)

                at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)

                at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)

                at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)

                at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:305)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                at java.lang.reflect.Method.invoke(Method.java:597)

                at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:471)

                at $Proxy463.executeUpdate(Unknown Source)

                at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365)

                at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)

                ... 64 more

       

       

      Is it hibernate issue or issue with BMT?

      Initially I have an empty process db. When I tried deploying jBPM console but I got similar error while persisting the SessionInfo instances. Then using an application I created those instances, even process instance is also started by using an external application, the link to which is provided in jBPM console. The external application uses CMT.

       

      Please help