Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

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

Was this useful?

100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us