Re: Parallel index creation does not properly cleanup after error

2018-04-06 Thread David Rowley
On 7 April 2018 at 11:39, Robert Haas wrote: > Committed. Thanks to David for the report and analysis and to Peter > for the patch and study. Thanks for pushing! -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support,

Re: Parallel index creation does not properly cleanup after error

2018-04-06 Thread Peter Geoghegan
On Fri, Apr 6, 2018 at 4:39 PM, Robert Haas wrote: > Committed. Thanks to David for the report and analysis and to Peter > for the patch and study. Thanks! -- Peter Geoghegan

Re: Parallel index creation does not properly cleanup after error

2018-03-14 Thread Peter Geoghegan
On Wed, Mar 14, 2018 at 5:16 AM, David Rowley wrote: > Thanks for putting the patch together. Although in regards to your > proposed commit message in the patch, I'd disagree with me having just > reported it. I also investigated it and suggested a fix, which happens

Re: Parallel index creation does not properly cleanup after error

2018-03-14 Thread David Rowley
On 12 March 2018 at 08:41, Peter Geoghegan wrote: > On Sun, Mar 11, 2018 at 3:22 AM, David Rowley >> A perhaps simple fix would be just to have ResetReindexPending() only >> reset the list to NIL again and not try to raise any error. > > I noticed a very similar bug in

Re: Parallel index creation does not properly cleanup after error

2018-03-11 Thread Peter Geoghegan
On Sun, Mar 11, 2018 at 3:22 AM, David Rowley wrote: > Due to the failure during the index build, it appears that the > PG_TRY/PG_CATCH block in reindex_relation() causes the reindex_index() > to abort and jump out to the catch block. Here there's a call to >

Parallel index creation does not properly cleanup after error

2018-03-11 Thread David Rowley
Hi, I've just stumbled on a bug in the parallel reindexing code. Example: -- force parallel index creation set parallel_tuple_cost = 0; set parallel_setup_cost = 0; set min_parallel_table_scan_size = '0MB'; set min_parallel_index_scan_size = '0kB'; -- example (from the regression tests) CREATE