summaryrefslogtreecommitdiff
path: root/src/include/postgres.h
diff options
context:
space:
mode:
authorMichael Paquier2012-05-24 08:32:56 +0000
committerMichael Paquier2012-05-24 08:41:12 +0000
commit39330d67e4c6a6a3ce8fe3abea1d60ca645ed1ff (patch)
tree9683460755e55fe7fcf85ad5d296546bb948d7b6 /src/include/postgres.h
parente1df051ccd64fa9eee5562f8a64be7007003120d (diff)
Fix for bug 3525691: autovacuum process issue
This commit fixes 2 issues: 1) On Coordinator, autovacuum processes were using local snapshots while it needs to fetch global snapshot data from GTM. This made several PostgreSQL internal processes going mad with visibility like statistics or catalogs in an environment using a lot of DDL. 2) On Datanodes, autovacuum non-analyze processes did not fetch a global transaction ID from GTM and this transaction ID was not included in global snapshot. Hence, global data consistency and visibility was compromised on local nodes. This issue made autovacuum and pg_toast going crazy if the system was put under heavy load (transaction timeout occuring). It is believed that this bug is here since Postgres-XC 0.9.4, far before the code was merged with PostgreSQL 9.1, and was causing numerous issues with long and short-time runs. For a reason I do not completely understand, this bug has become really easy to reproduce since some race conditions in pg_toast code (tuptoaster.c) have been fixed by Tom Lane in 9.1 stable.
Diffstat (limited to 'src/include/postgres.h')
0 files changed, 0 insertions, 0 deletions