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

Upgrading with a XML backup restore will succeed even when an upgrade task is throwing an UpgradeError

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for Confluence Server. Using Confluence Cloud? See the corresponding bug report.

      While testing CONF-20489 i found that while an inplace upgrade will correctly fail to start up after an UpgradeError, an upgrade using a site backup will succeed.

      Details:

      • Upgrading a 3.0.2 instance to the latest 3.5 trunk
      • Added the following lines to NetworkAndSiteNotificationTypesUpgradeTask:
        final UpgradeError upgradeError = new UpgradeError("Error while upgrading notifications table - FORCED", new Exception());
        errors.add(upgradeError);
      • Performed an inplace upgrade - error was correctly thrown and Confluence will not start up:
        Upgrade failed. Please consult the system logs for details. You will need to fix these problems and restart.
      • Repeated the steps, but upgrading by restoring an XML backup. The restore is successful and a 3.5 instance using the upgarded data is available. Error given in the logs is:
        2011-01-10 14:05:45,413 ERROR [Indexer: 1] [atlassian.bonnie.search.BaseDocument
        Builder] getDocument Error extracting search fields from comment: Erroneous orph
        aned comment v.1 (32790) using BackwardsCompatibleExtractor wrapping com.atlassi
        an.confluence.contributors.search.extractors.CommentContributionExtractor@9a9445
         (com.atlassian.confluence.contributors:commentContributionExtractor): null
         -- url: /confluence/admin/restore.action | userName: admin | referer: http://lo
        calhost:8080/confluence/admin/backup.action | action: restore
        java.lang.NullPointerException
                at com.atlassian.confluence.contributors.search.extractors.CommentContri
        butionExtractor.addFields(CommentContributionExtractor.java:30)
                at com.atlassian.confluence.plugin.descriptor.ExtractorModuleDescriptor$
        BackwardsCompatibleExtractor.addFields(ExtractorModuleDescriptor.java:45)
                at com.atlassian.bonnie.search.BaseDocumentBuilder.getDocument(BaseDocum
        entBuilder.java:104)
                at com.atlassian.confluence.search.lucene.ConfluenceDocumentBuilder.getD
        ocument(ConfluenceDocumentBuilder.java:102)
                at com.atlassian.confluence.search.lucene.tasks.AddDocumentIndexTask.per
        form(AddDocumentIndexTask.java:43)
                at com.atlassian.bonnie.index.TempIndexWriter.perform(TempIndexWriter.ja
        va:73)
                at com.atlassian.confluence.search.lucene.TempIndexWriterStrategy.perfor
        m(TempIndexWriterStrategy.java:43)
                at com.atlassian.confluence.search.lucene.tasks.TempIndexBackedIndexTask
        Performer.perform(TempIndexBackedIndexTaskPerformer.java:21)
                at com.atlassian.confluence.search.lucene.DefaultObjectQueueWorker.index
        Collection(DefaultObjectQueueWorker.java:78)
                at com.atlassian.confluence.search.lucene.DefaultObjectQueueWorker$1.doI
        nTransactionWithoutResult(DefaultObjectQueueWorker.java:62)
                at org.springframework.transaction.support.TransactionCallbackWithoutRes
        ult.doInTransaction(TransactionCallbackWithoutResult.java:33)
                at org.springframework.transaction.support.TransactionTemplate.execute(T
        ransactionTemplate.java:127)
                at com.atlassian.confluence.search.lucene.DefaultObjectQueueWorker.run(D
        efaultObjectQueueWorker.java:51)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
        utor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
        .java:908)
                at java.lang.Thread.run(Thread.java:619)
        2011-01-10 14:05:45,413 ERROR [Indexer: 1] [confluence.search.lucene.DefaultObje
        ctQueueWorker] indexCollection Error indexing document
         -- url: /confluence/admin/restore.action | userName: admin | referer: http://lo
        calhost:8080/confluence/admin/backup.action | action: restore
        java.lang.NullPointerException
                at com.atlassian.confluence.pages.Comment.getUrlPathForVersion(Comment.j
        ava:92)
                at com.atlassian.confluence.pages.Comment.getUrlPath(Comment.java:84)
                at com.atlassian.confluence.search.lucene.extractor.AddressableExtractor
        .addFields(AddressableExtractor.java:21)
                at com.atlassian.confluence.search.lucene.ChangeDocumentBuilder.getDocum
        ent(ChangeDocumentBuilder.java:97)
                at com.atlassian.confluence.search.lucene.tasks.AddChangeDocumentIndexTa
        sk.perform(AddChangeDocumentIndexTask.java:71)
                at com.atlassian.confluence.search.lucene.tasks.RebuildChangeDocumentsIn
        dexTask.perform(RebuildChangeDocumentsIndexTask.java:79)
                at com.atlassian.bonnie.index.TempIndexWriter.perform(TempIndexWriter.ja
        va:73)
                at com.atlassian.confluence.search.lucene.TempIndexWriterStrategy.perfor
        m(TempIndexWriterStrategy.java:43)
                at com.atlassian.confluence.search.lucene.tasks.TempIndexBackedIndexTask
        Performer.perform(TempIndexBackedIndexTaskPerformer.java:21)
                at com.atlassian.confluence.search.lucene.DefaultObjectQueueWorker.index
        Collection(DefaultObjectQueueWorker.java:83)
                at com.atlassian.confluence.search.lucene.DefaultObjectQueueWorker$1.doI
        nTransactionWithoutResult(DefaultObjectQueueWorker.java:62)
                at org.springframework.transaction.support.TransactionCallbackWithoutRes
        ult.doInTransaction(TransactionCallbackWithoutResult.java:33)
                at org.springframework.transaction.support.TransactionTemplate.execute(T
        ransactionTemplate.java:127)
                at com.atlassian.confluence.search.lucene.DefaultObjectQueueWorker.run(D
        efaultObjectQueueWorker.java:51)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
        utor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
        .java:908)
                at java.lang.Thread.run(Thread.java:619)
        

      Attachments

        Issue Links

          Activity

            People

              shaffenden Steve Haffenden (Inactive)
              mhrynczak Mark Hrynczak (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: