Re: Reviewing freeze map code
От | Masahiko Sawada |
---|---|
Тема | Re: Reviewing freeze map code |
Дата | |
Msg-id | CAD21AoB4qeuCS=GeT3brf_fwcgMj+G0vKJvKqEsH1EzU699Fag@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Reviewing freeze map code (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Reviewing freeze map code
|
Список | pgsql-hackers |
On Thu, Jun 30, 2016 at 3:12 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: > On Thu, Jun 30, 2016 at 9:13 AM, Andres Freund <andres@anarazel.de> wrote: >> On 2016-06-30 08:59:16 +0530, Amit Kapila wrote: >>> On Wed, Jun 29, 2016 at 10:30 PM, Andres Freund <andres@anarazel.de> wrote: >>> > On 2016-06-29 19:04:31 +0530, Amit Kapila wrote: >>> >> There is nothing in this record which recorded the information about >>> >> visibility clear flag. >>> > >>> > I think we can actually defer the clearing to the lock release? >>> >>> How about the case if after we release the lock on page, the heap page >>> gets flushed, but not vm and then server crashes? >> >> In the released branches there's no need to clear all visible at that >> point. Note how heap_lock_tuple doesn't clear it at all. So we should be >> fine there, and that's the part where reusing an existing record is >> important (for compatibility). >> > > For back branches, I agree that heap_lock_tuple is sufficient, Even if we use heap_lock_tuple, If server crashed after flushed heap but not vm, after crash recovery the heap is still marked all-visible on vm. This case could be happen even on released branched, and could make IndexOnlyScan returns wrong result? Regards, -- Masahiko Sawada
В списке pgsql-hackers по дате отправления: