Before upgrading to ControlPoint 5.9 or later, please be sure to read the ‘Determine whether a DocKey update is required’ section in the CP 5.9 Installation Guide, outlined in Chapter 13 – page 96.
A fix has been rolled up into ControlPoint 5.9 to allow for case-sensitive references in MetaStore which results in an updated DocKey hash value within the [ControlPointMetaStore].[Metadata].[Document] SQL table.
1. BEFORE upgrading your SQL Database, check if a DocKey update is required by running the following SQL:
SELECT TargetTransformParams FROM [ControlPointMetaStore].[MetaStore]. [MapColumn]
WHERE SupportingTable = 'Metadata.ReferenceHash'
If the return value is:
Essentially, unless you have already applied CP 5.7 Patch 3 to receive the fix you will need to do this prior to upgrading to CP 5.9+
2. If you previously determined that your database requires a DocKey update, then AFTER upgrading your SQL Database, you will need to execute the ControlPoint\<version>\Utilities\DocKey Update Scripts\DocKeyUpdate.sql script.
This will update the DocKey hash values for your current data.
3. Update configuration files for the DocKey update.
Update the following configuration files:
by adding the following line to the end of the [appSettings] section in each file:
<add key="IgnoreCaseOnReferenceHash" value="false" />
It is important that you follow the upgrade steps as outlined in the documentation.
If you upgrade to CP 5.9+ and fail to follow these steps, specifically running the DocKeyUpdate.sql script then you will run into many issues, as noted below:
ISSUE 1 = Unable to view Advanced Properties for the files within all existing repositories
A full re-scan of the repository will resolve this issue but lead to issues 2 & 3.
ISSUE 2 = Rescanning any existing repositories will lead to duplicates being added to the repository with different DocKey values.
You will see both files in the UI and when clicking one of the files, the other will be selected also.
ISSUE 3 = Policy execution will fail with the following error:
Cannot insert duplicate key row in object 'dbo.CPExecutionLog' with unique index 'CPExecutionLog_IDX_AutnIdentifierCheck'.
The duplicate key value is (0xdd437ae057e78eb5cd9e0ae29de2851d)
This is because the duplicate files, created by the rescan have caused duplicate AutnIdentifierValue values within the [ControlPointMetaStore].[Metadata].[Document] SQL table.