プラグイン ステップ登録を重複させないでください

カテゴリ: パフォーマンス

影響の可能性: 高い

現象

プラグイン ステップ登録を重複すると、同じメッセージまたはイベントでプラグインが複数回実行されます。 プラグイン ステップ登録が重複すると、次のようになる可能性があります:

  • 非同期実行モードとして登録されると、非同期ジョブのプロセスが遅れる。

  • 同期実行モードとして登録されると、ユーザー パフォーマンス エクスペリエンスが低下する。 エクスペリエンスには次のものが含まれます:

    • モデル駆動アプリが応答しない
    • クライアント対話が遅くなる
    • ブラウザーが応答を停止する

ガイダンス

削除して再作成するのではなく、既存のプラグイン登録ステップを更新してください。 また、サポートされている手法のプラグイン登録ステップのみを作成および更新してください。

問題となるパターン

警告

これらのパターンは、回避する必要があります。

ソース インスタンス (test、dev、preprod) のステップを削除および再作成すると、そのステップが以前に登録されていた場合、ターゲット環境に登録されている重複ステップを作成します。

プラグイン ステップ登録の重複。

新しい GUID で SDKMessageProcessingSteps を手動で作成するか、customizations.xml ファイル内で既存の GUID を更新すると、重複ステップが登録されます。 カスタマイズ ファイルを編集するとき で説明されているように、これらのタスクの種類はサポートされていません。

追加情報

イベントが更新メッセージに登録されると、プラグイン ステップ登録の重複により SQL のデッドロックが発生する可能性があります。 レコードの更新が発行されると、SQL はそのレコードの行のロックを作成します。 別のトランザクションが同じレコードを更新しようとする場合、更新が可能になる前にロックがリリースされるまで待つ必要があります。 タイムアウトが発生すると、トランザクションがロールバックされて、更新は SQL データベースにコミットされません。

参照

プラグインの登録 デッドロック

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。