This page last changed on Mar 28, 2008 by smaddox.

Problem Description

If you are using the Dynamic Tasklist Macro and have upgraded the Confluence server to JDK1.5 or later, editing any tasklist content throws an exception with error cause:

com.thoughtworks.xstream.converters.ConversionException: Cannot construct java.util.Collections$SynchronizedRandomAccessList:

Cause

A change to the Java API in version 1.5, specifically the Collections.SynchronizedRandomAccessList method, makes old dynamic tasklist data inaccessible after upgrading.

Full details at CONF-4082.

Workarounds

Choice 1 - Revert To JDK 1.4

Until CONF-4082 can be patched, reverting to JDK 1.4 will re-enable all tasklist content.

  1. Stop Confluence
  2. Revert the Confluence server to the JDK version on which the tasklist content was created. The JDK used is the version set by your JAVA_HOME parameter, so users can change this value to the old JDK path to use that JDK again. (Guide to changing the JAVA_HOME parameter on Windows)

Choice 2 - Migrate To JDK 1.5

If users wish to move to JDK 1.5 before CONF-4082 is patched, they must manually transfer the tasklist content across.

  1. Backup your Confluence instance
  2. Stop Confluence
  3. Revert the Confluence server to the JDK version on which the tasklist content was created. The JDK used is the version set by your JAVA_HOME parameter, so users can change this value to the old JDK path to use that JDK again. (Guide to changing the JAVA_HOME parameter on Windows)
  4. Start Confluence
  5. From your browser, visit the dynamic tasklist page
  6. Manually copy and paste the text of each task and that task status to an external text editor
  7. From the external text editor, save the list of task text and status
  8. From your browser, delete the dynamic tasklist from the page
  9. Repeat for each dynamic tasklist in your Confluence instance until all tasklist content has been stored and the macros deleted
  10. Stop Confluence
  11. Revert to the newer JDK by altering the JAVA_HOME parameter
  12. Start Confluence
  13. Restore each dynamic tasklist
Document generated by Confluence on Dec 03, 2008 15:14