APAR status
Closed as program error.
Error description
SQLJ LOB stream length problem - CLOB data not read correctly.
After deploying the EJB module with ejbdeploy -sqlj within WSAD,
the test fails with the folloing at runtime:
com.ibm.ws.ejbpersistence.utilpm.ErrorProcessingResultCollection
Row: PMGR6031E: SQLException when trying to get resultSet column
3 as a byte■.
RawBeanData=com.ibm.ws.ejbpersistence.dataaccess.RawBeanData@446
75612
currentBeanChunkOffset = 0
Result data is a ResultSet. /n
com.ibm.ws.rsadapter.cci.WSRdbResultSetImpl@4ef11612
at
com.ibm.ws.ejbpersistence.dataaccess.RawBeanData.getBlobAsByteAr
ray(Unknown Source)(Compiled Code)
at
com.db2int.dbrep.websphere_deploy.DB2UDBNT_V8_1.Emp_photoBeanExt
ractor_f3efee6f.extractData(Emp_photoBeanExtractor_f3efee6f.java
:28)
at
com.ibm.ws.ejbpersistence.dataaccess.OneRowResultCollectionImpl.
processOneRowToCacheEntry(Unknown Source)
at
com.ibm.ws.ejbpersistence.dataaccess.DataAccessRequestImpl.execu
teOneRowFBPK(Unknown Source)
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulIns
tanceExtensionImpl.fetchRecordFromDataStore(Unknown Source)
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulIns
tanceExtensionImpl.getRecordForLoad(Unknown Source)
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulIns
tanceExtensionImpl.executeLoad(Unknown Source)
at
com.ibm.ws.ejbpersistence.beanextensions.CBReadyState.ejbLoad(Un
known Source)
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulIns
tanceExtensionImpl.ejbLoad(Unknown Source)
at
com.db2int.dbrep.ConcreteEmp_photo_f3efee6f.ejbLoad(ConcreteEmp_
photo_f3efee6f.java:35)
at
com.ibm.ejs.container.ContainerManaged2_0BeanO.loadForEnlist(Con
tainerManaged2_0BeanO.java:331)
at
com.ibm.ejs.container.EntityBeanO.enlist(EntityBeanO.java:718)
at
com.ibm.ejs.container.activator.OptCEntityActivationStrategy.atA
ctivate(OptCEntityActivationStrategy.java:117)
at
com.ibm.ejs.container.activator.Activator.activateBean(Activator
.java:516)
at
com.ibm.ejs.container.EJSHome.activateBean_Common(EJSHome.java:1
234)
at
com.ibm.ejs.container.EJSHome.activateBean_Local(EJSHome.java:11
50)
at
com.db2int.dbrep.EJSCMPEmp_photoHomeBean_f3efee6f.findByPrimaryK
ey_Local(EJSCMPEmp_photoHomeBean_f3efee6f.java:18)
at
com.db2int.dbrep.EJSLocalCMPEmp_photoHome_f3efee6f.findByPrimary
Key(EJSLocalCMPEmp_photoHome_f3efee6f.java:55)
at
com.db2int.ejb.AccessEmployeeBean.replResumePhoto(AccessEmployee
Bean.sqlj:441)
.
Examining the .ear, especially the generated class
"com.db2int.dbrep.websphere_deploy.DB2UDBNT_V8_1.Emp_photoBeanEx
tractor_f3efee6f" and its extractData(...) method, will be
important confirmation but I believe we can tell what is
happening from the exception trace. Here are the pertinent
callstack lines:
java.sql.SQLException: java.lang.ClassCastException:
com.ibm.db2.jcc.a.bm
at
com.ibm.ws.ejbpersistence.dataaccess.SingleRowResultSet.getBinar
yStream(Unknown Source)
at
com.ibm.ws.rsadapter.cci.WSRdbResultSetImpl.getBinaryStream(WSRd
bResultSetImpl.java:1038)
at
com.ibm.ws.ejbpersistence.dataaccess.RawBeanData.getBlobAsByteAr
ray(Unknown Source)(Compiled Code)
at
com.db2int.dbrep.websphere_deploy.DB2UDBNT_V8_1.Emp_photoBeanExt
ractor_f3efee6f.extractData(Emp_photoBeanExtractor_f3efee6f.java
:28)
.
There are two cmvc defects that contain the fix; 179287.1 and
180216.
This is fixed in WAS 5.0.2.5 and 5.1.0.4.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: All WebSphere Application Server users *
****************************************************************
* PROBLEM DESCRIPTION: When the CMP bean field type is *
* String and it is mapped to the *
* database column of CLOB type, the *
* CLOB data was not read correctly. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
The generared code stores the CLOB data as binary in the DB.If
the data was written to the DB using any tool outside of the
ejb and then read by the CMP bean, the data would be
corrupted.
Problem conclusion
The problem is the CLOB data could not be read. It is fixed by
introducing a new type mapper to store and retrieve the data
as character data.
Temporary fix Comments
APAR information |
APAR number |
PQ84344 |
Reported component name |
WAS BASE 5.0 |
Reported component ID |
5630A3600 |
Reported release |
10W |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2004-02-06 |
Closed date |
2004-03-12 |
Last modified date |
2004-07-12 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
R103 PSY |
UP |
R10A PSY |
UP |
R10H PSY |
UP |
R10I PSY |
UP |
R10P PSY |
UP |
R10S PSY |
UP |
R10W PSY |
UP |
|