Re: Bugs in CREATE/DROP INDEX CONCURRENTLY

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Bugs in CREATE/DROP INDEX CONCURRENTLY
Дата
Msg-id CA+U5nMJAKOgNrmWtReP0jA+zSwyCG2JT8530poZn-Y36C3VGiQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Bugs in CREATE/DROP INDEX CONCURRENTLY  (Simon Riggs <simon@2ndQuadrant.com>)
Список pgsql-hackers
On 18 October 2012 19:48, Simon Riggs <simon@2ndquadrant.com> wrote:
> On 18 October 2012 10:20, Andres Freund <andres@2ndquadrant.com> wrote:
>> On Thursday, October 18, 2012 06:12:02 AM Kevin Grittner wrote:
>>> Kevin Grittner wrote:
>>> > Hmm. The comment is probably better now, but I've been re-checking
>>> > the code, and I think my actual code change is completely wrong.
>>> > Give me a bit to sort this out.
>>>
>>> I'm having trouble seeing a way to make this work without rearranging
>>> the code for concurrent drop to get to a state where it has set
>>> indisvalid = false, made that visible to all processes, and ensured
>>> that all scans of the index are complete -- while indisready is still
>>> true. That is the point where TransferPredicateLocksToHeapRelation()
>>> could be safely called. Then we would need to set indisready = false,
>>> make that visible to all processes, and ensure that all access to the
>>> index is complete. I can't see where it works to set both flags at
>>> the same time. I want to sleep on it to see if I can come up with any
>>> other way, but right now that's the only way I'm seeing to make DROP
>>> INDEX CONCURRENTLY compatible with SERIALIZABLE transactions. :-(
>>
>> In a nearby bug I had to restructure the code that in a way thats similar to
>> this anyway, so that seems fine. Maybe you can fix the bug ontop of the two
>> attached patches?
>
> First patch and first test committed.
>
> Working on second patch/test.

I've applied the second patch as-is.

The second test shows it passes, but the nature of the bug is fairly
obscure, so having a specific test for dropping an already dropped
object is a little strange and so I've not applied that.

Thanks for fixes and tests.

Kevin, you're good to go on the SSI patch, or I'll apply next week if
you don't. Thanks for that.

-- Simon Riggs                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



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

Предыдущее
От: Kohei KaiGai
Дата:
Сообщение: Re: [v9.3] Row-Level Security
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Deprecating Hash Indexes