Re: group locking: incomplete patch, just for discussion
От | Amit Kapila |
---|---|
Тема | Re: group locking: incomplete patch, just for discussion |
Дата | |
Msg-id | CAA4eK1+kwGSLeA2188zM2_QE4yJssTx8nd9OGa7ypJjYeuQo0w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: group locking: incomplete patch, just for discussion (Simon Riggs <simon@2ndQuadrant.com>) |
Ответы |
Re: group locking: incomplete patch, just for discussion
|
Список | pgsql-hackers |
On Wed, Oct 29, 2014 at 2:18 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>
> My proposal is we do a parallel index build scan... just as we
> discussed earlier, so you would be following the direction set by Dev
> Meeting, not just a proposal of mine.
>
> As I mentioned previously when you started discussing shared memory
> segments, parallel sort does NOT require shared memory. The only thing
> you need to share are files. Split the problem into N pieces, sort
> them to produce N files and then merge the files using existing code.
> That only applies to large sorts, but then those are the ones you
> cared about doing in parallel anyway.
>
> CREATE INDEX has a lock on the table. Worker tasks can be simply
> banned from acquiring new locks and doing many other tasks.
>
> My proposal is we do a parallel index build scan... just as we
> discussed earlier, so you would be following the direction set by Dev
> Meeting, not just a proposal of mine.
>
> As I mentioned previously when you started discussing shared memory
> segments, parallel sort does NOT require shared memory. The only thing
> you need to share are files. Split the problem into N pieces, sort
> them to produce N files and then merge the files using existing code.
> That only applies to large sorts, but then those are the ones you
> cared about doing in parallel anyway.
>
> CREATE INDEX has a lock on the table. Worker tasks can be simply
> banned from acquiring new locks and doing many other tasks.
Banning worker tasks from taking locks is only possible if the
worker backend doesn't need to acquire any lock which is not
already acquired by main backend, but can we safely assume
the same? One example as taken by Robert upthread about
bttextcmp() can break that assumption.
В списке pgsql-hackers по дате отправления: