メンテナンスを手動で実行する
スケジュールを待つ必要はありません。job の動作を事前に確認したり、すぐに実行したり、処理が進まなくなった job を解除したりできます。
前提条件
- Dry run の場合: role に
maintenance:readが含まれていること。 - Run と Reset state の場合: role に
maintenance:manageが含まれていること。
Dry run で事前に確認する
Dry run は、メンテナンスを実行せずに job の各ステップを確認します。実行は作成されず、テーブルも変更されません。
- サイドバーで Janitor → Maintenance Jobs を選択し、テーブルを選択します。
- Run の横のドロップダウンを開き、Dry run を選択します。
- Dry run result を確認します。各ステップに
PASSまたはFAILEDが表示されます。

失敗したステップには、その名前の下の赤い枠に理由が表示されます。Run を選択する前に原因を解消してください。たとえば、テーブルがまだ存在するかを確認します。Janitor がテーブル自体を確認できない場合は、ステップごとではなく、テーブル全体に対するエラーが 1 つだけ表示されます。
ステップは job のメンテナンスオプションによって決まります。
| オプション | ステップ |
|---|---|
| OPTIMIZE | metadata_scan、optimize、rewrite_manifests |
| EXPIRE SNAPSHOTS | expire_snapshots |
| ORPHAN CLEANUP | remove_orphan_files |
ステップは常に上の表の順に実行されます。
job をすぐに実行する
- job を開きます。
- Run を選択します。
- Trigger Manual Run で Trigger Run を選択します。
実行には、job でオンになっているメンテナンスオプションが使われます。別のオプションで実行するには、先にオプションを変更してください。job のスケジュールやオプションを変更するを参照してください。
実行の状況を確認するには、job の Runs タブを開きます。実行履歴の確認と実行の停止を参照してください。
メンテナンスが一時停止または停止していた後に取り戻すには、Run を使います。Janitor は、実行されなかったスケジュール実行を自動ではやり直しません。
Reset state で処理が進まなくなった job を解除する
実行が Running と表示されたまま何も進まず、新しい実行も開始できない場合、job はスタックしています。Reset state でこの状態を解除すると、job を再び実行できます。
- job を開きます。
- Run の横のドロップダウンを開き、Reset state を選択します。
resetと入力し、Reset を選択します。
リセット後は次のようになります。
RunningまたはQueuedだった job の実行はCancelledになり、メッセージCleared by operatorが表示されます。- job はすぐに再実行できます。Janitor がスケジュールから次回の実行を設定します。
- 無効化した job は無効化されたままです。
- Janitor は、リセットを 1 回の実行として job の履歴に記録します。
Reset state は、テーブル、snapshot、ファイル、データを一切削除しません。Janitor 内の job の状態を変更するだけです。
実行が実際に動作している間は、Reset state はブロックされます。動作中の実行を止めるには、代わりに Stop run を使ってください。実行を停止するを参照してください。
問題が発生した場合
| 状況 | 意味 | 対処 |
|---|---|---|
Maintenance is globally paused | Settings ページで、すべてのメンテナンスが一時停止されています。 | 待つか、管理者に再開を依頼してください。すべてのメンテナンスの一時停止と再開を参照してください。 |
| 動作中の実行があるため Run が拒否される | 1 つの job で同時に動作できる実行は 1 件だけです。 | 実行が終わるまで待つか、Run history で実行を停止してください。 |
| Reset state が拒否される | job の実行がまだ動作しています。スタックしていません。 | 待つか、その実行で Stop run を選択してください。 |
Dry run のステップに FAILED が表示される | 現在、Janitor はそのテーブルでそのステップを実行できません。 | ステップの下のエラーを確認し、Data Explorer でテーブルを確認してください。 |
| アクセスエラー | role でその操作が許可されていません。 | 管理者に maintenance:manage を依頼してください。 |