View Issue Details

IDProjectCategoryView StatusLast Update
0000080Pgpool-IIBugpublic2013-11-09 08:06
ReporterjamessewellAssigned Tot-ishii 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionopen 
Platformx86_64OSUbuntuOS Version12.04.3
Product Version 
Target VersionFixed in Version 
Summary0000080: memqcache_auto_cache_invalidation is unsettable
DescriptionInstalled pgpool-II version 3.3.1 (tokakiboshi)from PGDG.

When using the following config:

memqcache_method = 'shmem'
memqcache_auto_cache_invalidation = on
memory_cache_enabled = on

memqcache_auto_cache_invalidation is not set as shown:

show pool_status;
<snip>
memqcache_auto_cache_invalidation | 0

If I test the functionality with a SELECT, then an UPDATE, then a SELECT then I see that cache invalidation is not happening.

Cheers,
James



                            
Steps To Reproduce1. Install
2. SHOW pool_status
3. Observe incorrect value for memqcache_auto_cache_invalidation
TagsNo tags attached.

Activities

t-ishii

2013-11-03 17:58

developer   ~0000351

It seems SHOW pool_status did not show the correct value of memqcache_auto_cache_invalidation. It always showed the value as 0, however pgpool actually recognizes the value correctly and the functionality has worked. How do you find auto cache invalidation is not working?

jamessewell

2013-11-04 08:05

reporter   ~0000354

SELECT a from t; -- Result 1
UPDATE t set a = 2;
SELECT a from t; -- Result 1
SELECT a,b from t; -- Result 2

I will retest to ensure I can still observe this result.

t-ishii

2013-11-04 09:34

developer   ~0000355

Works for me.

test=# create table t(a int,b int);
CREATE TABLE
test=# select a from t;
 a
---
(0 rows)

test=# insert into t values(1,2);
INSERT 0 1
test=# select a from t;
 a
---
 1
(1 row)

test=# update t set a = 2;
UPDATE 1
test=# select a from t;
 a
---
 2
(1 row)

test=# select a,b from t;
 a | b
---+---
 2 | 2
(1 row)

jamessewell

2013-11-06 12:20

reporter   ~0000357

I am happy to open a new case for this, it seems that the problem is to do with schemas. It looks like it's pretty sick though!

I can cause an error given the following configuration:

memcache_expire = 0
memcache_auto_cache_invalidation = on

And running the following tests:

SHOW search_path;
  search_path
----------------
 "$user",public
SELECT a from t;
a
---
 1
 3
SELECT a from public.t;
a
---
 1
 3
SELECT a from jill.t;
a
---
 1
 3
UPDATE t SET a=2;
UPDATE jill.t SET a=2;
SELECT a from t;
a
---
 2
 2
SELECT a from public.t;
a
---
 1
 3
SELECT a from jill.t;
a
---
 1
 3
SELECT * from t;
a
---
 2
 2
SELECT * from public.t;
a
---
 2
 2
SELECT * from jill.t;
a
---
 2
 2
UPDATE t SET a=3;
SET search_path = jill;
SELECT a from t;
a
---
 2
 2
SELECT a from public.t;
a
---
 1
 3
SELECT a from jill.t;
a
---
 1
 3
SELECT * from t;
a
---
 2
 2
SELECT * from public.t;
a
---
 2
 2
SELECT * from jill.t;
a
---
 2
 2

t-ishii

2013-11-06 14:50

developer   ~0000358

Seems the case of FAQ 1.27:
http://www.pgpool.net/mediawiki/index.php/FAQ#When_I_use_schema_qualified_table_names.2C_pgpool-II_does_not_invalidate_on_memory_query_cache_and_I_got_outdated_data._Why.3F

jamessewell

2013-11-06 14:53

reporter   ~0000359

Last edited: 2013-11-06 14:58

View 2 revisions

My apologies!

Can I request that the need for this is made a bit clearer for those installing from PGDG / other repo sources?

I didn't notice it as I skipped the building from source section. My fault, but could be avoided!

Cheers,
James

t-ishii

2013-11-09 08:05

developer   ~0000365

I think you can easily install it from the pgpool-II source code.

download pgpool-II-3.3.1.tar.gz
unpack it by tar xfz pgpool-II-3.3.1.tar.g
cd pgpool-II-3.3.1/sql/pgpool-regclass
make
make install (might require root privilege)

$ psql template1
=# CREATE EXTENSION pgpool_regclass;

In addition to above, if you already create databases, you need to CREATE EXTENTION for those databases.

See http://www.pgpool.net/docs/latest/pgpool-en.html#install for more details.

Issue History

Date Modified Username Field Change
2013-10-29 14:35 jamessewell New Issue
2013-10-31 00:01 t-ishii Changeset attached => pgpool2 master a9af0e72
2013-11-03 17:58 t-ishii Note Added: 0000351
2013-11-03 17:58 t-ishii Assigned To => t-ishii
2013-11-03 17:58 t-ishii Status new => assigned
2013-11-03 17:59 t-ishii Status assigned => feedback
2013-11-04 08:05 jamessewell Note Added: 0000354
2013-11-04 08:05 jamessewell Status feedback => assigned
2013-11-04 09:34 t-ishii Note Added: 0000355
2013-11-04 09:35 t-ishii Status assigned => feedback
2013-11-06 12:20 jamessewell Note Added: 0000357
2013-11-06 12:20 jamessewell Status feedback => assigned
2013-11-06 14:50 t-ishii Note Added: 0000358
2013-11-06 14:51 t-ishii Status assigned => feedback
2013-11-06 14:53 jamessewell Note Added: 0000359
2013-11-06 14:53 jamessewell Status feedback => assigned
2013-11-06 14:58 jamessewell Note Edited: 0000359 View Revisions
2013-11-09 08:05 t-ishii Note Added: 0000365
2013-11-09 08:06 t-ishii Status assigned => resolved