The following confusing line can be found in business-central: 16:41:51,113 WARN [org.drools.compiler.kie.builder.impl.AbstractKieModule] (MSC service thread 1-3) Compilation cache has been built with an incompatible version, so don't use it Including preceding lines: 16:41:52,622 INFO [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] (MSC service thread 1-3) KieModule was added:ZipKieModule[ ReleaseId=com.bpms.flood:bpms-perf:1.0.0.Finalfile=/home/jsvitak/.m2/repository/com/bpms/flood/bpms-perf/1.0.0.Final/bpms-perf-1.0.0.Final.jar] 16:41:53,254 INFO [org.jbpm.kie.services.impl.store.DeploymentSynchronizer] (MSC service thread 1-3) Deployment unit com.bpms.flood:bpms-perf:1.0.0.Final [strategy=SINGLETON] stored successfully 16:41:51,113 WARN [org.drools.compiler.kie.builder.impl.AbstractKieModule] (MSC service thread 1-3) Compilation cache has been built with an incompatible version, so don't use it This statement is strange. Either there is no problem and this should not be logged or there is a problem, which needs to be fixed or user should be told what he should do with it. If the warning is related to log lines above it should be mentioned and a suggestion for rebuild of the project could be added. My env: BPMS 6.1.0.DR2 EAP 6.3.0
The warning is appropriate, but probably could be rephrased. What it is trying to say is that the kjar has been built with 6.0.x, but now you're running it on 6.1.x. Unfortunately the classes generated with 6.0.x and cached in the kjar are not compatible with 6.1.x runtime (due to a huge refactor we did). This means that the only thing that 6.1.x can do is discarding the classes contained in the kjar cache and regenerate it from scratch. Is the problem clear? Do you agree that it is correct to emit a warning in this case? Could you think to a better sentence to briefly explain what's happening?
Mario, Thank you for the explanation. Now it is clear for me. However on the first sight I was confused and it's possible that a customer can be confused as well. Some statements are still contrary: 'Deployment unit com.bpms.flood:bpms-perf:1.0.0.Final [strategy=SINGLETON] stored successfully' What does it exactly mean, was it really successful? Why was it stored and where, if it is unusable? I think the warning is proper form, but I would rephrase it to be more clear. "The kie project XY stored in compilation cache has been built with an incompatible version. You should recompile your projects in order to use them with current release."
these two log statements do not have anything in common. Deployment stored successfully is issued upon complete and successful deployment to jbpm runtime so it can be preserved across server restarts on propagated within cluster. It is always logged when operation deploy on undeploy is performed and completed with success. HTH
Fixed by https://github.com/droolsjbpm/drools/commit/9b5b971a2
Verified in BPMS 6.1.0.ER2.