blPop leaking memory #9

Closed
pdewaha opened this Issue Apr 14, 2011 · 3 comments

Projects

None yet

2 participants

@pdewaha
pdewaha commented Apr 14, 2011

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"; } } ``` } ?>
@nicolasff
Collaborator

Hello,

Thanks for reporting this, I'll have a look at it today.

Nicolas

@nicolasff nicolasff was assigned Apr 14, 2011
@nicolasff nicolasff closed this in 87cfc26 Apr 15, 2011
@nicolasff
Collaborator

This issue has been fixed in the pecl branch and merged into master.

@pdewaha
pdewaha commented Apr 20, 2011

Thank you for your fast intervention

patric

@yatsukhnenko yatsukhnenko added a commit to yatsukhnenko/phpredis that referenced this issue Dec 2, 2016
@yatsukhnenko yatsukhnenko #9 e112d98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment