I have been working on persisting knowledge sessions to an H2 database that are used for long running processes.  The question I have is surrounding the following description:

-        - A stateful knowledge session is created using the JPAKnowledgeService and persisted to a database.

-        - A process is started within the knowledge session.

-        - The process contains a human task blocking the completion of the process.

Because the stateful nature of the knowledge session, an instance of the process is inserted into the processinstanceinfo table and an instance of the human task is inserted into the task table.  State is therefore maintained until the human task is completed and the process can continue execution.


While the knowledge session, process and human task are awaiting completion, is it possible to upgrade the version of Drools/jBPM being used?  Will the upgrade effect the de-serialization of the objects from the database or will they be able to be retrieved and used as before?  Is there a best practice for accomplishing upgrading drools versions with knowledge sessions that may have been previously existing?


Thanks,

-          Darin