グループメンバーシップのロック
インテグレーションまたは管理コンソールによってロール階層またはグループメンバーシップを更新すると、ユーザに「ロックを取得できない」というエラーが表示され、再操作が必要になることがあります。このエラーは、更新中にグループメンバーシップ情報を保持するテーブルが共有システムによってロックされるために発生します。これは、互換性のない更新が同時に行われたり、タイミングの問題が発生したりするのを防止するためで、どちらの場合も、ユーザのアクセス権に関するデータが不正確になるおそれがあります。通常、こうしたロックはごく短時間のみ保持され、ユーザにロック競合エラーが表示されることはほとんどありません。ロールの変更によって共有ルールの再適用が起動された場合など、状況によっては、ロック保持時間が長くなり、競合が発生する可能性があります。
このようなロックエラーが発生するのは、通常、ユーザが大規模なデータ読み込みを実行している場合や、他の内部システムとのインテグレーションを実行していて、ロールとグループ構造、ロールやグループへのユーザ割り当て、またはその両方が変更される場合です。これらのプロセスが実行されているときにシステム管理者がユーザのロールを変更しようとしたり、ユーザが新しいポータルユーザをプロビジョンしようとすると、こうした同時操作のいずれかで、必要なロックを確保できなくなることがあります。このエラーが最も発生する可能性が高いのは、多くの取引先の割り当てやユーザロールが変更される年度末処理や四半期末処理のような定期的な組織の再配置イベントの間です。
- 各グループメンテナンスプロセスが重ならないように慎重にスケジュールする
- インテグレーションやその他の自動化されたグループメンテナンスプロセスに再試行ロジックを実装して、エラーから回復してロックを取得できるようにする
デフォルトでは、詳細なロックが有効になっており、更新に関係するロールまたはグループ間で階層関係または他の関係がなければ、一部のグループメンテナンス操作を同時進行できます。システム管理者は、メンテナンスプロセスおよびインテグレーションコードを調整してこの制限付きの同時実行を利用することにより、ロックエラーを回避しながら、大規模な更新をより速く処理できます。
- 異なる階層にあるグループを同時に操作できます。
- テリトリーを含まない公開グループと公開ロールが、テリトリー操作によってブロックされなくなります。
- テリトリーおよび公開グループにユーザを同時に追加できます。
- ユーザのプロビジョニングを並列実行できます。
- ポータルユーザの作成にロックが必要なのは、新しいポータルロールが作成される場合のみ。
- 既存の取引先で、新しいポータルユーザのプロビジョニングが同時に処理される。
- ロールの削除などの長時間を要する単一処理で、操作のごく一部のサブセットしかブロックされません。
次の表に、並列実行できるすべての操作を示します。親の変更 (ロール階層内でのロールの移動) などの特定の操作では、引き続き、他のほとんどすべてのグループ更新がブロックされます。
1 ユーザは、パートナーポータル取引先またはカスタマーポータル取引先を所有できません。
2 既存のポータルロールでの標準ユーザまたはポータルユーザのプロビジョニング
3 取引先にある最初のポータルユーザを含む、任意の標準ユーザまたはポータルユーザのプロビジョニング