Re: pg_verifybackup: TAR format backup verification
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Amul Sul <sulamul@gmail.com>
Cc: Sravan Kumar <sravanvcybage@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2024-08-07T15:42:02Z
Lists: pgsql-hackers
[ I committed 0001, then noticed I had a type in the subject line of the commit message. Argh. ] On Wed, Aug 7, 2024 at 9:41 AM Amul Sul <sulamul@gmail.com> wrote: > With the patch, I am concerned that we won't be able to give an > accurate progress report as before. We add all the file sizes in the > backup manifest to the total_size without checking if they exist on > disk. Therefore, sometimes the reported progress completion might not > show 100% when we encounter files where m->bad or m->match == false at > a later stage. However, I think this should be acceptable since there > will be an error for the respective missing or bad file, and it can be > understood that verification is complete even if the progress isn't > 100% in that case. Thoughts/Comments? When somebody says that something is a refactoring commit, my assumption is that there should be no behavior change. If the behavior is changing, it's not purely a refactoring, and it shouldn't be labelled as a refactoring (or at least there should be a prominent disclaimer identifying whatever behavior has changed, if a small change was deemed acceptable and unavoidable). I am very reluctant to accept a functional regression of the type that you describe here (or the type that I postulated might occur, even if I was wrong and it doesn't). The point here is that we're trying to reuse the code, and I support that goal, because code reuse is good. But it's not such a good thing that we should do it if it has negative consequences. We should either figure out some other way of refactoring it that doesn't have those negative side-effects, or we should leave the existing code alone and have separate code for the new stuff we want to do. I do realize that the type of side effect you describe here is quite minor. I could live with it if it were unavoidable. But I really don't see why we can't avoid it. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
-
Adjust json_manifest_per_file_callback API in one more place.
- 554d3a18f362 18.0 landed
-
File size in a backup manifest should use uint64, not size_t.
- d94cf5ca7fad 18.0 landed
-
Fix some pg_verifybackup issues reported by Coverity.
- fc1b2ce0ee9c 18.0 landed
-
pg_verifybackup: Move some declarations to new pg_verifybackup.h
- aa2d6b15d6d6 18.0 landed
-
pg_verifybackup: Move skip_checksums into verifier_context.
- af99d44a889f 18.0 landed
-
Improve file header comments for astramer code.
- 22b4a1b561f8 18.0 landed
-
Move astreamer (except astreamer_inject) to fe_utils.
- f80b09bac87d 18.0 landed
-
Move recovery injector astreamer to a separate header file.
- 53b2c921a0f9 18.0 landed
-
Rename bbstreamer to astreamer.
- 3c905698114d 18.0 landed