Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-33554

Pre-upgrade recovery files causes OutOfMemoryErrors when backing up the plugindata table

    XMLWordPrintable

Details

    Description

      When attempting an upgrade to 5.5 the logs will show the following:

      2014-05-02 12:28:46,220 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 5.5 [build 5501 based on commit hash a39771cd4bb7ab00a226a7ea8d6dd65e64226a7f]
      2014-05-02 12:28:48,451 WARN [localhost-startStop-1] [atlassian.config.xml.AbstractDom4jXmlConfigurationPersister] saveDocumentAtomically Unable to move C:\Program Files\Atlassian\Application Data\Confluence\confluence.cfg.xml1232542810330726807tmp to C:\Program Files\Atlassian\Application Data\Confluence\confluence.cfg.xml. Falling back to non-atomic overwrite.
      2014-05-02 12:28:48,482 INFO [localhost-startStop-1] [springframework.web.context.ContextLoader] initWebApplicationContext Root WebApplicationContext: initialization started
      2014-05-02 12:28:51,711 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] <init> Loading EhCache cache manager
      2014-05-02 12:29:01,524 WARN [localhost-startStop-1] [org.springframework.beans.TypeConverterDelegate] findDefaultEditor PropertyEditor [com.sun.beans.editors.EnumEditor] found through deprecated global PropertyEditorManager fallback - consider using a more isolated form of registration, e.g. on the BeanWrapper/BeanFactory!
      2014-05-02 12:29:08,575 INFO [localhost-startStop-1] [springframework.web.context.ContextLoader] initWebApplicationContext Root WebApplicationContext: initialization completed in 20093 ms
      2014-05-02 12:29:08,668 INFO [localhost-startStop-1] [confluence.upgrade.impl.DefaultUpgradeManager] beforeUpgrade Generating pre-upgrade recovery file...
      2014-05-02 12:29:08,699 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] begin []
      2014-05-02 12:29:08,699 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] begin DATABASE_INFORMATION: []
      2014-05-02 12:29:08,715 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] end DATABASE_INFORMATION: []
      ...
      ...
      ...
       2014-05-02 12:29:10,961 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] end TABLE_DATA: [os_user_group]
      2014-05-02 12:29:10,961 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] begin TABLE_DATA: [pagetemplates]
      2014-05-02 12:29:10,961 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] end TABLE_DATA: [pagetemplates]
      2014-05-02 12:29:10,961 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] begin TABLE_DATA: [plugindata]
      2014-05-02 12:35:55,099 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 5.5 [build 5501 based on commit hash a39771cd4bb7ab00a226a7ea8d6dd65e64226a7f]   

      The catalina logs from this time show:

      SEVERE: A child container failed during start
      java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
      ...
      Caused by: java.lang.OutOfMemoryError: Java heap space
      ...
      	at com.atlassian.dbexporter.node.stax.StaxStreamWriter$1.setContentAsBinary(StaxStreamWriter.java:131)
      ...
      	at com.atlassian.dbexporter.DbExporter.exportData(DbExporter.java:53)
      	at com.atlassian.confluence.upgrade.recovery.DefaultRecoveryFileGenerator.generate(DefaultRecoveryFileGenerator.java:76)
      	at com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager.beforeUpgrade(DefaultUpgradeManager.java:237)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:134)

      The pre-upgrade recovery file should be writing straight to disk, so shouldn't be susceptible of OOMEs at all.

      Steps to Replicate:

      1. Install Confluence 5.4.4 (or any version prior to 5.5)
      2. Install a number of add-ons, particularly large add-ons such a Gliffy
      3. Attempt the upgrade

      Workaround:

      Please refer to Upgrade to 5.5 hangs when generating pre-upgrade recovery file.

      Attachments

        Issue Links

          Activity

            People

              gvotruong Giang Vo
              ldally lachland
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: