RE: Notice in logg file - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject RE: Notice in logg file
Date
Msg-id 000401bfb974$7d03a900$2801007e@tpf.co.jp
Whole thread Raw
List pgsql-hackers
> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> 
> "Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> >>>> Apr 28 03:06:05 ziutek logger: NOTICE:  Index 
> >>>> tb_klienci_id_klienci_key: NUMBER OF INDEX' TUPLES (10652) 
> >>>> IS NOT THE SAME AS HEAP' (10634)
> >> 
> >> This can happen if there are other transactions open while the VACUUM
> >> runs. 
> 
> > Really ?
> > If I remember correctly,your sample cases have CREATE INDEX
> > and NUMBER OF INDEX TUPLES was not greater than HEAP.
> 
> Hmm, good point --- maybe this is something different.
>

As to this INDEX TUPLES > HEAP phenomenon in VACUUM.

The delay of WriteBuffer(cur_buffer) in vc_repair_frag() of
VACUUM may be one of the cause. cur_buffer is a buffer page
where new MOVED_IN tuples are inserted. It is dirtied when
another cur_buffer page is needed or tuple moving was finished.
OTOH newly inserted index tuples are dirtied immediately.
If VACUUM crashes before the cur_buffer is dirtied,the buffer
may be discarded without writing to disk. This may result that
some index tuples would point to UNUSED blocks.
Though it isn't a problem at the moment,updation of tuples
of the page would replace UNUSED blocks.

I'm not sure my guess is right or not.

Comments ? 

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp


pgsql-hackers by date:

Previous
From: Lamar Owen
Date:
Subject: Re: USE_SYSLOG ... useless? :)
Next
From: Thomas Lockhart
Date:
Subject: Re: 7.0 key features