cancel
Showing results for 
Search instead for 
Did you mean: 

upgrading from 5.6 to 5.14, data migratable?

yangyang_qian
Champ in-the-making
Champ in-the-making
We are trying to upgrade our Activiti engine from 5.6 to 5.14 … problem is in our production system, the old data in-flight data needs to be kept alive. I've read in the user guide that using the
 property name="databaseSchemaUpdate" value="true" 

option will upgrade the schema …

We've tried some tests on copies of our dev schema and it wasn't so encouraging. After the upgrade script ran we checked queried a couple of tables and compared them against the "Manage" tab of activit-explorer…

ACT_GE_BYTEARRAY : sqlplus lists 212 rows but activiti-explorer row listed only 20 rows
ACT_RU_EXECUTION : sqlplus lists 120 rows but activiti-explorer row listed 0 rows



<b>… is the old data not being recognized by the engine? Does this mean we can't upgrade our prod data if we want to keep inflight processes?</b>



at least the ACT_GE_PROPERTY table seemed ok
schema.version   5.14   2
schema.history   create(5.6) upgrade(5.6->5.14)   2
next.dbid   48510   486

we are currently using in dev …
Oracle 11g, java 6, Activiti 5.6, tomcat 6
in prod its the same except for Oracle 10g instead

we also noticed this java error the first time we hooked up the old 5.6 db to 5.14 (but does not reappear after db has already been upgraded), not sure if it is related at all …

26-Nov-2013 23:09:59.205 SEVERE [localhost-startStop-1] org.apache.catalina.session.StandardManager.doLoad IOException while loading persisted sessions: java.io
.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.activiti.workflow.simple.converter.json.SimpleWorkflowJsonConverter
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.activiti.workflow.simple.converter.json.SimpleWorkflowJsonConverter
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
        at java.util.LinkedList.readObject(LinkedList.java:1136)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1872)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
        at org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1623)
        at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1088)
        at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:264)
        at org.apache.catalina.session.StandardManager.load(StandardManager.java:183)
        at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:473)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5293)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:968)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1742)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.NotSerializableException: org.activiti.workflow.simple.converter.json.SimpleWorkflowJsonConverter
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
        at java.util.LinkedList.writeObject(LinkedList.java:1118)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
        at org.apache.catalina.session.StandardSession.doWriteObject(StandardSession.java:1699)
        at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1105)
        at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:414)
        at org.apache.catalina.session.StandardManager.unload(StandardManager.java:333)
        at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:500)
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
        at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5495)
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1406)
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1395)
        … 5 more
3 REPLIES 3

trademak
Star Contributor
Star Contributor
We only provide support for database upgrades from 5.7 onwards. Our QA is testing this.
For 5.6 or earlier we don't have these tests.
I would rely on sqlplus instead of the Activiti Explorer for the database content.
The exception you included is just a session serialisation issue, so nothing serious.
But are you experiencing real issues?

Best regards,

yangyang_qian
Champ in-the-making
Champ in-the-making
Thanks for the response! Yeah sorry abou the 5.6, we've been stuck on this for a while now.

As for real issues … we haven't yet been able to test hooking up a copy of our dev system to this copy of the 5.6–>5.14 dev db. We're planning on doing just that soon. Its just that we were hoping the 5.6 to 5.14 upgrade would have been a bit more seamless (hehe perhaps a bit desparately I guess), and was a bit dismayed that the 5.14 activiti-explorer did not seem to list of the old inflight executions or the old deployed processes. Anyway, there will be more from us as soon as we can run the test.

Just so I don't misunderstand, is the Activiti QA testing the 5.6 to 5.14 upgrade too by any chance?

trademak
Star Contributor
Star Contributor
No, we only have upgrade tests starting from 5.7. But you could use our upgrade tests to see if there could be issues:

https://github.com/Activiti/Activiti-Upgrade

Best regards,