👋 Hey team,
Submitting my solution for the Redix upstream failure crisis detection bounty. This implementation provides a comprehensive test environment and enhanced CRE rule to detect critical upstream failure scenarios
/claim #42
Reproducible test setup (Maintainers invited) : Redis Crash
Live CRE link: CRE Playground Link
Log file: test.log
Full test execution showing upstream failure simulation and CRE rule validation:
https://github.com/user-attachments/assets/532e0b2f-a2c3-436e-a40b-10a0e8504cf3
This rule covers critical Redis states that block all writes:
maxmemory
+ noeviction
BGSAVE
to failRun the following commands to simulate the cascade of Redis failures:
# Start the environment
docker-compose up -d
# Run the full Redis multi-stage crash test
chmod +x run-test.sh
./run-test.sh
# View logs
cat test.log
EVAL
(40MB Lua allocation → memory exhaustion)BGSAVE
on a full diskREPLICAOF
SET
From the generated test.log
:
RedisTest] Step 1: Triggering OOM with Lua EVAL...
OOM command not allowed when used memory > 'maxmemory'. script: 92f6ccf5..., on @user_script:1.
[RedisTest] Step 4: Write after RDB failure (expect MISCONF)...
MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk...
[RedisTest] Attempting write in replica mode...
READONLY You can't write against a read only replica.
[RedisTest] Trying SET as testuser (expect NOPERM)...
NOPERM User testuser has no permissions to run the 'set' command
0 (Critical)
120 seconds
10/10
Low
(requires exact failure sequence)Vamshi Maskuri
@varshith257
Prequel
@prequel-dev