Hide Forgot
+++ This bug was initially created as a clone of Bug #1281864 +++ Description of problem: Having a Business Central deployed together with EJB services app to EAP-6.4.4.GA using a Sybase DB. Marshalling error occurs with every query to active process instances, showing "java.lang.ClassNotFoundException: com.sybase.jdbc4.tds.SybTimestamp" as a root cause. Sybase driver probably returns this type for some timestamp column of the ProcessInstanceInfo table and the org.jboss.marshalling.river.RiverUnmarshaller is unable to deal with this class. Similar issue has been already solved with this release, see bug 1263567 Version-Release number of selected component (if applicable): 6.2.0.ER5 How reproducible: always Steps to Reproduce: 1. deploy the EJB services app to EAP 2. trigger RuntimeDataService#getProcessInstances() method using EJB client 3. watch for the error message in response Additional information: this is actually a test blocker for EJB remoting with Sybase DB. --- Additional comment from Maciej Swiderski on 2015-11-17 13:48:07 EST --- fixed on master jbpm master: https://github.com/droolsjbpm/jbpm/commit/78a35ca456c5b6c4afcd6eb1551023147f1cd9da in case it needs to be back ported please assign back to me --- Additional comment from Kris Verlaenen on 2015-11-18 09:59:27 EST --- Requesting backport to 6.3.x --- Additional comment from Maciej Swiderski on 2015-11-18 10:55:35 EST --- back ported to 6.3.x jbpm 6.3.x: https://github.com/droolsjbpm/jbpm/commit/394a79af8d4d0b3cc2303129d56d9ca720665963 --- Additional comment from Radovan Synek on 2015-12-03 05:18:03 EST --- Have to reassign the issue, as it has been fixed only partially - there are additional classes which cannot be serialized during communication via EJB remoting. Basically, every class containing java.util.Date attribute that could be sent via EJB API is hit by this issue. Based on failing tests, here is a list of these classes, but there could be more, please double check it: org.jbpm.kie.services.impl.model.NodeInstanceDesc org.jbpm.kie.services.impl.model.VariableStateDesc org.jbpm.kie.services.impl.model.UserTaskInstanceDesc --- Additional comment from Maciej Swiderski on 2015-12-03 05:22:18 EST --- I am starting to think that we should stop fixing (or sort of going around and impacting other parts of code) because of badly written 3rd party code. In this case our solution should be to recommend end users to add sybase driver on client class path and problem will be solved. Trying to spot all possible cases where sybase impl can get in the way might become a never ending story. Thoughts? --- Additional comment from Radovan Synek on 2015-12-03 07:31:27 EST --- The proposed solution fixes the problem - I suggest rolling back the previously implemented fix and to update a documentation. --- Additional comment from Maciej Swiderski on 2015-12-14 12:37:47 EST --- changes reverted on master jbpm master: https://github.com/droolsjbpm/jbpm/commit/f4cffb54b49168cea78cd58234853a89a9d19986 moving to modified, in case it shall be back ported to 6.3.x branch please put back on me
Cloned BZ to backport the fix to 6.3.x branch, to be released in patch updates
back ported to 6.3.x jbpm 6.3.x: https://github.com/droolsjbpm/jbpm/commit/be4c03950666edc1da0bb29044ecc1d81f79bf5d
Verified with BPMS-6.2.1 that: - the described use case works, provided there is the Sybase JDBC driver on client's classpath - workarounds have been properly reverted