Processing Poolsデータベースでリソース消費量が増加する


概要

ストアド プロシージャ内で無限ループが発生することにより、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)」エラーが発生し、無限ループとなります。

解決策

この問題を解決するには、以下のオプションのいずれかを検討してください。