How to migrate runtime data from jBPM 5.1 to BRMS 5.3.1 ?

Solution Verified - Updated -

Issue

When BRMS instance is being started there is an exception in the log.

The Code snippet when the error is received:

final Collection<StatefulKnowledgeSession> knowledgeSessions = knowledgeBase.getStatefulKnowledgeSessions();

ERROR LOG:

2013-08-23 12:42:48,253 [main] ERROR com.sample.LoadKnowledgeSessionOnStart - Could not load session with id: 36980
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
 at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:114)
 at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.loadStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:82)
 at org.drools.persistence.jpa.JPAKnowledgeService.loadStatefulKnowledgeSession(JPAKnowledgeService.java:131)
 at com.sample.ProcessHandler.loadKnowledgeSession(ProcessHandler.java:203)
 at com.sample.ProcessHandler.createNewSnapshotOfKnowledgeSessionFrom(ProcessHandler.java:176)
 at com.sample.ProcessHandler.disposeAndCreateNewSnapshotOfKnowledgeSession(ProcessHandler.java:169)
 at com.sample.ProcessHandler.getKnowledgeSession(ProcessHandler.java:157)
 at com.sample.LoadKnowledgeSessionOnStart.loadKnowledgeSession(LoadKnowledgeSessionOnStart.java:34)
 at com.sample.BMPEServletContainer.init(BMPEServletContainer.java:46)
 at javax.servlet.GenericServlet.init(GenericServlet.java:212)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
 at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
 at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
 at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:99)
 ... 35 more
Caused by: java.lang.RuntimeException: Unable to load session snapshot
 at org.drools.persistence.SessionMarshallingHelper.loadSnapshot(SessionMarshallingHelper.java:96)
 at org.drools.persistence.SingleSessionCommandService.initKsession(SingleSessionCommandService.java:244)
 at org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:192)
 ... 40 more
Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
 at com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:68)
 at com.google.protobuf.CodedInputStream.readTag(CodedInputStream.java:108)
 at org.drools.marshalling.impl.ProtobufMessages$Header$Builder.mergeFrom(ProtobufMessages.java:967)
 at org.drools.marshalling.impl.ProtobufMessages$Header$Builder.mergeFrom(ProtobufMessages.java:773)
 at com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:212)
 at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:746)
 at org.drools.marshalling.impl.ProtobufMessages$Header.parseFrom(ProtobufMessages.java:724)
 at org.drools.marshalling.impl.PersisterHelper.readFromStreamWithHeader(PersisterHelper.java:234)
 at org.drools.marshalling.impl.ProtobufInputMarshaller.loadAndParseSession(ProtobufInputMarshaller.java:220)
 at org.drools.marshalling.impl.ProtobufInputMarshaller.readSession(ProtobufInputMarshaller.java:151)
 at org.drools.marshalling.impl.ProtobufMarshaller.unmarshall(ProtobufMarshaller.java:117)
 at org.drools.persistence.SessionMarshallingHelper.loadSnapshot(SessionMarshallingHelper.java:91)
 ... 42 more

What is the reason for this behavior ?

Environment

  • jBPM 5.1 (community)
  • Red Hat JBoss BRMS 5.3.1 (includes jBPM engine based on jBPM 5.2.x)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.