DeviceProfileにおける競合の例外


説明

同じコンタクトにおける2つのセッションが同時に期限切れになった場合、例外が発生する可能性があります。この場合、デバイス データは1つ目のセッションでデータベースに保存されますが、2つ目のセッションでは同時実行トークンがすでに更新されているため、保存されません。この時、次の例外がログ ファイルに出力されます。

11:53:44 ERROR PostSessionEndPipeline failed.
Exception: Sitecore.XConnect.Operations.EntityOperationException
Message: Operation #0, Conflict, DeviceProfile {c8b3cd10-631e-4c0d-9efe-53e8b7a1b97b}
Source: Sitecore.Xdb.Common.Web
   at Sitecore.Xdb.Common.Web.Synchronous.SynchronousExtensions.SuspendContextLock[TResult](Func`1 taskFactory)
   at Sitecore.XConnect.Client.XConnectSynchronousExtensions.SuspendContextLock(Func`1 taskFactory)
   at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.<>c__DisplayClass25_0.<savedevice>b__1(IXdbContext xdbContext)
   at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.<>c__DisplayClass31_0.<executewithexceptionhandling>b__0(IXdbContext c)
   at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.ExecuteWithExceptionHandling[T](Func`2 func)
   at Sitecore.Analytics.XConnect.Diagnostics.PerformanceCounters.OperationPerformanceMonitorExtensions.<>c__DisplayClass1_0.<monitor>b__0()
   at Sitecore.Analytics.XConnect.Diagnostics.PerformanceCounters.OperationPerformanceMonitorExtensions.Monitor[T](OperationPerformanceMonitorBase monitor, Func`1 operation)
   at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.SaveDevice(DeviceData deviceData)
   at Sitecore.Analytics.DataAccess.Dictionaries.AverageCounterExtensions.<>c__DisplayClass1_0.<measuremilliseconds>b__0()
   at Sitecore.Analytics.DataAccess.Dictionaries.AverageCounterExtensions.MeasureMilliseconds[T](AverageCounter counter, Func`1 func)
   at Sitecore.Analytics.DataAccess.Dictionaries.ReferenceDataDictionary`2.Put(TValue value)
   at Sitecore.Analytics.Pipelines.SubmitSessionContext.SaveDevice.Process(SubmitSessionContextArgs args)

解決策

本問題を解決するには、以下のいずれかを実施してください。

各hotfixは特定のSitecore XPバージョン専用に作成されたものであり、他のSitecore XPバージョンにインストールしたり、(互換性が確認されるまでは)他のhotfixと組み合わせてインストールしたりしないでください。SitecoreXPインスタンスに他のHotfixが既にインストールされている場合は、互換性チェックをSitecoreサポートにご依頼ください。

ZIPファイルを解凍し、インストールの手順書や関連のファイルを確認してください。HotfixはCMインスタンスにインストールしてから、貴社の標準の開発方法にて他のインスタンスと同期する必要があります。