Handle lack of DSM slots in parallel btree build.

Thomas Munro <tmunro@postgresql.org>

Commit: 74618e77b43cfce670b4725d5b9a300a2afd12d1
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2020-01-30T21:25:34Z
Releases: 13.0
Handle lack of DSM slots in parallel btree build.

If no DSM slots are available, a ParallelContext can still be
created, but its seg pointer is NULL.  Teach parallel btree build
to cope with that by falling back to a regular non-parallel build,
to avoid crashing with a segmentation fault.

Back-patch to 11, where parallel CREATE INDEX landed.

Reported-by: Nicola Contu
Reviewed-by: Peter Geoghegan
Discussion: https://postgr.es/m/CA%2BhUKGJgJEBnkuODBVomyK3MWFvDBbMVj%3Dgdt6DnRPU-5sQ6UQ%40mail.gmail.com

Files

PathChange+/−
src/backend/access/nbtree/nbtsort.c modified +9 −0

Discussion