Last activity: 15 Oct 2015 10:38 EDT
ArrayIndexOutofBound error when running the report
We have just started using report definitions in our project. One of the report after migrating to production throwing below error when we try to run the report. Also it is happening when one of the properties we are trying to display has some value.
- There was a problem getting a list: code: 29532 SQLState: 99999 Message: ORA-29532: Java call terminated by uncaught Java exception: java.lang.ArrayIndexOutOfBoundsException
We have seen this error internally in the past when the report contains too many unexposed columns either in select, filters or join columns causing Oracle to behave weirdly, throwing this exception. So as a follow up
1) How many unexposed columns are you referring to in your report definition? You can find the number of unexposed properties through usage of function "pr_read_from_stream" (or a variant of it) in the generated SQL. Please check the number of times this function is getting invoked.
2) Are those columns intended to be unexposed? Can you expose some or all of those columns in the DB table?
Thanks for the response Rajiv. We do have some unexposed properties in report definition. I have tried removed all of them except one. It was still failing. This is only happening in prodcution. When i remove that property it runs. And i cannot expose all the properties in the report.
Which version of Pega platform is this?
Also, did you undergo an upgrade and did not upgrade these database functions as part of the upgrade?
Our Pega platform version is 6.3 SP1
I am not sure about the UDFs. Is there any way we can check whether these are upgraded?
UDFs were introduced in 6.2 SP2. If you upgraded to 6.3 SP1, you should have upgraded the UDFs though there might not be an easy way to check that. You can re-install the UDFs again to be sure you have the right version and check post that to see if your reports work.
How can i reinstall the functions? By running Db scripts?
Yes, by running DB scripts.
In that case i should be able to check by running select query on all_objects right. By any chance can you give me the function names
See the last part of this PDN article for the query to run - https://pdn.pega.com/reporting/troubleshooting-ora-29541-log-error-when-running-a-report-directstreamreader-could-not-be-resolved
Select Dbms_Java.Longname(Object_Name), Status From User_Objects WHERE object_type LIKE 'JAVA%';
will give you a list of all UDFs. If the status is not "VALID" then that indicates there is a problem with that particular User Defined Function.