I am using the redis integration plugin for Varnish called libvmod-redis . I see a problem when, if I get a large number of simultaneous requests, about 350, redis starts the countdown, and I end up with segfault in Varnish.
I get the following errors:
varnishd[27892]: Child (27893) said redis error (connect): Connection timed out varnishd[27892]: Child (27893) said redis error (command): err=1 errstr=Connection timed out varnishd[19528]: Child (19529) said redis error (command): err=1 errstr=select(2): Invalid argument varnishd[19528]: Child (19529) said redis error (command): err=1 errstr=Connection timed out varnishd[19528]: last message repeated 9 times varnishd[19528]: Child (19529) said redis error (command): err=1 errstr=select(2): Invalid argument varnishd[19528]: Child (19529) said redis error (connect): fcntl(F_GETFL): Bad file descriptor varnishd[19528]: Child (19529) said redis error (command): err=1 errstr=fcntl(F_GETFL): Bad file descriptor kernel: [282284.005658] varnishd[19727] general protection ip:7f1f9dea1427 sp:7f1f4123c120 error:0 in libhiredis.so.0.10[7f1f9de9f000+9000]
My timeout is 1 second and I am using ElastiCache node for Redis. I wonder what exactly may be unsuccessful here. I am not an expert in C, so I feel that something is missing.
source share