INC-158018 · Issue 633374
Archiving updated to include pxobjclass in CTE column list
Resolved in Pega Version 8.5.5
After enabling the case archival feature on a casetype, cases were getting stuck in the Archive-Ready state while being archived, and a 'column not found' error was seen. Investigation showed that the generated SQL statement used to retrieve the resolved case instances used a common table expression (CTE) whose columns were inskey, insclass, and parentinskey, and the query that referenced the CTE was attempting to compare the column pxobjclass when pxobjclass did not exist in the CTE's column list. To resolve this, the CTE column list has been updated to pzinskey, pxobjclass, and parentinskey to prevent the 'column not found error' from occurring, and the query that referenced the CTE was also updated to use the correct column names and aliases.
INC-161645 · Issue 634639
Java Bean import updated to handling differences in Java 7 and Java 8
Resolved in Pega Version 8.5.5
The behavior of the java bean Introspector class is inconsistent across different versions of the JDK when detecting indexed properties built off of java.util.List objects, causing Java Bean import to generate differently in Java 7 and Java 8. This has been resolved by updating PRIndexedPropertyDescriptor to better handle this JDK difference by resolving indexed read and write methods manually using simple reflection.
INC-175595 · Issue 652831
Java Bean import updated to handling differences in Java 7 and Java 8
Resolved in Pega Version 8.7
The behavior of the java bean Introspector class is inconsistent across different versions of the JDK when detecting indexed properties built off of java.util.List objects, causing Java Bean import to generate differently in Java 7 and Java 8. This has been resolved by updating PRIndexedPropertyDescriptor to better handle this JDK difference by resolving indexed read and write methods manually using simple reflection.
INC-132963 · Issue 572247
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.2.8
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
SR-D88499 · Issue 551186
Check added to minimize Obj-Open-By-Handle error logging
Resolved in Pega Version 8.2.8
When using a Data Type with the "Automatically generate a unique id " option, calling the Save-DataPage method by using the savable data page of the data type finished correctly but showed Obj-Open-By-Handle errors on PegaRules.log. Investigation showed the exception was thrown when running the save plan from DataPageSaverImpl: while attempting to run the save plan, the system does not know whether a parameter (pyGUID in this case) will be required to run the save plan or not, meaning that it can't detect any possible error in DataPageSaverImpl. The implementation instead makes a call to db.open to check if an instance exists and hence logs are thrown. To resolve the error logging, a check has been added: if the save-to class has an autogen key and the savable data page instance doesn't have the autogen key in it, the system will directly call pxCreateRecord. This will avoid a call to db.open to check if instance exists and hence no failed logs will be thrown. This partial change will work only for classes having an autogen key and in cases where the page is trying to create a record by intentionally not passing the key.
INC-174716 · Issue 656441
Updated handling for validating/saving circumstanced rule on branch
Resolved in Pega Version 8.7
Using 'save as' for an already circumstanced rule with a new property/template caused the Rule-.DictionaryValidation activity to register the error "StandardValidate-CircumPropAlreadyDefined". The same activity Step did not throw an error when saving into Branch. This was traced to the ruleset name not being the same for the branch ruleset due to having _BRANCH_Branch-Name appended to its name, and has been resolved by adding a condition to check for circumstanced rule in a branch.
INC-183728 · Issue 665133
Oracle handling updated for primary key in upgrade DDL
Resolved in Pega Version 8.7
Previously, when a primary key of a table was created Oracle would automatically create a unique index with the same name as the primary key. However, with the introduction of Oracle 19, an optimization was added which will not do that if there is another unique index on the table which contains the column(s) of the primary key. This difference can cause updates to fail with the error "cannot drop index used for enforcement of unique/primary key". This has been resolved by updating the handling for primary key constraint and the corresponding index name.
INC-162262 · Issue 654964
Query added to find time zone for MSSQL database
Resolved in Pega Version 8.5.5
The exception "com.microsoft.sqlserver.jdbc.SQLServerException: xp_regread() returned error 5, 'Access is denied.'" was generated when the AES agent PushDBSizeInfo was being run. This was traced to the GetDBInfo activity trying to retrieve the time zone of the MSSQL database by executing a query that used a Microsoft SQL routine to read the windows registry to get the current time zone. The error was not due to security within the SQL Server, but instead was caused by Microsoft Windows security related to the permissions on the registry keys for the users under which specific SQL Server processes were running. To resolve this, an update has been made to call a different query which will get the time zone for the SQL Server.
INC-162262 · Issue 654966
Query added to find time zone for MSSQL database
Resolved in Pega Version 8.7
The exception "com.microsoft.sqlserver.jdbc.SQLServerException: xp_regread() returned error 5, 'Access is denied.'" was generated when the AES agent PushDBSizeInfo was being run. This was traced to the GetDBInfo activity trying to retrieve the time zone of the MSSQL database by executing a query that used a Microsoft SQL routine to read the windows registry to get the current time zone. The error was not due to security within the SQL Server, but instead was caused by Microsoft Windows security related to the permissions on the registry keys for the users under which specific SQL Server processes were running. To resolve this, an update has been made to call a different query which will get the time zone for the SQL Server.
INC-172849 · Issue 665983
SortPageList method updated for Obj-Sort
Resolved in Pega Version 8.7
Sorting page lists backed by a node level datapage using Obj-Sort was causing a ConcurrentModificationException. This has been resolved by updating the SorterImpl.sortPageList method to use java7CollectionsSort instead of collectionsSortWithInferenceEngineDisabled.