[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