null コンテンツのライフサイクル(3)〜ファイルシステムとDBクリーニング〜

こんにちは。たなかです。

前回コンテンツ作成までご紹介したコンテンツのライフサイクル(1)、ごみ箱に入れる(コンテンツ削除)を紹介したコンテンツのライフサイクル(2)の続きで、今回は最終回としてファイルシステムとDBのクリーニングについてをご紹介します。
 

ファイルシステムのクリーニング

ContentStoreCleanerが定期的に実行され、alf_nodeのorphan_timeから一定期間(デフォルトは14日間)経過しているファイル実体をcontentstoreからcontentstore.deletedに移動します。

ContentStoreCleanerの実行タイミング(contentstore.deletedへ移動させる期間とContentStoreCleanerの実行時刻)については以下のファイルで設定することが可能です。

vi install_dir /tomcat/shared/classes/alfresco-global.properties

以下のプロパティに設定します。
contentstore.deletedへ移動させるまでの日数

system.content.orphanProtectDays=7

ContentStoreCleanerの実行時刻

system.content.orphanCleanup.cronExpression=0 0 4 * * ?

 

ファイルシステム

contentstoreからcontentstore.deletedへ移動されています。

[root@localhost aegif]# ll /opt/alfresco/alf_data/contentstore/2020/12/15/14/7/
ls: /opt/alfresco/alf_data/contentstore/2020/12/15/14/7/ にアクセスできません: そのようなファイルやディレクトリはありません
[root@localhost aegif]# ll /opt/alfresco/alf_data/contentstore.deleted/2020/12/15/14/7/
合計 4
-rw-r-----. 1 root root 23 12月 22 15:00 39b20a27-8d72-41a9-8016-0838e9c36eea.bin

contentstore.deletedに移った後は、自由に削除して問題ありません。

 

DB

  • alf_node

レコードに変化はありません。

  • alf_node_properties

レコードに変化はありません。

  • alf_content_data

ごみ箱からコンテンツを削除したタイミングで削除されているため変更はありません。

  • alf_content_url

レコードは削除されます。
 

インデックス

ごみ箱からコンテンツを削除したタイミングで削除されているため変更はありません。

ファイルシステムのクリーニングがあったことで、ファイル実体がcontentstoreからcontentstore.deletedへ移動されました。
また、DB上の変化としてはalf_content_urlテーブルからレコードが削除されています。
 

DBのクリーニング

DeletedNodeCleanupWorkerが定期的に実行され、alf_nodeテーブルやその他のテーブルのレコー ドを削除しています。
ここでは、alf_nodeテーブルでdeletedになっているレコードに対応するalf_transactionテーブルのcommit_time_msが一定期間経過しているものを抽出しています。
 

ファイルシステム

ファイルシステムクリーニングのタイミングでcontentstoreからcontentstore.deletedへ移動しているため変更はありません。
 

DB

  • alf_node

レコードは削除されます。

  • alf_node_properties

レコードは削除されます。

  • alf_content_data

ごみ箱からコンテンツを削除したタイミングで削除されているため変更はありません。

  • alf_content_url

ファイルシステムクリーニングのタイミングで削除されているため変更はありません。
 

インデックス

ごみ箱からコンテンツを削除したタイミングで削除されているため変更はありません。

ごみ箱を空にしてからの保持期間については以下のファイルで設定することが可能です。

vi install_dir /tomcat/shared/classes/alfresco-global.properties

以下のプロパティに日数を設定します。

index.tracking.minRecordPurgeAgeDays=30


DBのクリーニングがされたタイミングでalf_transactionテーブル等から関連レコードも削除されます。
これで関連テーブルからレコードが全て削除されました。

以上で『コンテンツのライフサイクル』は完結です。

関連記事
feature
feature

RANKING
2020.10.12
2020.11.19
2020.12.23
2020.10.05
2020.11.25