[pgpool-general: 3643] Error in pgpool memory cache invalidation.

Dhananjay Balan dhananjay at plivo.com
Tue Apr 21 16:03:55 JST 2015


pgpool doesn't seem to be invalidating caches properly. See the
example test case below

psql -U ruser -d mydb -h 127.0.0.1 -p 9999
Password for user ruser:
psql (9.4.1)
Type "help" for help.

mydb=> select comments from users where id=1;
 comments
----------
 boooo
(1 row)

# comes from cache
mydb=> select comments from users where id=1;
 comments
----------
 boooo
(1 row)

# works
mydb=> update users set comments='hello' where id=1;
UPDATE 1
mydb=> select comments from users where id=1;
 comments
----------
 hello
(1 row)

# stale
mydb=> update users set comments='hello world' where id=1;
UPDATE 1
mydb=> select comments from users where id=1;
 comments
----------
 hello
(1 row)

# also stale
mydb=> update users set comments='booo' where id=1;
UPDATE 1
mydb=> select comments from users where id=1;
 comments
----------
 hello
(1 row)


>From the second write onwards, the cache is not invalidated and stale
value is being served. Is it a bug or am I doing something wrong? This
happens with both cache backends (memcache and shmem but test logs are
from memcache backend)

Test setup is postgresql-9.4 and memcached 1.4.21 and pgpool-3.4.2. my
configs and logs from test are here

https://gist.github.com/dbalan/d635993a3e532a083751

Regards,
--------
DHANANJAY | Infrastructure Engineer
Plivo, Inc. 340 Pine St, San Francisco - 94104, USA
Web: www.plivo.com | Twitter: @plivo, @notmycommit



More information about the pgpool-general mailing list