SDL Web 8.5 Publishing Failed in Deploying state - AWS Radis used for Blob storage

Recently we had this issue one of our clients, It's useful for other community users for AWS cloud docker container implementation.

Issue: Publishing got failed due to the high volume of pages published to publishing queue, CD deployer services memory usage maxed, tried restarted the CD services and tested republishing and next time DB memory usage went highly maxed.

Deploying Failed Error:

Phase: Deployment Processing Phase failed. Failed to execute pipelineId: 'Tridion-Process-Deploy' for 'tcm:0-2030661-66560' because of OOM command not allowed when used memory > 'maxmemory'.

Deployer-worker micro service configured to use Blob storage is Redis.

<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="xxx.cache.xxx.com"/>
    <Property Name="Port" Value="6379"/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>

Solution:

It was a Redis error. The deployer does not include any TTL values with blob's it places to Redis. Default configuration used for Redis cluster evicts data based on TTL values if not no evict option. The high volume of pages publishes maxed out the cache memory on the cluster.

We adjusted the eviction policy to remove data based on LRU instead. New group policy in Redis is not "xxx-redis32" as oppose to the default of "default.redis3.2"