为了监控升级的过程,你应该查看 application log 日志中的输出。
通常日志经常将会显示多个日志实例,这个实例是定义在日志的 INFO 级别的,通常格式如下:
WikiToXhtmlMigrationThread-n - Migrated 2500 of 158432 pages, this batch migrated 500/500 without error
针对每一个独立的页面,可能会显示很多日志的消息,但是任何错误将会显示一个独立合并日志,一旦所有的内容都被处理完成后。下面是一个有关报表的基本显示内容:
Wiki to XHTML Exception Report: Summary: 0 settings values failed. 0 PageTemplates failed. 2 ContentEntityObjects failed. Content Exceptions: 1) Type: page, Id: 332, Title: Release Notes 1.0b3, Space: DOC - Confluence 4.0 Beta. Cause: com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro link is unknown.. Message: The macro link is unknown. 2) Type: comment, Id: 6919, Title: null, Global Scope. Cause: com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro mymacro is unknown.. Message: The macro mymacro is unknown.
在报表中的每一部分定义了在合并过程中可能会导致异常的内容和显示的异常。
在绝大部分情况下,如果合并到新 XHTML 存储格式的错误内容将会显示在这里,通常主要原因是是 wiki 标记的内容中使用 'unmigrated-wiki-markup' 宏。这些内容在 Confluence 还是可见的,同时也是能够在新的 Confluence 中进行修改的。
然而,在一些情况下,批量合并处理的结果是完全失败了,这种情况主要是数据库的事务异常没有被处理,通常这种错误将会在日志中进行如下的显示:
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) - com.atlassian.confluence.content.render.xhtml.migration.exceptions.MigrationException: java.util.concurrent.ExecutionException: org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
Confluence 针对这种情况不能提供更多的报表,同时能够允许 Confluence 进行正常的启动而不再尝试重新合并内容。如果一个用户尝试查看任何没有合并的内容,这个用户将会有可能看类似下面的异常:
java.lang.UnsupportedOperationException: The body of this ContentEntityObject ('Page Title') was 'WIKI' but was expected to be 'XHTML'
针对这个问题的解决方案就是在重启 Confluence 再次运行站点内容合并。
https://www.cwiki.us/display/CONF6ZH/Migration+from+Wiki+Markup+to+XHTML-Based+Storage+Format