Avoid fragmentation of logical tapes when writing concurrently.

Jeff Davis <jdavis@postgresql.org>

Commit: 896ddf9b3cd7dcf70e43f733ae8fec5dfe6e31af
Author: Jeff Davis <jdavis@postgresql.org>
Date: 2020-05-26T23:49:43Z
Releases: 13.0
Avoid fragmentation of logical tapes when writing concurrently.

Disk-based HashAgg relies on writing to multiple tapes
concurrently. Avoid fragmentation of the tapes' blocks by
preallocating many blocks for a tape at once. No file operations are
performed during preallocation; only the block numbers are reserved.

Reviewed-by: Tomas Vondra
Discussion: https://postgr.es/m/20200519151202.u2p2gpiawoaznsv2%40development

Files

PathChange+/−
src/backend/utils/sort/logtape.c modified +77 −3

Discussion