この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

グループメンバーシップのロック

インテグレーションまたは管理コンソールによってロール階層またはグループメンバーシップを更新すると、ユーザに「ロックを取得できない」というエラーが表示され、再操作が必要になることがあります。このエラーは、更新中にグループメンバーシップ情報を保持するテーブルが共有システムによってロックされるために発生します。これは、互換性のない更新が同時に行われたり、タイミングの問題が発生したりするのを防止するためで、どちらの場合も、ユーザのアクセス権に関するデータが不正確になるおそれがあります。通常、こうしたロックはごく短時間のみ保持され、ユーザにロック競合エラーが表示されることはほとんどありません。ロールの変更によって共有ルールの再適用が起動された場合など、状況によっては、ロック保持時間が長くなり、競合が発生する可能性があります。

このようなロックエラーが発生するのは、通常、ユーザが大規模なデータ読み込みを実行している場合や、他の内部システムとのインテグレーションを実行していて、ロールとグループ構造、ロールやグループへのユーザ割り当て、またはその両方が変更される場合です。これらのプロセスが実行されているときにシステム管理者がユーザのロールを変更しようとしたり、ユーザが新しい外部ユーザをプロビジョンしようとすると、こうした同時操作のいずれかで、必要なロックを確保できなくなることがあります。このエラーが最も発生する可能性が高いのは、多くの取引先の割り当てやユーザロールが変更される年度末処理や四半期末処理のような定期的な組織の再配置イベントの間です。

ユーザは、ロックエラーの発生確率を次の方法で下げることができます。
  • 各グループメンテナンスプロセスが重ならないように慎重にスケジュールする
  • インテグレーションやその他の自動化されたグループメンテナンスプロセスに再試行ロジックを実装して、エラーから回復してロックを取得できるようにする

ロール階層またはグループメンバーシップを更新しているときに、グループメンバーシップ情報を更新する別のリリースまたはグループメンバーシップ情報を更新する Apex テストを持つ別のリリースを実行すると、ロックエラーが発生します。ロックエラーが発生した場合は、リリース操作または Apex テストが終了するまで待ちます。

メモ

デフォルトでは、詳細なロックが有効になっており、更新に関係するロールまたはグループ間で階層関係または他の関係がなければ、一部のグループメンテナンス操作を同時進行できます。システム管理者は、メンテナンスプロセスおよびインテグレーションコードを調整してこの制限付きの同時実行を利用することにより、ロックエラーを回避しながら、大規模な更新をより速く処理できます。

詳細なロックの主な利点は、次のとおりです。
  • 異��る階層にあるグループを同時に操作できます。
  • テリトリーを含まない公開グループと公開ロールが、テリトリー操作によってブロックされなくなります。
  • テリトリーおよび公開グループにユーザを同時に追加できます。
  • ユーザのプロビジョニングを並列実行できます。
    • 外部ユーザの作成にロックが必要なのは、新しい外部ロールが作成される場合のみ。
    • 既存の取引先で、新しい外部ユーザのプロビジョニングが同時に処理される。
  • ロールの削除などの長時間を要する単一処理で、操作のごく一部のサブセットしかブロックされません。

次の表に、並列実行できるすべての操作を示します。親の変更 (ロール階層内でのロールの移動) などの特定の操作では、引き続き、他のほとんどすべてのグループ更新がブロックされます。

グループ操作 同時実行できる操作
ロールの作成
  • ユーザロールの変更1
  • テリトリーの親の変更
  • テリトリーの削除
  • テリトリーの作成
  • テリトリーからのユーザの削除
  • テリトリーへのユーザの追加
  • ユーザのプロビジョニング2
ロールの削除
  • テリトリーの親の変更
  • テリトリーの削除
  • テリトリーの挿入
  • テリトリーからのユーザの削除
  • テリトリーへのユーザの追加
ロールの親の変更 (サイトまたはポータル取引先所有者の変更を含む) テリトリーの作成
テリトリーへのユーザの追加
  • ロールの削除
  • ロールの挿入
  • テリトリーの作成
  • テリトリーへのユーザの追加
  • ユーザのプロビジョニング3
テリトリーからのユーザの削除
  • ロールの削除
  • ロールの挿入
  • テリトリーの作成
  • ユーザのプロビジョニング3
テリトリーの親の変更
  • ロールの削除
  • ロールの挿入
  • ユーザのプロビジョニング3
テリトリーの削除
  • ロールの削除
  • ロールの挿入
  • ユーザのプロビジョニング3
テリトリーの作成
  • ロールの親の変更
  • ロールの削除
  • ロールの挿入
  • ユーザロールの変更1
  • テリトリーへのユーザの追加
  • テリトリーからのユーザの削除
  • ユーザのプロビジョニング3
既存のロールを使用した内部ユーザのプロビジョニング
  • ロールの挿入
  • ユーザロールの変更1
  • テリトリーの親の変更
  • テリトリーの削除
  • テリトリーの作成
  • テリトリーからのユーザの削除
  • テリトリーへのユーザの追加
  • ユーザのプロビジョニング3
ユーザロールの変更 (ユーザはサイトまたはポータル取引先を所有できない)。
  • ロールの挿入
  • テリトリーの挿入
  • ユーザのプロビジョニング3
取引先での最初のサイトまたはポータルユーザのプロビジョニング
  • ユーザロールの変更1
  • テリトリーの親の変更
  • テリトリーの削除
  • テリトリーの作成
  • テリトリーからのユーザの削除
  • テリトリーへのユーザの追加
  • ユーザのプロビジョニング2
取引先での 2 番目のサイトまたはポータルユーザの作成
  • ロールの挿入
  • ユーザロールの変更1
  • テリトリーの親の変更
  • テリトリーの削除
  • テリトリーの作成
  • テリトリーからのユーザの削除
  • テリトリーへのユーザの追加
  • ユーザのプロビジョニング3
大規模 Experience Cloud サイトユーザのプロビジョニング すべてのグループメンバーシップの操作
サイトまたはポータル取引先所有者の変更 テリトリーの作成
サイトまたはポータル取引先を所有するユーザのロールの変更 テリトリーの作成

1 ユーザは、サイトまたはポータル取引先またはカスタマーポータル取引先を所有できません。

2 既存のポータルロールでの標準ユーザまたは外部ユーザのプロビジョニング

3 取引先にある最初のサイトまたはポータルユーザを含む、任意の標準ユーザまたは外部ユーザのプロビジョニング