Confluence のアップグレードに失敗し、web インターフェイスに "Confluence had problems starting up...Transaction rolled back because it has been marked as rollback-only" と表示される


プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

問題

Confluence 7.13.x へのアップグレード試行が次のように失敗する。

  1. Confluence の web インターフェイスでは "Confluence had problems starting up...Transaction rolled back because it has been marked as rollback-only" と表示される。
    エラーの説明 - Unable to start up Confluence. Fatal error during startup sequence

  2. atlassian-confluence.log には次のログ メッセージが表示される。
    1. ログ レベルが未変更/default の場合

      atlassian-confluence.log
      YYYY-MM-DD HH:MM:SS,mmm INFO [Catalina-utility-1] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Starting Bandana XStream Content Migration for 1.1.1 format
      YYYY-MM-DD HH:MM:SS,mmm INFO [Catalina-utility-1] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Migrating <N-number> context(s) in Bandana
      YYYY-MM-DD HH:MM:SS,mmm WARN [Catalina-utility-1] [confluence.impl.hibernate.ConfluenceHibernateTransactionManager] doRollback Performing rollback. Transactions:
          [com.atlassian.confluence.upgrade.upgradetask.BandanaXStreamValueUpgradeTask.doDeferredUpgrade]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT (Session #<SessionID>)
              Showing 10 last transactions at this level out of <M-number> in total:
      
      YYYY-MM-DD HH:MM:SS,mmm ERROR [Catalina-utility-1] [atlassian.config.lifecycle.LifecycleManager] panicAndShutdown Unable to start up Confluence. Fatal error during startup sequence: confluence.lifecycle.core:pluginframeworkdependentupgrades (Run all the upgrades that require the plugin framework to be available)
      org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only

       

    2. アップグレード前に /<confluence-install-dir>/confluence/WEB-INF/classes/log4j.properties が変更されていて、かつ log4j.properties 内のパッケージ com.atlassian.confluence.upgrade の行が log-level DEBUG に設定されている場合

      atlassian-confluence.log
      YYYY-MM-DD HH:MM:SS,mmm INFO [main] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Starting Bandana XStream Content Migration for 1.1.1 format
      YYYY-MM-DD HH:MM:SS,mmm INFO [main] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Migrating <N-number> context(s) in Bandana
      
      YYYY-MM-DD HH:MM:SS,mmm DEBUG [main] [atlassian.confluence.upgrade.UpgradeTask] migrateDataForKey Couldn't migrate key '<Alphanumeric-String>' for context '[com.atlassian.confluence.setup.bandana.ConfluenceBandanaContext@bdfd6df8, spaceKey='com.gliffy.autosave']' in Bandana as corresponding Class is not available or serialization failed
      java.lang.NullPointerException
      	at com.gliffy.plugin.confluence.diagram.ConfluenceDiagram.equals(ConfluenceDiagram.java:129)
      	
      YYYY-MM-DD HH:MM:SS,mmm WARN [Catalina-utility-1] [confluence.impl.hibernate.ConfluenceHibernateTransactionManager] doRollback Performing rollback. Transactions:
          [com.atlassian.confluence.upgrade.upgradetask.BandanaXStreamValueUpgradeTask.doDeferredUpgrade]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT (Session #<SessionID>)
              Showing 10 last transactions at this level out of <M-number> in total:
      
      YYYY-MM-DD HH:MM:SS,mmm ERROR [Catalina-utility-1] [atlassian.config.lifecycle.LifecycleManager] panicAndShutdown Unable to start up Confluence. Fatal error during startup sequence: confluence.lifecycle.core:pluginframeworkdependentupgrades (Run all the upgrades that require the plugin framework to be available)
      org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only

      (info) note the appearance of "Couldn't migrate key...corresponding Class is not available or serialization failed java.lang.NullPointerException at com.gliffy.plugin.confluence.diagram.ConfluenceDiagram.equals(ConfluenceDiagram.java:129)" pattern in the stack-trace

診断

環境

Diagnostic Steps

次の SQL を実行すると 1 つ以上の行数が返される。

select * from BANDANA where bandanacontext = 'com.gliffy.autosave';

行エントリの例は次のようなものです。

bandanaidbandanacontextbandanakeybandanavalue
12345678com.gliffy.autosave47513acc9e7411ecb9090242ac120002
<com.gliffy.plugin.confluence.diagram.ConfluenceDiagram>  
<version>0</version>  
  <content>{"contentType":"application/gliffy+json"...[TRUNCATED]}</content>
  <isPublished>false</isPublished>
  <createDate>YYYY-MM-DD HH:MM:SS.mmm TIMEZONE</createDate>
  <versionId>0</versionId>
  <isOwner>false</isOwner>
  <isCollaborator>false</isCollaborator>
  <lastVersion>0</lastVersion>
  <isPNGAvailable>false</isPNGAvailable>
  <draft>false</draft>
  <key class="com.gliffy.plugin.confluence.diagram.ConfluenceKey">
    <filename>untitled</filename>
    <contentEntityObjectId>83441097</contentEntityObjectId>
  </key>
  <outputXml>true</outputXml>
  <draftId>47513acc9e7411ecb9090242ac120002</draftId>
</com.gliffy.plugin.confluence.diagram.ConfluenceDiagram>

原因

Confluence の Bandana XStream Content Migration アップグレード タスク (com.atlassian.confluence.upgrade.upgradetask.BandanaXStreamValueUpgradeTask) 中に Gliffy コード (at com.gliffy.plugin.confluence.diagram.ConfluenceDiagram.equals(ConfluenceDiagram.java:129)) で NullPointerException が発生したため、アップグレードに失敗しています。


ソリューション

データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。

  1. 現在の破損しているセットアップをアップグレード前の状態にロールバックします (Confluence のデータベースをアップグレード前のスナップショットにリストアすることも可)
  2. 完了したらリストア済みの Confluence インスタンスを起動し、リストアに成功していて、Confluence が以前のバージョンで正常に動作することを確認します。
  3. Confluence が正常に動作することを確認したら Confluence をシャットダウンします。
  4. Confluence のデータベースに対して次の SQL を実行し、問題のある Gliffy データを削除します。

    delete from BANDANA where bandanacontext = 'com.gliffy.autosave';

    (info) The Gliffy diagrams themselves are saved as attachments on Confluence pages. These rows in the bandana table can be deleted without adverse consequences (source: Uninstall and reinstall Gliffy).

  5. Gliffy の下書きデータが削除されたので Confluence を再度起動し、引き続き正常に動作することを確認します。
  6. Confluence が正常に動作することを確認したら再びシャットダウンし、Confluence のアップグレードをトリガーします。
  7. Bandana XStream Content Migration アップグレード タスクでエラーが発生しないことと、atlassian-confluence.log で次のようなメッセージから確認できる Confluence のアップグレード全体の成功状況で、進捗を追跡します。

    atlassian-confluence.log
    YYYY-MM-DD HH:MM:SS,mmm INFO [main] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Starting Bandana XStream Content Migration for 1.1.1 format
    YYYY-MM-DD HH:MM:SS,mmm INFO [main] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Migrating <N-number> context(s) in Bandana
    YYYY-MM-DD HH:MM:SS,mmm INFO [main] [atlassian.confluence.upgrade.UpgradeTask] doDeferredUpgrade Finished Bandana XStream Content Migration
    YYYY-MM-DD HH:MM:SS,mmm INFO [main] [atlassian.confluence.upgrade.AbstractUpgradeManager] entireUpgradeFinished Upgrade completed successfully


説明 Confluence のアップグレードに失敗し、web インターフェイスに "Confluence had problems starting up...Transaction rolled back because it has been marked as rollback-only" と表示される。失敗の原因は、Bandana XStream Migration アップグレード タスクの最中に Gliffy の下書きデータで NPE が返されることです。
製品Confluence

最終更新日 2025 年 4 月 4 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.