When performing a base backup, check for read errors.
Robert Haas <rhaas@postgresql.org>
When performing a base backup, check for read errors. The old code didn't differentiate between a read error and a concurrent truncation. fread reports both of these by returning 0; you have to use feof() or ferror() to distinguish between them, which this code did not do. It might be a better idea to use read() rather than fread() here, so that we can display a less-generic error message, but I'm not sure that would qualify as a back-patchable bug fix, so just do this much for now. Jeevan Chalke, reviewed by Jeevan Ladhe and by me. Discussion: http://postgr.es/m/CA+TgmobG4ywMzL5oQq2a8YKp8x2p3p1LOMMcGqpS7aekT9+ETA@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/replication/basebackup.c | modified | +16 −0 |
Discussion
- basebackup.c's sendFile() ignores read errors 8 messages · 2019-08-27 → 2019-09-06