Synchrony データを削除する方法

お困りですか?

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

コミュニティに質問

このナレッジベース記事はアトラシアンのサーバーおよび Data Center プラットフォームの両方に適用されます

このガイドは Confluence 7.0 以降に適用されます。Confluence 6.x バージョンについては「Synchrony テーブルのサイズを減らす方法」をご確認ください。


目的

共同編集が有効になっている場合、エディターで行われた変更の同期に Synchrony が使用されます。これにより、複数の人がお互いの変更をリアルタイムで確認できます。 

各ページとブログ投稿には独自の Synchrony 変更履歴があり、そのページまたはブログ投稿に対するすべての編集のグラフが含まれます。ビジーな Confluence サイトでは、Synchrony の変更履歴を格納するデータベース テーブルが非常に急速に成長することがあります。変更履歴にはすべての変更が格納されるため、関連するページが削除された後でも、個人を特定できる情報が保持されることがあります。

ソリューション

Confluence 7.0 以降では、Synchrony データを削除するための 2 つのスケジュール ジョブを提供しています。

  • Synchrony データのエビクション (ソフト)
  • Synchrony データのエビクション (ハード) 

ソフト エビクション ジョブは、バックグラウンドで定期的に実行されます。ハード エビクション ジョブは、Synchrony データをより積極的に削除する必要がある場合に使用でき、デフォルトでは無効になっています。両方のジョブが、関連するページまたはブログ投稿について、Synchrony の変更履歴全体を削除します。1 つのページまたはブログ投稿に関連する Synchrony データの一部のみを削除することはできません。 

これらのジョブの内容の詳細を確認する前に、"変更の保存" の概念について確認しておくことをおすすめします。

  • Synchrony はすべてのキーストロークを記録し、それを対象のページの Synchrony 変更履歴に保存します。 
  • Confluence は、ユーザーが [閉じる] ボタンを使用してエディタから離れたときと、ユーザーがエディタ内にいるときは 30 秒ごとに (この自動保存の間隔は変更可)、エディタの内容を下書きとして自動的に保存します。 
  • Confluence は、ユーザーがタブを閉じたり別のページにナビゲートしたりすることでエディタを離れたときに、エディタのコンテンツを下書きとして自動保存しようとします。ブラウザがクラッシュしたり、大きな遅延が発生したりしている場合、この保存は失敗します。データが失われることなく、誰かが次にページを編集しようとしたときに、Synchrony の変更履歴から変更が取得されます。 

ソフト削除のジョブ

このジョブは 10 分ごとに実行され、不要になった Synchrony 変更履歴をプロアクティブにクリーンアップします。これにより、Synchrony データベースのテーブルを適切なサイズに抑えることができます。

Synchrony の変更履歴は、次の条件を満たしたときにソフト エビクション ジョブでクリーンアップされます。

  • ページ/ブログ投稿の Synchrony 変更履歴が過去 3 日間変更されていない
  • ページ/ブログ投稿にアクティブなセッションがない (エディタでこのページを開いているユーザーがいない) 

Confluence による変更の自動保存機能があり、ジョブはアクティブな編集セッションを持つページやブログ投稿を無視するため、このクリーンアップによるエンドユーザーへの影響は、基本的にありません。

ただし、共同編集セッションの最後のユーザーがエディタを離れ、変更が自動保存されなかった場合 (例: ブラウザのクラッシュ)、前回の自動保存からエディタからの退出までの間に行われた変更は、データのエビクション時に失われます。 

ハード エビクション ジョブ

このジョブは既定で無効化されています。手動で実行することも、必要に応じて定期的な実行をスケジュールすることもできます。 

このジョブは、15 日よりも古いすべてのページまたはブログ投稿の Synchrony データのエビクションを行います。たとえば、あるページの作成から 15 日が経過済みで、そのページが作成以降毎日編集されている場合も、ページに関連付けられたすべての Synchrony データがジョブによって削除されます。このページはソフト エビクション ジョブの各実行から 3 日以内に編集されているため、ソフト エビクション ジョブのクリーンアップ対象にはなりません。 

ハード イベクション ジョブにより、データベース内で 15 日よりも古い Synchrony データを確実になくすことができます。これは、Synchrony から個人情報を削除する必要があったり、ソフト削除ジョブの実行内容よりもさらに積極的に Synchrony テーブルのデータ量を減らしたりしたい場合に、特に便利です。 

エンドユーザーへの影響には次のものが考えられます。

  • ジョブの実行時に、エディタ内にいるユーザーには、変更をコピーしてページを更新するように促すエラーが表示されます。エディタはページが更新されるまでの間、読み取り専用になります。これは、Confluence が Synchrony に接続できないときの挙動と似ています。 
  • エディタを離れ、変更が自動保存されなかった (例: ブラウザのクラッシュ) ユーザーは、前回の自動保存とジョブの実行時点との間の変更を失う可能性があります。 

Synchrony テーブルの大きさや、前回の実行時からの間隔によっては、このジョブの実行に時間がかかり、パフォーマンスに明らかな影響が出る可能性があります。このジョブを定期的に実行するようにスケジュールしたい場合、初回実行時のパフォーマンスの問題を避けるために、まず Synchrony テーブルを手動で切り捨てることをおすすめします。これは、Confluence 7.x バージョンへのアップグレード後の最初の実行時は不要です。アップグレード タスクによってテーブルの切り捨てが行われるためです。 

ジョブの挙動の変更

[スケジュール済みジョブ] 画面では、ジョブを手動で実行したり、ジョブを実行する時間や頻度を変更したりすることができます。詳細については「スケジュール済みジョブ」をご確認ください。 

システム プロパティを使い、これらのスケジュール済みジョブのデフォルトの挙動を変更することもできます。ほとんどの場合はデフォルト値の利用が適切です。たとえば、次のことを行えます。

  • synchrony.eviction.soft.job.threshold.hours システム プロパティを設定し、ソフト エビクション ジョブで 3 日ではなく 7 日変更されていない Synchrony 変更履歴のみをクリーンアップするようにします。
  • synchrony.eviction.hard.job.threshold.hours システム プロパティを設定し、ハード エビクション ジョブで 15 日ではなく 20 日前からの編集記録を持つページでデータを削除するようにします。 

これらのジョブに適用されるすべてのシステム プロパティの詳細については「認識されるシステム プロパティ」をご確認ください。 

Synchrony データの手動削除

Confluence 6.x を使用していたり、スケジュールされたジョブを使用した段階削除ではなくすべての Synchrony データを一度に削除する必要があったりする場合、Synchrony データベースのテーブルを切り捨てることができます。

詳細については「Synchrony テーブルのサイズを減らす方法」をご確認ください。ほかの操作と同様に、データベースへの直接変更を行う前にデータベースの完全なバックアップを取得することをおすすめします。 





最終更新日 2019 年 6 月 25 日

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

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