An Oracle database bug has been identified as the root cause for observed issues in the functioning of Release Automation. These issues have only been observed to occur when Release Automation is configured to work with Oracle Database 12c.
The primary symptom for this defect in Release Automation is the occurrence of the following Hibernate error in the nolio_dm_all.log file:
"org.hibernate.HibernateException: null index column for collection"
Release Automation – 5.0, 5.5.1, 5.5.2
The error received – null index column for collection – is not very indicative of the true nature of the real underlying issue. The error is not actually in Hibernate; this is just the manifested symptom. The issue itself stems from a defect in the Oracle query optimizer in its generation of the query execution plan. In some specific cases, the database optimizer creates a query plan that returns a set of results that are simply incorrect, i.e., it generates “wrong results”. Hibernate correctly identifies the fact that the results are incorrect and returns the null index column for collection error message (which is related to the nature of the incorrect results).
The specific defect as recorded by Oracle:
Bug ID: 18430870
Bug Description: "Adaptive Plan and Left Join Give Wrong Result"
My Oracle Support reference links:
In order to prevent this issue from occurring, or to resolve the issue if has already been observed, the Oracle Database 12c instance being used by Release Automation needs to have the patch for bug 18430870 applied. This patch can be downloaded from Oracle's "My Oracle Support" site. The specifics for downloading and applying this patch differ depending on whether the database is installed on Linux or Windows.
[Note: The following information is current as of December 2015. Before applying any database patch, it is recommended to verify via My Oracle Support as to the latest relevant patch information.]
On Linux, there is an interim patch, 18430870, which needs to be installed.
Download the patch from "My Oracle Support", following the steps below:
1. Go to My Oracle Support
2. Go to the tab "Patches and updates"
3. Enter the patch number <18430870>
4. Select the platform Linux x86-64
5. Press go then download the patch relative to release 18.104.22.168.0 or 22.214.171.124.0
6. Read any applicable notes before downloading, then click the Download button. Note: Please review the Readme file for instructions on how to install the patch.
On Windows, the fix for bug 18430870 is part of a patch set. Depending on the specific 12c version, ensure a minimum patch level installation as per the following:
- Fixed in 126.96.36.199 patch 18 (188.8.131.52.18)
- Fixed in 184.108.40.206 patch 4 (220.127.116.11.4)
In general, the resolution for this defect is supposed to be included in Oracle Database release 12.2.