[pgpool-general: 3648] Re: Error in pgpool memory cache invalidation.
Dhananjay Balan
dhananjay at plivo.com
Wed Apr 22 17:26:16 JST 2015
Looks like only part of this email ended up in the mailing list , not
sure how. Resending again - hope it works this time.
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
DHANANJAY | Infrastructure Engineer
Plivo, Inc. 340 Pine St, San Francisco - 94104, USA
Web: www.plivo.com | Twitter: @plivo, @notmycommit
Free Incoming SMS for All US Short Codes – Get One Today!
On Tue, Apr 21, 2015 at 12:33 PM, Dhananjay Balan <dhananjay at plivo.com> wrote:
> 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