Issue
UDF libraries become invalid after upgrading to Pega Platform 24.2.1 and later versions when running on an Oracle database. The UDFs install correctly, but the Oracle database cannot validate them for use.
Symptoms and impact
This issue impacts Pega 24.2 and later versions that run on Oracle databases where the installed Java version on the database is below 9.
The invalid UDFs lead to the following issues, if the environment is using UDFs instead of exposing the properties:
- Reports do not load
- Popups fail to render
- Classes become invalid
Root cause
The UDFs provided with Pega Platform '24.2 use Java 17 by default, which is incompatible with Oracle 19c database servers that run on a Java 8 JVM.
Solution
As a best practice, avoid using UDFs because they are being deprecated by Pega. While still supported in current versions, Pega does not recommend the installation of UDFs. For more information on this topic, see User-defined functions in your Pega database.
To restore UDF functionality in Pega Platform 24.2 and later versions where the database runs on Java 8, perform the following actions:
1. Retrieve the prreadfromstream.jar from a previous Pega Platform version (such as, 24.1.1).
- Path: scripts/udf/prreadfromstream.jar in the 24.1.1 media.
2. Copy the JAR into the new location in the expanded 24.2.x media:
- archives/deploy/udf (note: this is a different directory than in earlier versions).
3. Follow the standard installation process:
- Drop the existing UDF functions from both schemas in the database.
- Run the generateudf script from the 24.2.x platform media to reinstall the functions.