Support Article
Java classes are invalid in DB after udf installed without error
SA-21659
Summary
After installing UDF's and loading into DB, user can still see the below java classes are invalid.
Following classes shows as invalid classes if run the below query:
SELECT dbms_java.longname(object_name) FROM all_objects WHERE status!='VALID' AND object_type LIKE 'JAVA%';
In Rule schema:
/ac7654fa_DirectStreamReaderPo
/2b12b644_DirectStreamReaderDB
/fad24711_DirectStreamReaderDB
/8f93fd2d_DirectStreamReaderBa
/14f3a3e6_DirectStreamReaderBa
/d0848f8b_DirectStreamReaderBa
/32d1f03d_DirectStreamReader
In Data schema:
/f336d102_DirectStreamV7
/14f3a3e6_DirectStreamReaderBa
/d0848f8b_DirectStreamReaderBa
/ac7654fa_DirectStreamReaderPo
/2b12b644_DirectStreamReaderDB
/fad24711_DirectStreamReaderDB
/8f93fd2d_DirectStreamReaderBa
/32d1f03d_DirectStreamReader
/9b1d56c2_BasicEnvironmentAdap
/7c1e1a3d_PropertyReferenceUti
/af2ac841_InflaterV7
/e9802c50_DirectStream
/20e5462f_ByteArrayUtil
Error Messages
Showing java classes are in Invalid status.
Steps to Reproduce
Install UDFs in Pega 7.1.7.
Root Cause
Not Applicable.
Resolution
These are Java artifacts used by the reporting facility (‘UDF’=’Used Defined Functions’) available in PRPC 6.2 SP2 onwards; which allow reports to be run on ‘non-exposed’ columns, in a more efficient way than fetching the entire contents of the BLOB to the main PRPC JVM.
It appears that when Oracle imports them, it initially marks them as INVALID ; However user can correct this after installation.
Solution :
Remove the ‘INVALID’ status by running a ‘Dummy’ SQL Statement :
A. Firstly: confirm the objects showing as invalid:
SELECT dbms_java.longname(object_name) FROM user_objects WHERE status!='VALID' AND object_type LIKE 'JAVA%';
B. Now run the following SQL which makes a call to a function, and uses the Java Objects : Not interested in the return of this, it is simply to call the objects.
Select pr_read_from_stream ('pylabel','DATA-ADMIN-WORKBASKET',pzpvstream) from pr_data_admin where pzinskey='DATA-ADMIN-WORKBASKET'
The above SQL queries helps in fixing the issue:
com/pega/pegarules/data/udf/directstreamreader/DirectStreamReaderDB2LUW
com/pega/pegarules/data/udf/directstreamreader/DirectStreamReaderDB2ZOS
The above Objects are not relevant to Oracle, one can see by the name, they are targeted at DB2, but can be ignored.
Published April 4, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.