Re: [PATCH] Unremovable tuple monitoring

Поиск
Список
Период
Сортировка
От Royce Ausburn
Тема Re: [PATCH] Unremovable tuple monitoring
Дата
Msg-id 163618BC-2922-46A3-B18D-A3D1BC0DC7E7@inomial.com
обсуждение исходный текст
Ответ на Re: [PATCH] Unremovable tuple monitoring  (Yeb Havinga <yebhavinga@gmail.com>)
Список pgsql-hackers
On 16/11/2011, at 2:05 AM, Yeb Havinga wrote:

> On 2011-10-05 00:45, Royce Ausburn wrote:
>> Attached is v2 of my patch that doesn't update CATALOG_VERSION_NO.  I've also fixed the name of an argument to
pgstat_report_vacuumwhich I don't think was particularly good, and I've replace the word "tuple" with "row" in some
docsI added for consistency. 
>>
>
> I reviewed your patch. I think it is in good shape, my two main remarks (name of n_unremovable_tup and a remark about
documentationat the end of this review) are highly subjective and I wouldn't spend time on it unless other people have
thesame opinion. 
>
> Remarks:
>
> * rules regression test fails because pg_stat_all_tables is changed, pg_stat_sys_tables and pg_stat_user_tables as
well,but the new expected/rules.out is not part of the patch. 

Doh!  Thank you for spotting this.  Should we decide to continue this patch I'll look in to fixing this.

>
> * I'm not sure about the name n_unremovable_tup, since it doesn't convey it is about dead tuples and judging from
onlythe name it might as well include the live tuples. It also doesn't hint that it is a transient condition, which
vacuumverbose does with the word 'yet'. 
> What about n_locked_dead_tup? - this contains both information that it is about dead tuples, and the lock suggests
thatonce the lock is removed, the dead tuple can be removed. 
>

Looks like we have some decent candidates later in the thread.  Should this patch survive I'll look at updating it.

> * The number shows correctly in the pg_stat_relation. This is a testcase that gives unremovable dead rows:
>
> I was puzzled for a while that n_unremovable_tup >= n_dead_tup doesn't hold, after all, the unremovable tuples are
deadas well. Neither the current documentation nor the documentation added by the patch do help in explaining the
meaningof n_dead_tup and n_unremovable_tup, which may be clear to seasoned vacuum hackers, but not to me. In both the
caseof n_dead_tup it would have been nice if the docs mentioned that dead tuples are tuples that are deleted or
previousversions of updated tuples, and that only analyze updates n_dead_tup (since vacuum cleans them), in contrast
withn_unremovable_tup that gets updated by vacuum. Giving an example of how unremovable dead tuples can be caused would
IMHOalso help understanding. 

Fair enough!  I'll review this as well.

Thanks again!

--Royce

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: ISN was: Core Extensions relocation
Следующее
От: Royce Ausburn
Дата:
Сообщение: Re: [PATCH] Unremovable tuple monitoring