Skip to content
Snippets Groups Projects
Commit 1bb69245 authored by Magnus Hagander's avatar Magnus Hagander
Browse files

Adjust total size in pg_basebackup progress report when reality changes

When streaming including WAL, the size estimate will always be incorrect,
since we don't know how much WAL is included. To make sure the output doesn't
look completely unreasonable, this patch increases the total size whenever we
go past the estimate, to make sure we never go above 100%.
parent 2877c67b
Branches
Tags
No related merge requests found
...@@ -207,8 +207,17 @@ progress_report(int tablespacenum, const char *filename) ...@@ -207,8 +207,17 @@ progress_report(int tablespacenum, const char *filename)
char totaldone_str[32]; char totaldone_str[32];
char totalsize_str[32]; char totalsize_str[32];
/*
* Avoid overflowing past 100% or the full size. This may make the
* total size number change as we approach the end of the backup
* (the estimate will always be wrong if WAL is included), but
* that's better than having the done column be bigger than the
* total.
*/
if (percent > 100) if (percent > 100)
percent = 100; percent = 100;
if (totaldone / 1024 > totalsize)
totalsize = totaldone / 1024;
/* /*
* Separate step to keep platform-dependent format code out of translatable * Separate step to keep platform-dependent format code out of translatable
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment