diff options
| author | Michael P | 2011-07-14 04:56:00 +0000 |
|---|---|---|
| committer | Michael P | 2011-07-14 04:56:00 +0000 |
| commit | fb2a3a864dee367f2cfe76a3a4fff5e02cb94fc1 (patch) | |
| tree | ca7f3807510fde2895da757f3bf72986fd009f6e /src/gtm | |
| parent | f0f4ae5fddf646b1a41dd4d512fccdf9c9587254 (diff) | |
Performance issue with snapshot processing
This commit solves an issue with snapshot processing in the case
where cluster was used under multiple Coordinators.
When a Coordinator/Coordinator connection was initialized,
backend coordinator initialized a transaction to GTM that was never
committed. A consequence of that was Snapshot xmin that remained
to a constant value. Another consequence was recent global Xmin
value set to a lower value, making autovacuum having absolutely no effects.
This fix improves performance of the whole cluster by making autovacuum
remove correctly old tuples for long-period runs.
Diffstat (limited to 'src/gtm')
| -rw-r--r-- | src/gtm/main/gtm_txn.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gtm/main/gtm_txn.c b/src/gtm/main/gtm_txn.c index 7d13076486..37b40a68e3 100644 --- a/src/gtm/main/gtm_txn.c +++ b/src/gtm/main/gtm_txn.c @@ -1363,7 +1363,7 @@ ProcessCommitTransactionCommand(Port *myport, StringInfo message) pq_getmsgend(message); oldContext = MemoryContextSwitchTo(TopMemoryContext); - + elog(LOG, "Committing transaction id %u", gxid); /* @@ -1455,6 +1455,8 @@ ProcessCommitPreparedTransactionCommand(Port *myport, StringInfo message) oldContext = MemoryContextSwitchTo(TopMemoryContext); + elog(LOG, "Committing: prepared id %u and commit prepared id %u ", gxid[0], gxid[1]); + /* * Commit the prepared transaction. */ |
