Skip to content

Commit be5a1f8

Browse files
abnegateclaude
andcommitted
fix: set read_timeout on Redis reconnect and use instant docker stop
- Set Redis OPT_READ_TIMEOUT to 5s in reconnectCache() to prevent indefinite hangs on stale connections - Use docker stop -t 0 for immediate container stop (no 10s grace period) so the test moves on quickly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 93d3108 commit be5a1f8

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

tests/e2e/Adapter/Scopes/GeneralTests.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ public function testCacheFallback(): void
373373
// Bring down Redis
374374
$stdout = '';
375375
$stderr = '';
376-
Console::execute('docker ps -a --filter "name=utopia-redis" --format "{{.Names}}" | xargs -r docker stop', '', $stdout, $stderr);
376+
Console::execute('docker ps -a --filter "name=utopia-redis" --format "{{.Names}}" | xargs -r docker stop -t 0', '', $stdout, $stderr);
377377

378378
// Check we can read data still
379379
$this->assertCount(1, $database->find('testRedisFallback', [Query::equal('string', ['text📝'])]));
@@ -444,7 +444,7 @@ public function testCacheReconnect(): void
444444
// Bring down Redis
445445
$stdout = '';
446446
$stderr = '';
447-
Console::execute('docker ps -a --filter "name=utopia-redis" --format "{{.Names}}" | xargs -r docker stop', '', $stdout, $stderr);
447+
Console::execute('docker ps -a --filter "name=utopia-redis" --format "{{.Names}}" | xargs -r docker stop -t 0', '', $stdout, $stderr);
448448
sleep(1);
449449

450450
// Restart Redis containers
@@ -703,6 +703,7 @@ private function reconnectCache(): void
703703
{
704704
$redis = new \Redis();
705705
$redis->connect('redis', 6379, 2.0);
706+
$redis->setOption(\Redis::OPT_READ_TIMEOUT, 5);
706707
$redis->select(0);
707708
$adapter = new \Utopia\Cache\Adapter\Redis($redis);
708709
$adapter->setMaxRetries(3);

0 commit comments

Comments
 (0)