Re: Avoid erroring out when unable to remove or parse logical rewrite files to save checkpoint work
| От | Nathan Bossart |
|---|---|
| Тема | Re: Avoid erroring out when unable to remove or parse logical rewrite files to save checkpoint work |
| Дата | |
| Msg-id | 20220816203233.GA255076@nathanxps13 обсуждение исходный текст |
| Ответ на | Re: Avoid erroring out when unable to remove or parse logical rewrite files to save checkpoint work (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>) |
| Ответы |
Re: Avoid erroring out when unable to remove or parse logical rewrite files to save checkpoint work
|
| Список | pgsql-hackers |
On Wed, Aug 10, 2022 at 03:28:25PM +0530, Bharath Rupireddy wrote: > snprintf(path, sizeof(path), "pg_logical/mappings/%s", mapping_de->d_name); > - if (lstat(path, &statbuf) == 0 && !S_ISREG(statbuf.st_mode)) > + if (get_dirent_type(path, mapping_de, false, LOG) != PGFILETYPE_REG) > continue; Previously, failure to lstat() wouldn't lead to skipping the entry. With this patch, a failure to determine the file type will cause the entry to be skipped. This might be okay in some places (e.g., CheckPointSnapBuild()) but not in others. For example, in CheckPointLogicalRewriteHeap(), this could cause us to skip fsync-ing a file due to a get_dirent_type() failure, which seems bad. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: