RE: [HACKERS] vacuum of permanently updating database - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject RE: [HACKERS] vacuum of permanently updating database
Date
Msg-id 000801bf18fb$9be99e20$2801007e@cadzone.tpf.co.jp
Whole thread Raw
In response to RE: [HACKERS] vacuum of permanently updating database  (Oleg Bartunov <oleg@sai.msu.su>)
List pgsql-hackers
> -----Original Message-----
> From: Oleg Bartunov [mailto:oleg@sai.msu.su]
> Sent: Saturday, October 16, 1999 11:27 PM
> To: Hiroshi Inoue
> Cc: hackers@postgreSQL.org
> Subject: RE: [HACKERS] vacuum of permanently updating database 
> 
> 
> Hiroshi,
> 
> thank you for the message. I'll try current tree but if
> it's a bug (probable ?) why don't try to fix it for 6.5.3 ?
>

Yes it's a bug.
But as for the 1st bug,it requires a lot of changes to fix.
Seems Bruce and Tom have thought that it's dangerous
to apply them to REL6_5.

As for the 2nd bug,it is fixed easily by the following patch.
If there's no objection,I would commit it into REL6_5.

[snip] 

> > 
> > Could you try the current tree ?
> > 
> > As far as I see,there are 2 possibilities.
> > 
> > 1. Relation cache invalidation mechanism is much improved
> >     by Tom in the current tree.
> >     In your case,index tuples may be inserted into invalid index
> >     relation and vanish.
> > 
> > 2. If vacuum aborts after the internal commit,the transaction
> >     status is changed to be ABORT. This causes inconsistency.
> >     I have changed not to do so in the current tree.
> > 

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp

*** xact.c    1999/09/10 07:57:08    1.4
--- xact.c    1999/09/10 08:25:15
***************
*** 736,742 ****      * this transaction id in the pg_log relation. We skip it      * if no one shared buffer was
changedby this transaction.      */
 
!     if (SharedBufferChanged)         TransactionIdAbort(xid);      ResetBufferPool();
--- 736,742 ----      * this transaction id in the pg_log relation. We skip it      * if no one shared buffer was
changedby this transaction.      */
 
!     if (SharedBufferChanged && !TransactionIdDidCommit(xid))         TransactionIdAbort(xid);
ResetBufferPool();



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] mdnblocks is an amazing time sink in huge relations
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] don't know whether nodes of type 719 are equal