Restore from backup fails due to "Timeout exceeded waiting for service - com.atlassian.activeobjects.spi.Backup"

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

問題

Restoring a Fisheye/Crucible backup using the command line fails and the following is written in stdout:

ERROR: problem running command
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101)
	at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44)
Caused by: com.atlassian.applinks.host.OsgiServiceProxyFactory$ServiceTimeoutExceeded: Timeout exceeded waiting for service - com.atlassian.activeobjects.spi.Backup
	at com.atlassian.applinks.host.OsgiServiceProxyFactory$DynamicServiceInvocationHandler.invoke(OsgiServiceProxyFactory.java:106)
	at com.sun.proxy.$Proxy27.restore(Unknown Source)
	at com.atlassian.crucible.migration.item.ActiveObjectsBackup$ActiveObjectsRestorer.restore(ActiveObjectsBackup.java:122)
	at com.cenqua.fisheye.ctl.Restore.run(Restore.java:197)
	at com.cenqua.fisheye.ctl.Restore.main(Restore.java:273)
	... 6 more

診断

環境

  • Reproducible when restoring to Oracle 11g and to HSQLDB. This was not tested with other database types.

Diagnostic Steps

  • The backup file, regardless of having been created manually or via scheduled backup, includes the ActiveObjects option among other options.
  • The Java option --Datlassian.plugins.enable.wait=300 cannot be used in the restore command.

原因

The command line fails to restore the Active Objects due to an unknown reason thus far.

ソリューション

Active Objects are database tables used by plugins in order to persist data (most likely plugin configuration data), being them bundled or user installed plugins.

 In the database schema, the Active Objects tables have a common naming prefix, starting with AO_.

For the restore command to work, the Active Objects should not be restored along with the other items backed up, and any plugin that persists data in the Active Objects tables will likely need to be reconfigured.

By default, the restore command will restore all items included in the backup if no specific item is specified along with the command.

Considering the restore command line options mentioned in Backing up and restoring Fisheye data:

Backup options in the web interfaceスイッチ
ActiveObjects--ao
Repository and application caches--cache
Plugins and their configuration data--plugins
SQL database--sql
Web Templates--templates
Uploaded files and local copies of files under review--uploads

The restore command line should include all options backed up except ActiveObjects, so all switches except --ao should be specified along with the restore command line.

例:

  • If the backup includes all options mentioned above, the restore command line should be like this (excluding only --ao):

    fisheyectl.sh restore --f /path/to/backup_file.zip [OPTIONS] --cache --plugins --sql --templates --uploads
  • If the backup includes ActiveObjects, SQL database and Web Templates, the restore command line should look like this:

    fisheyectl.sh restore --f /path/to/backup_file.zip [OPTIONS] --sql --templates
  • And so on. The switches that must be specified along with the restore command line depend on what is included in the backup.

In the examples given above, [OPTIONS] is a placeholder for any other restore switches you may need to specify, such as the ones pertinent to database settings if you want to restore into a different database.


最終更新日 2018 年 7 月 31 日

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

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