clue / reactphp-redis

Async Redis client implementation, built on top of ReactPHP.
https://clue.engineering/2019/introducing-reactphp-redis
MIT License
268 stars 48 forks source link

FiberError: Cannot Resume a Fiber That Is Not Suspended with reactphp-redis During High Concurrency #159

Open pfk84 opened 1 month ago

pfk84 commented 1 month ago

I’m not sure if this issue is specifically related to this library or ReactPHP, but currently, it only occurs with reactphp-redis.

When I run something like:

$counter = await($this->redis->eval(self::LUA_SCRIPT, 1, $uri, $period));

During periods of high concurrency, I encounter the following error:

Unhandled promise rejection with FiberError: Cannot resume a fiber that is not suspended in /app/vendor/react/async/src/SimpleFiber.php:28

Do you have any insights into why this is happening or what I could do to resolve it? Interestingly, when I work with the promises directly, everything functions correctly.

pfk84 commented 1 week ago

No idea? :( Pretty sure it's due to the eval... Other commands just work fine.