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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content