Thanks to visit codestin.com
Credit goes to github.com

Skip to content

blPop leaking memory #9

Closed
Closed
@pdewaha

Description

@pdewaha

Hi,
We use redis to dispatch commands to worker processes based on lists (as queues).
The worker processes pop commands from lists in blocking mode.
The blPop command leaks memory heavily.

Please use following code snippet to reproduce the problem:
It is a consumer producer, just to showcase the bug.

Call the consumer from the command line and let it run.
Call the producer from the command line in parallel to the consumer.

You can see how the consumer (blPop) increases the memory usage until memory limit is reached.

Can't tell you the version of phpredis, it was a master checkout in february.

Best regards,
Patric

connect('10.10.0.1', 6379); while (true) { if ($r->lpush('queue', mt_rand(1,1232432342342)) > 10) usleep(500); echo "Memory used (".memory_get_usage().")\n"; } } public static function consumer() { $r = new Redis(); $r->connect('10.10.0.1', 6379); while (true) { $result = $r->blPop('queue', 1); // this bugs... echo "Memory used (".memory_get_usage().")\n"; } } ``` } ?>

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions