ストアド プロシージャ内で無限ループが発生することにより、xDB Processing Poolsデータベースでリソース消費量が増加したり、応答時間が長くなる場合があります。この問題は以下の[Processing.Pools]データベースのストアド プロシージャで発生する可能性があります。
[xdb_processing_pools].[GenericProcessing_CheckoutBatch]
[xdb_processing_pools].[ContactProcessing_CheckoutBatch]
[xdb_processing_pools].[InteractionHistoryProcessing_CheckoutBatch]
[xdb_processing_pools].[InteractionLiveProcessing_CheckoutBatch]
これらにはすべて、以下のような部分が含まれています。
WHILE( @Retry = 1 )
BEGIN
...
[Attempts] = ([Attempts] + 1),
...
END
[Attempts]フィールドは[smallint]タイプであるため、最大値が32767に制限されます。何らかの理由でフィールドが最大値に達した場合、「算術オーバーフロー(Arithmetic overflow)」エラーが発生し、無限ループとなります。
この問題を解決するには、以下のオプションのいずれかを検討してください。
DELETE
FROM [xdb_processing_pools].[ContactProcessingPool]
WHERE Attempts > 10
DELETE
FROM [xdb_processing_pools].[ContactProcessingPool]
WHERE Attempts > 10
DELETE
FROM [xdb_processing_pools].[ContactProcessingPool]
WHERE Attempts > 10