Upgrade to JIRA 7 failed due to java.lang.OutOfMemoryError at the time of Active Objects Backup

お困りですか?

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

コミュニティに質問

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

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

JIRA upgrade is failing and the logs show the following  :

The following appears in the atlassian-jira.log

2015-12-07 11:51:44,003 localhost-startStop-1 INFO      [c.a.j.bc.dataimport.DefaultExportService] Attempting to save the Active Objects Backup
Exception in thread "I/O dispatcher 5" java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.util.Collections$UnmodifiableCollection.iterator(Collections.java:1038)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:214)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:282)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590)
	at java.lang.Thread.run(Thread.java:745)

診断

  • If you take a heap dump of JIRA, you would notice that there is one class that is holding on to huge memory.
  • Looking deeper into the heap dumps, you can see the table name for which the thread is holding on to huge memory.

 

原因

When JIRA is upgraded, there is an automatic backup of the data that is created at the next startup. Now, if a particular Active objects table has huge amount of data in it, then there will be OutOfMemoryError at the time of creating a backup. This is because JIRA is trying to hold all of that data in its memory. The chances of this happening are more if the plugin is not compatible to the destination version of JIRA.

回避策

Disable auto-backup using the steps here : https://confluence.atlassian.com/jira/disabling-auto-export-185729651.html

ソリューション

If the plugin causing problems turns out to be an incompatible plugin, drop the table that is causing problems. Please note that the upgrade process needs to be done again from the beginning.

NOTE : After dropping the table, the data coming from that plugin will be lost.

  1. Create a new database backup from your old JIRA database.
  2. Drop the tables causing the problem from the database.
  3. Point the destination JIRA instance to this database.
  4. Start the destination JIRA.
  5. JIRA should get upgraded this time and start up fine.
最終更新日 2018 年 11 月 15 日

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

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