Bug 809772

Summary: SessionInfo, Lob and DB2 --> SQLCODE=-302
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Zuzana Krejčová <zkrejcov>
Component: BRE (Expert, Fusion), jBPM ConsoleAssignee: Marco Rietveld <mrietvel>
Status: VERIFIED --- QA Contact: Zuzana Krejčová <zkrejcov>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GACC: brms-jira, lpetrovi, mrietvel
Target Milestone: ER7Keywords: TestBlocker
Target Release: BRMS 5.3.0.GA   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Attachments:
Description Flags
stack trace in the server log none

Description Zuzana Krejčová 2012-04-04 07:07:14 EDT
Created attachment 575083 [details]
stack trace in the server log

Description of problem:
Running jbpm console test with DB2 9.7 resulted in: 
DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=4.12.55
Could not synchronize database state with session
org.hibernate.exception.DataException: could not update: [org.drools.persistence.info.SessionInfo#1]

The sql code specifies that "DB2 received data that was invalid or too large to fit in the corresponding column of the table."
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.codes%2Fsrc%2Ftpc%2Fn302.htm


Version-Release number of selected component (if applicable):
BRMS 5.3.0 ER5


Additional info:
It is quite probable this is due to the attribute: 
@Lob 
private byte[] rulesByteArray
of the class SessionInfo in org.drools.persistence.info, which does not specify the size of the column. It seems as if the DB2 database defaults to 1M, which might not be enough - see link below.
https://hibernate.onjira.com/browse/HHH-2969
Comment 3 Lukáš Petrovický 2012-04-06 03:50:28 EDT
Should be fixed as a side effect of bug 807595 comment 5.
Comment 4 Ryan Zhang 2012-04-23 03:38:34 EDT
Update status to ON_QA. Please verify them against ER6.
Comment 6 Zuzana Krejčová 2012-05-03 12:12:10 EDT
I see no change.
Lukas, you put it on MODIFIED about a month back, do you remember why?
Comment 7 Lukáš Petrovický 2012-05-04 05:22:09 EDT
(In reply to comment #6)
> I see no change.
> Lukas, you put it on MODIFIED about a month back, do you remember why?

See comment 3.
Comment 8 Marco Rietveld 2012-05-04 15:43:34 EDT
Zuzana, 

It looks like this failed the QA tests? If you could post any stack traces, other info or any ideas why it failed, that would be great. 

Thanks.
Comment 9 Zuzana Krejčová 2012-05-07 05:16:11 EDT
(In reply to comment #8)
> Zuzana, 
> 
> It looks like this failed the QA tests? If you could post any stack traces,
> other info or any ideas why it failed, that would be great. 
> 
> Thanks.

Here:
https://hudson.qa.jboss.com/hudson/job/brms-jbpm_cons-db/25/DATABASE=db2-97,jdk=java16_default,label_exp=brFF&&%28RHEL5||RHEL6%29&&!dev82-rhel6-x86_64/artifact/artifacts/log/server.log

is the whole server log of a recent run with ER6. Hope it helps.

And sorry, I somehow didn't see the 3rd comment.
Comment 10 Marco Rietveld 2012-05-08 08:57:39 EDT
I hadn't modified the drools classes that had lob columns. 

I've just pushed a commit to the community drools 5.2.x branch that fixes this: 

https://github.com/droolsjbpm/drools/commit/bfc2007f61afcd8e676759045262821baa635658
Comment 11 Marco Rietveld 2012-05-08 16:43:48 EDT
Fixed string blobs as well, and pushed to community jbpm 5.2.x branch: 

https://github.com/droolsjbpm/jbpm/commit/813c38f9d1d0eaafe45ce29b9b7b191d96bef20b
Comment 12 Ryan Zhang 2012-05-14 04:15:48 EDT
The fixed for this issue should be included in ER7. Please do verification on it.