Handle lack of DSM slots in parallel btree build.
authorThomas Munro
Thu, 30 Jan 2020 21:25:34 +0000 (10:25 +1300)
committerThomas Munro
Thu, 30 Jan 2020 22:12:21 +0000 (11:12 +1300)
commit2c56b3ac436db2d24aa11bdd22f45becf2030607
tree8ff6f920b41483110cc07e15dd52a7d864a3e055
parenta5b652f3a0110f81d2433855ab6bec136f92db83
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
src/backend/access/nbtree/nbtsort.c