Archiving issues for the upgrade
ユーザーのダウンタイムを最小化するため、課題をアーカイブしてインデックスから除外することによってインデックスのサイズを削減します。アップグレード直後はユーザーはアーカイブされた課題を利用できませんが、実行中の Jira であとからそれらを復元できます。
概要
はじめる前に
これらのステップは Jira Data Center をシャット ダウンすることなく行なえます。
アーカイブする課題の特定
このステップでは、アップグレード直後は不要な課題を特定します。
課題をアーカイブするための SQL クエリの作成
アーカイブする課題を特定したら、それらをアーカイブする SQL クエリを作成する必要があります。弊社で用意したサンプル クエリをいくつか紹介します (PostgreSQL データベースを使用)。
データベースの書き換え
ダウンタイムを最小化するため、稼動中のデータベースで次のステップを実行できます。
これらのステップはデータベース スキームを書き換え、課題のアーカイブに必要なコラムを含めるようにします。
課題のアーカイブをサポートするようにデータベース スキームを書き換えます。次の SQL クエリは、
jiraissue
テーブルに 3 つの新しいコラムを追加します。PostgreSQL
alter table jiraissue add archived char default null, add archivedby varchar(255) default null, add archiveddate timestamp with time zone default null;
Oracle
alter table jiraissue add ( archived CHAR default null, archivedby varchar2(255) default null, archiveddate date default null);
新しいコラムが追加されたら、すべての課題のステータスを "not archived" に設定する別の SQL クエリを実行します。
update jiraissue set archived='N', archivedby=null, archiveddate=null;
念のため、Jira を開き、新しい課題をいくつか作成して、すべてが正常に動作していることを確認します。
選択した課題をアーカイブする SQL クエリを実行します。これは「課題をアーカイブするための SQL クエリを作成する」で用意したものです。ソース バージョンの 7.x では、"archived" 課題が変更されることはありません。
Jira Data Center のアップグレード
ここでは Jira Data Center をシャットダウンし、アップグレードを開始する必要があります。
「Jira Data Center のアップグレード」のステップにしたがい、Jira Data Center クラスタ全体を通常の手順でアップグレードします。
再インデックスについて
上述のアップグレード手順では、アップグレード済みの最初のノードで再インデックスを行い、インデックス (およびインストール ディレクトリ) を残りのノードにコピーします。archived とマークされた課題は含まれないため、この初回インデックスを素早く完了できます。アップグレードを完了し、Jira をユーザーに開放すると、ユーザーはアーカイブされていない課題にアクセスし、新しい課題を作成することができます。
アーカイブされた課題の復元と再インデックス
Jira Data Center のアップグレードが完了し、機能していることを確認したら、アーカイブされた課題を復元して再びインデックスを作成します。再インデックスは 1 つのノードで行われるため、ユーザーは引き続き Jira を利用できます。
アーカイブされた課題のステータスを "not archived" に変更する、逆の SQL クエリを実行します。次のクエリを使用してすべての課題のステータスを変更できます。
再インデックスを実行します。
> [システム] > [再インデックス] に移動します ("." を押して検索できます)。
[完全な再インデックス] を選択します。
再インデックスの完了には時間がかかりますが、ユーザーは引き続き Jira を利用できます。完了後、新しいインデックスが残りのノードに自動的に配布されます。