Status: Closed (View Workflow)
Affects Version/s: 3.2.1, 3.3
Environment:CENTOS 5.4 VM
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
JAVA_OPTS="-Xss1024K -Xms1G -Xmx2G -XX:MaxPermSize=128M -XX:NewSize=512m -server"
Upgrade to 3.2SP1 or 3.3 Community can gives "No ContentData" errors when accessing certain spaces within the DM repository from the web client.
A full index rebuild in 3.3 also reports many "No ContentData" errors in the Reindexer. For example:
00:05:03,131 ERROR [index.AbstractReindexComponent.threads] Reindexer 320 failed with error: No ContentData value exists for ID 298342
== Analysis ==
'patch.convertContentUrls' runs concurrent batch jobs to perform the work. Due to a bug in AbstractPatchDAOImpl.updateAdmV31ContentProperties, some nodes can be left pointing to non-existent ContentData entries.
== Detecting the Failure ==
Run the following SQL after an upgrade to detect if a problem was caused:
select * from alf_node_properties np
left join alf_content_data cd on (cd.id = np.long_value)
where np.actual_type_n = 21
and cd.id is null
Any returned results indicate an error
== Switching off the Patch ==
This patch can be switched off and executed at will at a later date. Add the following bean to an extension context:
<bean id="patch.convertContentUrls" class="java.util.ArrayList" />
<bean id="contentUrlConverterJobDetail" class="java.util.ArrayList"/>
<bean id="contentUrlConverterTrigger" class="java.util.ArrayList"/>
or set the following property to alfresco-global.properties:
Applying the former bean overrides is better as you won't need to manually trigger the patch when the fix is available later on.
== Recovery ==
If the patch has executed and there ARE problem rows, you should either go back to a backup and upgrade without the patch or get a copy of the data from before the upgrade. Contact Alfresco support who will help to fix the specific database entries.