Avoid fragmentation of logical tapes when writing concurrently.
Jeff Davis <jdavis@postgresql.org>
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
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/sort/logtape.c | modified | +77 −3 |
Discussion
- Trouble with hashagg spill I/O pattern and costing 41 messages · 2020-05-19 → 2020-06-05