The Redis RDB Snapshotting feature utilizes a snapshotting feature to persist the contents of the cache to disk to ensure that if Redis crashes, its state is able to be recovered on restart. It accomplishes this by forking the Redi server process that is holding all of the memory for the cache and then persisting that copy to disk. This clone of the process can spike memory usage on the environment temporarily past the resources available to the machine.
When Redis is unable to fork the process to initiate the snapshot, it fails the background save. By default, Redis is configured to go into read-only mode when the background save fails. This causes the W pool to begin throwing exceptions which causes the Platform Analytics Consumer to throw fatal exceptions, crashing the consumer process. Since it is easy to rebuild the cache from the Platform Analytics Warehouse database, the snapshotting feature can be disabled to avoid unnecessary usage of resources on the machines and prevent instability of the consumer workflow. Note: The Redis RDB Snapshotting feature is disabled in Strategy 2020.
./platform-analytics-usher-lookup-producer.sh stop
./platform-analytics-consumer.sh stop
./redis-cli
SHUTDOWN
redis.conffile:
###SNAPSHOTTING###header:
#save 900 1
#save 300 10
#save 60 10000
save ""
./platform-analytics-consumer.sh start
./platform-analytics-usher-lookup-producer.sh start
redis.windows.confand
redis.windows-service.conflocated in
C:\Program Files (x86)\Common Files\Strategy\Redis.
redis.windows.confand
redis.windows-service.conf:
###SNAPSHOTTING###heading:
#save 900 1
#save 300 10
#save 60 10000
save ""
Third Party Software Installation WARNING
The third-party product(s) discussed in this technical note is manufactured by vendors independent of Strategy. Strategy makes no warranty, express, implied or otherwise, regarding this product, including its performance or reliability.