Support Article
NullPointerException generating ddl for 7.1.6 upgrade
Summary
Admin trying to upgrade to 7.1.6 single schema on Oracle database. Running the generateddl script fails with a NullPointerException.
Error Messages
[java] java.lang.NullPointerException
[java] at com.pega.pegarules.data.ddl.SchemaManager.readIndexesForOracl
e(Unknown Source)
[java] at com.pega.pegarules.data.ddl.SchemaManager.<init>(Unknown Sour
ce)
[java] at com.pega.pegarules.data.ddl.SchemaGenerator.getSchemaManagerF
romConnection(SchemaGenerator.java:142)
[java] at com.pega.pegarules.data.ddl.SchemaGenerator.getSchemaManagerF
romConnection(SchemaGenerator.java:130)
[java] at com.pega.pegarules.data.ddl.SchemaGenerator.generateUpgradeDD
L(SchemaGenerator.java:329)
[java] at com.pega.pegarules.data.ddl.SchemaGenerator.main(SchemaGenera
tor.java:1146)
[java] Error generating ddl for oracledate, RULES
[java] null
generate_upgrade_ddl:
Check zOS Upgrade:
BUILD SUCCESSFUL
Total time: 6 minutes 6 seconds
Exiting with NO Error
Steps to Reproduce
Run generateddl.bat (or generateddl.sh) script with rules schema owner.
Root Cause
The root cause of this problem is defect/misconfiguration in the PRPC operating environment. There are database tables which have a column name which is part of the primary key called SYS_ID.
From oracle reserved words documentation -
Oracle uses system- generated names beginning with "SYS_" for implicitly generated schema objects and subobjects. Oracle discourages you from using this prefix in the names you explicitly provide to your schema objects and subobjects to avoid possible conflict in name resolution.
Resolution
This issue is resolved through the following local change:
Altered the database table to not include a database column in the primary key that starts with SYS_ and then generate the ddl for the upgrade.
Published January 31, 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.