Hi Maciej, I have tried it both ways, resulting in error both.
At the present moment we have been working in a workaround in which we have patched the drools code that loads the session in order to perform a migration from one database to another. And our first experiments tell us that this is working.
We have separated the load process in two parts: a first in which the first part of the session is read using the "old" knowledge base. This allows to build the structure associated to the rete tree correctly in the old knowledge base.
Then, it comes a second part in which a second session is built on the "new" knowledge base, and the facts of the first session are added to it (we added an activation filter in order to avoid activations derived from this initial load to be executed). The the load process continues with the rest of the session information but over this second session (timers and processes mainly).
This is in fact too tricky, but it has shown to work till the moment, while we explore further a definitive solution in the line you commented (guvnor, compiled packages, snaptshots, in combination with the knowledge agent), if possible without performing any drools patch.
regards,
Jordi